<?xml version="1.0"?> <!-- This file was automatically generated from C sources - DO NOT EDIT! To affect the contents of this file, edit the original C definitions, and/or use gtk-doc annotations. --> <repository version="1.2" xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:doc="http://www.gtk.org/introspection/doc/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0"> <include name="GObject" version="2.0"/> <include name="freetype2" version="2.0"/> <package name="harfbuzz"/> <package name="harfbuzz-gobject"/> <c:include name="hb-gobject.h"/> <doc:format name="unknown"/> <namespace name="HarfBuzz" version="0.0" shared-library="libharfbuzz-gobject.so.0,libharfbuzz.so.0" c:identifier-prefixes="hb_" c:symbol-prefixes="hb,hb_gobject"> <alias name="bool_t" c:type="hb_bool_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="88">Data type for booleans.</doc> <source-position filename="src/hb-common.h" line="94"/> <type name="gint" c:type="int"/> </alias> <alias name="codepoint_t" c:type="hb_codepoint_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="96">Data type for holding Unicode codepoints. Also used to hold glyph IDs.</doc> <source-position filename="src/hb-common.h" line="103"/> <type name="guint32" c:type="uint32_t"/> </alias> <alias name="color_t" c:type="hb_color_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="886">Data type for holding color values. Colors are eight bits per channel RGB plus alpha transparency.</doc> <source-position filename="src/hb-common.h" line="894"/> <type name="guint32" c:type="uint32_t"/> </alias> <alias name="font_get_font_h_extents_func_t" c:type="hb_font_get_font_h_extents_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="137">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the extents for a font, for horizontal-direction text segments. Extents must be returned in an #hb_glyph_extents output parameter.</doc> <source-position filename="src/hb-font.h" line="147"/> <type name="font_get_font_extents_func_t" c:type="hb_font_get_font_extents_func_t"/> </alias> <alias name="font_get_font_v_extents_func_t" c:type="hb_font_get_font_v_extents_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="149">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the extents for a font, for vertical-direction text segments. Extents must be returned in an #hb_glyph_extents output parameter.</doc> <source-position filename="src/hb-font.h" line="159"/> <type name="font_get_font_extents_func_t" c:type="hb_font_get_font_extents_func_t"/> </alias> <alias name="font_get_glyph_h_advance_func_t" c:type="hb_font_get_glyph_h_advance_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="254">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advance for a specified glyph, in horizontal-direction text segments. Advances must be returned in an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="264"/> <type name="font_get_glyph_advance_func_t" c:type="hb_font_get_glyph_advance_func_t"/> </alias> <alias name="font_get_glyph_h_advances_func_t" c:type="hb_font_get_glyph_h_advances_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="302">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advances for a sequence of glyphs, in horizontal-direction text segments.</doc> <source-position filename="src/hb-font.h" line="311"/> <type name="font_get_glyph_advances_func_t" c:type="hb_font_get_glyph_advances_func_t"/> </alias> <alias name="font_get_glyph_h_kerning_func_t" c:type="hb_font_get_glyph_h_kerning_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="386">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="395"/> <type name="font_get_glyph_kerning_func_t" c:type="hb_font_get_glyph_kerning_func_t"/> </alias> <alias name="font_get_glyph_h_origin_func_t" c:type="hb_font_get_glyph_h_origin_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="347">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in font units) of the origin for a glyph, for horizontal-direction text segments. Each coordinate must be returned in an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="357"/> <type name="font_get_glyph_origin_func_t" c:type="hb_font_get_glyph_origin_func_t"/> </alias> <alias name="font_get_glyph_v_advance_func_t" c:type="hb_font_get_glyph_v_advance_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="266">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advance for a specified glyph, in vertical-direction text segments. Advances must be returned in an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="276"/> <type name="font_get_glyph_advance_func_t" c:type="hb_font_get_glyph_advance_func_t"/> </alias> <alias name="font_get_glyph_v_advances_func_t" c:type="hb_font_get_glyph_v_advances_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="313">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advances for a sequence of glyphs, in vertical-direction text segments.</doc> <source-position filename="src/hb-font.h" line="322"/> <type name="font_get_glyph_advances_func_t" c:type="hb_font_get_glyph_advances_func_t"/> </alias> <alias name="font_get_glyph_v_kerning_func_t" c:type="hb_font_get_glyph_v_kerning_func_t"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="226">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the kerning-adjustment value for a glyph-pair in the specified font, for vertical text segments.</doc> <source-position filename="src/hb-deprecated.h" line="235"/> <type name="font_get_glyph_kerning_func_t" c:type="hb_font_get_glyph_kerning_func_t"/> </alias> <alias name="font_get_glyph_v_origin_func_t" c:type="hb_font_get_glyph_v_origin_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="359">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in font units) of the origin for a glyph, for vertical-direction text segments. Each coordinate must be returned in an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="369"/> <type name="font_get_glyph_origin_func_t" c:type="hb_font_get_glyph_origin_func_t"/> </alias> <alias name="mask_t" c:type="hb_mask_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="123">Data type for bitmasks.</doc> <source-position filename="src/hb-common.h" line="129"/> <type name="guint32" c:type="uint32_t"/> </alias> <alias name="ot_name_id_t" c:type="hb_ot_name_id_t"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="106">An integral type representing an OpenType 'name' table name identifier. There are predefined name IDs, as well as name IDs return from other API. These can be used to fetch name strings from a font face.</doc> <source-position filename="src/hb-ot-name.h" line="115"/> <type name="guint" c:type="unsigned int"/> </alias> <alias name="position_t" c:type="hb_position_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="114">Data type for holding a single coordinate value. Contour points and other multi-dimensional data are stored as tuples of #hb_position_t's.</doc> <source-position filename="src/hb-common.h" line="122"/> <type name="gint32" c:type="int32_t"/> </alias> <alias name="tag_t" c:type="hb_tag_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="153">Data type for tag identifiers. Tags are four byte integers, each byte representing a character. Tags are used to identify tables, design-variation axes, scripts, languages, font features, and baselines with human-readable names.</doc> <source-position filename="src/hb-common.h" line="164"/> <type name="guint32" c:type="uint32_t"/> </alias> <constant name="AAT_LAYOUT_NO_SELECTOR_INDEX" value="65535" c:type="HB_AAT_LAYOUT_NO_SELECTOR_INDEX"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="751">Used when getting or setting AAT feature selectors. Indicates that there is no selector index corresponding to the selector of interest.</doc> <source-position filename="src/hb-aat-layout.h" line="758"/> <type name="gint" c:type="gint"/> </constant> <constant name="BUFFER_REPLACEMENT_CODEPOINT_DEFAULT" value="65533" c:type="HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT" version="0.9.31"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="459">The default code point for replacing invalid characters in a given encoding. Set to U+FFFD REPLACEMENT CHARACTER.</doc> <source-position filename="src/hb-buffer.h" line="463"/> <type name="gint" c:type="gint"/> </constant> <constant name="CODEPOINT_INVALID" value="4294967295" c:type="HB_CODEPOINT_INVALID" version="8.0.0"> <doc xml:space="preserve" filename="src/hb-common.h" line="105">Unused #hb_codepoint_t value.</doc> <source-position filename="src/hb-common.h" line="112"/> <type name="codepoint_t" c:type="hb_codepoint_t"/> </constant> <function-macro name="COLOR" c:identifier="HB_COLOR" version="2.1.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="896">Constructs an #hb_color_t from four integers.</doc> <source-position filename="src/hb-common.h" line="907"/> <parameters> <parameter name="b"> <doc xml:space="preserve" filename="src/hb-common.h" line="898">blue channel value</doc> </parameter> <parameter name="g"> <doc xml:space="preserve" filename="src/hb-common.h" line="899">green channel value</doc> </parameter> <parameter name="r"> <doc xml:space="preserve" filename="src/hb-common.h" line="900">red channel value</doc> </parameter> <parameter name="a"> <doc xml:space="preserve" filename="src/hb-common.h" line="901">alpha channel value</doc> </parameter> </parameters> </function-macro> <function-macro name="DEPRECATED_FOR" c:identifier="HB_DEPRECATED_FOR" introspectable="0"> <source-position filename="src/hb-common.h" line="78"/> <parameters> <parameter name="f"> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_IS_BACKWARD" c:identifier="HB_DIRECTION_IS_BACKWARD" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="287">Tests whether a text direction moves backward (from right to left, or from bottom to top). Requires that the direction be valid.</doc> <source-position filename="src/hb-common.h" line="295"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="289">#hb_direction_t to test</doc> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_IS_FORWARD" c:identifier="HB_DIRECTION_IS_FORWARD" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="278">Tests whether a text direction moves forward (from left to right, or from top to bottom). Requires that the direction be valid.</doc> <source-position filename="src/hb-common.h" line="286"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="280">#hb_direction_t to test</doc> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_IS_HORIZONTAL" c:identifier="HB_DIRECTION_IS_HORIZONTAL" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="260">Tests whether a text direction is horizontal. Requires that the direction be valid.</doc> <source-position filename="src/hb-common.h" line="268"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="262">#hb_direction_t to test</doc> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_IS_VALID" c:identifier="HB_DIRECTION_IS_VALID" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="251">Tests whether a text direction is valid.</doc> <source-position filename="src/hb-common.h" line="258"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="253">#hb_direction_t to test</doc> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_IS_VERTICAL" c:identifier="HB_DIRECTION_IS_VERTICAL" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="269">Tests whether a text direction is vertical. Requires that the direction be valid.</doc> <source-position filename="src/hb-common.h" line="277"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="271">#hb_direction_t to test</doc> </parameter> </parameters> </function-macro> <function-macro name="DIRECTION_REVERSE" c:identifier="HB_DIRECTION_REVERSE" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="296">Reverses a text direction. Requires that the direction be valid.</doc> <source-position filename="src/hb-common.h" line="304"/> <parameters> <parameter name="dir"> <doc xml:space="preserve" filename="src/hb-common.h" line="298">#hb_direction_t to reverse</doc> </parameter> </parameters> </function-macro> <constant name="FEATURE_GLOBAL_START" value="0" c:type="HB_FEATURE_GLOBAL_START" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-common.h" line="812">Special setting for #hb_feature_t.start to apply the feature from the start of the buffer.</doc> <source-position filename="src/hb-common.h" line="820"/> <type name="gint" c:type="gint"/> </constant> <constant name="FONT_NO_VAR_NAMED_INSTANCE" value="4294967295" c:type="HB_FONT_NO_VAR_NAMED_INSTANCE" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="1133">Constant signifying that a font does not have any named-instance index set. This is the default of a font.</doc> <source-position filename="src/hb-font.h" line="1142"/> <type name="gint" c:type="gint"/> </constant> <constant name="LANGUAGE_INVALID" value="0" c:type="HB_LANGUAGE_INVALID" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-common.h" line="324">An unset #hb_language_t.</doc> <source-position filename="src/hb-common.h" line="331"/> <type name="language_t" c:type="hb_language_t"/> </constant> <constant name="OT_LAYOUT_DEFAULT_LANGUAGE_INDEX" value="65535" c:type="HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="200">Special value for language index indicating default or unsupported language.</doc> <source-position filename="src/hb-ot-layout.h" line="205"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_LAYOUT_NO_FEATURE_INDEX" value="65535" c:type="HB_OT_LAYOUT_NO_FEATURE_INDEX"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="194">Special value for feature index indicating unsupported feature.</doc> <source-position filename="src/hb-ot-layout.h" line="199"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_LAYOUT_NO_SCRIPT_INDEX" value="65535" c:type="HB_OT_LAYOUT_NO_SCRIPT_INDEX"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="188">Special value for script index indicating unsupported script.</doc> <source-position filename="src/hb-ot-layout.h" line="193"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_LAYOUT_NO_VARIATIONS_INDEX" value="4294967295" c:type="HB_OT_LAYOUT_NO_VARIATIONS_INDEX"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="206">Special value for variations index indicating unsupported variation.</doc> <source-position filename="src/hb-ot-layout.h" line="211"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_MAX_TAGS_PER_LANGUAGE" value="3" c:type="HB_OT_MAX_TAGS_PER_LANGUAGE" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="100">Maximum number of OpenType tags that can correspond to a give #hb_language_t.</doc> <source-position filename="src/hb-ot-layout.h" line="107"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_MAX_TAGS_PER_SCRIPT" value="3" c:type="HB_OT_MAX_TAGS_PER_SCRIPT" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="92">Maximum number of OpenType tags that can correspond to a give #hb_script_t.</doc> <source-position filename="src/hb-ot-layout.h" line="99"/> <type name="gint" c:type="gint"/> </constant> <constant name="OT_VAR_NO_AXIS_INDEX" value="4294967295" c:type="HB_OT_VAR_NO_AXIS_INDEX" version="1.4.2" deprecated="1" deprecated-version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="97">Do not use.</doc> <source-position filename="src/hb-ot-deprecated.h" line="105"/> <type name="gint" c:type="gint"/> </constant> <function-macro name="TAG" c:identifier="HB_TAG" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="166">Constructs an #hb_tag_t from four character literals.</doc> <source-position filename="src/hb-common.h" line="176"/> <parameters> <parameter name="c1"> <doc xml:space="preserve" filename="src/hb-common.h" line="168">1st character of the tag</doc> </parameter> <parameter name="c2"> <doc xml:space="preserve" filename="src/hb-common.h" line="169">2nd character of the tag</doc> </parameter> <parameter name="c3"> <doc xml:space="preserve" filename="src/hb-common.h" line="170">3rd character of the tag</doc> </parameter> <parameter name="c4"> <doc xml:space="preserve" filename="src/hb-common.h" line="171">4th character of the tag</doc> </parameter> </parameters> </function-macro> <constant name="UNICODE_COMBINING_CLASS_CCC133" value="133" c:type="HB_UNICODE_COMBINING_CLASS_CCC133" deprecated="1" deprecated-version="7.2.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="112">[Tibetan]</doc> <source-position filename="src/hb-deprecated.h" line="119"/> <type name="gint" c:type="gint"/> </constant> <constant name="UNICODE_MAX" value="1114111" c:type="HB_UNICODE_MAX" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="43">Maximum valid Unicode code point.</doc> <source-position filename="src/hb-unicode.h" line="50"/> <type name="gint" c:type="gint"/> </constant> <constant name="UNICODE_MAX_DECOMPOSITION_LEN" value="19" c:type="HB_UNICODE_MAX_DECOMPOSITION_LEN" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="192">See Unicode 6.1 for details on the maximum decomposition length.</doc> <source-position filename="src/hb-deprecated.h" line="199"/> <type name="gint" c:type="gint"/> </constant> <function-macro name="UNTAG" c:identifier="HB_UNTAG" version="0.6.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="178">Extracts four character literals from an #hb_tag_t.</doc> <source-position filename="src/hb-common.h" line="187"/> <parameters> <parameter name="tag"> <doc xml:space="preserve" filename="src/hb-common.h" line="180">an #hb_tag_t</doc> </parameter> </parameters> </function-macro> <function-macro name="VERSION_ATLEAST" c:identifier="HB_VERSION_ATLEAST" introspectable="0"> <source-position filename="src/hb-version.h" line="74"/> <parameters> <parameter name="major"> </parameter> <parameter name="minor"> </parameter> <parameter name="micro"> </parameter> </parameters> </function-macro> <constant name="VERSION_MAJOR" value="10" c:type="HB_VERSION_MAJOR"> <source-position filename="src/hb-version.h" line="44"/> <type name="gint" c:type="gint"/> </constant> <constant name="VERSION_MICRO" value="0" c:type="HB_VERSION_MICRO"> <source-position filename="src/hb-version.h" line="56"/> <type name="gint" c:type="gint"/> </constant> <constant name="VERSION_MINOR" value="2" c:type="HB_VERSION_MINOR"> <source-position filename="src/hb-version.h" line="50"/> <type name="gint" c:type="gint"/> </constant> <constant name="VERSION_STRING" value="10.2.0" c:type="HB_VERSION_STRING"> <source-position filename="src/hb-version.h" line="63"/> <type name="utf8" c:type="gchar*"/> </constant> <record name="aat_layout_feature_selector_info_t" c:type="hb_aat_layout_feature_selector_info_t"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="735">Structure representing a setting for an #hb_aat_layout_feature_type_t.</doc> <source-position filename="src/hb-aat-layout.h" line="749"/> <field name="name_id" writable="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="737">The selector's name identifier</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </field> <field name="enable" writable="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="738">The value to turn the selector on</doc> <type name="aat_layout_feature_selector_t" c:type="hb_aat_layout_feature_selector_t"/> </field> <field name="disable" writable="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="739">The value to turn the selector off</doc> <type name="aat_layout_feature_selector_t" c:type="hb_aat_layout_feature_selector_t"/> </field> <field name="reserved" readable="0" private="1"> <type name="guint" c:type="unsigned int"/> </field> </record> <enumeration name="aat_layout_feature_selector_t" version="2.2.0" glib:type-name="hb_aat_layout_feature_selector_t" glib:get-type="hb_gobject_aat_layout_feature_selector_get_type" c:type="hb_aat_layout_feature_selector_t"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="133">The selectors defined for specifying AAT feature settings.</doc> <member name="invalid" value="65535" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID" glib:nick="invalid" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVALID"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="135">Initial, unset feature selector</doc> </member> <member name="all_type_features_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON" glib:nick="all-type-features-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="136">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC</doc> </member> <member name="all_type_features_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF" glib:nick="all-type-features-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_TYPE_FEATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="137">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC</doc> </member> <member name="required_ligatures_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON" glib:nick="required-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="138">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="required_ligatures_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF" glib:nick="required-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REQUIRED_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="139">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="common_ligatures_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON" glib:nick="common-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="140">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="common_ligatures_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF" glib:nick="common-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMMON_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="141">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="rare_ligatures_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON" glib:nick="rare-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="142">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="rare_ligatures_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF" glib:nick="rare-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RARE_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="143">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="logos_on" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON" glib:nick="logos-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="144">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="logos_off" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF" glib:nick="logos-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOGOS_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="145">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="rebus_pictures_on" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON" glib:nick="rebus-pictures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="146">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="rebus_pictures_off" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF" glib:nick="rebus-pictures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_REBUS_PICTURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="147">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="diphthong_ligatures_on" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON" glib:nick="diphthong-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="148">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="diphthong_ligatures_off" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF" glib:nick="diphthong-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIPHTHONG_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="149">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="squared_ligatures_on" value="12" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON" glib:nick="squared-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="150">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="squared_ligatures_off" value="13" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF" glib:nick="squared-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SQUARED_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="151">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="abbrev_squared_ligatures_on" value="14" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON" glib:nick="abbrev-squared-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="152">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="abbrev_squared_ligatures_off" value="15" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF" glib:nick="abbrev-squared-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ABBREV_SQUARED_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="153">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="symbol_ligatures_on" value="16" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON" glib:nick="symbol-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="154">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="symbol_ligatures_off" value="17" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF" glib:nick="symbol-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SYMBOL_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="155">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="contextual_ligatures_on" value="18" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON" glib:nick="contextual-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="156">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="contextual_ligatures_off" value="19" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF" glib:nick="contextual-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="157">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="historical_ligatures_on" value="20" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON" glib:nick="historical-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="158">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="historical_ligatures_off" value="21" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF" glib:nick="historical-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HISTORICAL_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="159">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="unconnected" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED" glib:nick="unconnected" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UNCONNECTED"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="160">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="partially_connected" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED" glib:nick="partially-connected" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARTIALLY_CONNECTED"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="161">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="cursive" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE" glib:nick="cursive" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CURSIVE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="162">for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES</doc> </member> <member name="upper_and_lower_case" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE" glib:nick="upper-and-lower-case" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_AND_LOWER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="163">Deprecated</doc> </member> <member name="all_caps" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS" glib:nick="all-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="164">Deprecated</doc> </member> <member name="all_lower_case" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE" glib:nick="all-lower-case" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALL_LOWER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="165">Deprecated</doc> </member> <member name="small_caps" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS" glib:nick="small-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="166">Deprecated</doc> </member> <member name="initial_caps" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS" glib:nick="initial-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="167">Deprecated</doc> </member> <member name="initial_caps_and_small_caps" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS" glib:nick="initial-caps-and-small-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INITIAL_CAPS_AND_SMALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="168">Deprecated</doc> </member> <member name="substitute_vertical_forms_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON" glib:nick="substitute-vertical-forms-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="169">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION</doc> </member> <member name="substitute_vertical_forms_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF" glib:nick="substitute-vertical-forms-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUBSTITUTE_VERTICAL_FORMS_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="170">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION</doc> </member> <member name="linguistic_rearrangement_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON" glib:nick="linguistic-rearrangement-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="171">for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT</doc> </member> <member name="linguistic_rearrangement_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF" glib:nick="linguistic-rearrangement-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINGUISTIC_REARRANGEMENT_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="172">for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT</doc> </member> <member name="monospaced_numbers" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS" glib:nick="monospaced-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="173">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc> </member> <member name="proportional_numbers" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS" glib:nick="proportional-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="174">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc> </member> <member name="third_width_numbers" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS" glib:nick="third-width-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="175">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc> </member> <member name="quarter_width_numbers" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS" glib:nick="quarter-width-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="176">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING</doc> </member> <member name="word_initial_swashes_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON" glib:nick="word-initial-swashes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="177">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="word_initial_swashes_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF" glib:nick="word-initial-swashes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_INITIAL_SWASHES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="178">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="word_final_swashes_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON" glib:nick="word-final-swashes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="179">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="word_final_swashes_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF" glib:nick="word-final-swashes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_WORD_FINAL_SWASHES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="180">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="line_initial_swashes_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON" glib:nick="line-initial-swashes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="181">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="line_initial_swashes_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF" glib:nick="line-initial-swashes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_INITIAL_SWASHES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="182">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="line_final_swashes_on" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON" glib:nick="line-final-swashes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="183">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="line_final_swashes_off" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF" glib:nick="line-final-swashes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LINE_FINAL_SWASHES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="184">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="non_final_swashes_on" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON" glib:nick="non-final-swashes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="185">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="non_final_swashes_off" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF" glib:nick="non-final-swashes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NON_FINAL_SWASHES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="186">for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE</doc> </member> <member name="show_diacritics" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS" glib:nick="show-diacritics" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SHOW_DIACRITICS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="187">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc> </member> <member name="hide_diacritics" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS" glib:nick="hide-diacritics" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIDE_DIACRITICS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="188">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc> </member> <member name="decompose_diacritics" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS" glib:nick="decompose-diacritics" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECOMPOSE_DIACRITICS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="189">for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE</doc> </member> <member name="normal_position" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION" glib:nick="normal-position" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NORMAL_POSITION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="190">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc> </member> <member name="superiors" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS" glib:nick="superiors" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SUPERIORS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="191">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc> </member> <member name="inferiors" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS" glib:nick="inferiors" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INFERIORS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="192">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc> </member> <member name="ordinals" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS" glib:nick="ordinals" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ORDINALS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="193">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc> </member> <member name="scientific_inferiors" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS" glib:nick="scientific-inferiors" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SCIENTIFIC_INFERIORS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="194">for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION</doc> </member> <member name="no_fractions" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS" glib:nick="no-fractions" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_FRACTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="195">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc> </member> <member name="vertical_fractions" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS" glib:nick="vertical-fractions" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_VERTICAL_FRACTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="196">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc> </member> <member name="diagonal_fractions" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS" glib:nick="diagonal-fractions" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAGONAL_FRACTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="197">for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS</doc> </member> <member name="prevent_overlap_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON" glib:nick="prevent-overlap-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="198">for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE</doc> </member> <member name="prevent_overlap_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF" glib:nick="prevent-overlap-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PREVENT_OVERLAP_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="199">for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE</doc> </member> <member name="hyphens_to_em_dash_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON" glib:nick="hyphens-to-em-dash-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="200">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="hyphens_to_em_dash_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF" glib:nick="hyphens-to-em-dash-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHENS_TO_EM_DASH_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="201">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="hyphen_to_en_dash_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON" glib:nick="hyphen-to-en-dash-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="202">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="hyphen_to_en_dash_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF" glib:nick="hyphen-to-en-dash-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_EN_DASH_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="203">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="slashed_zero_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON" glib:nick="slashed-zero-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="204">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="slashed_zero_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF" glib:nick="slashed-zero-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASHED_ZERO_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="205">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="form_interrobang_on" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON" glib:nick="form-interrobang-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="206">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="form_interrobang_off" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF" glib:nick="form-interrobang-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FORM_INTERROBANG_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="207">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="smart_quotes_on" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON" glib:nick="smart-quotes-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="208">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="smart_quotes_off" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF" glib:nick="smart-quotes-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SMART_QUOTES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="209">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="periods_to_ellipsis_on" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON" glib:nick="periods-to-ellipsis-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="210">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="periods_to_ellipsis_off" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF" glib:nick="periods-to-ellipsis-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIODS_TO_ELLIPSIS_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="211">for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS</doc> </member> <member name="hyphen_to_minus_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON" glib:nick="hyphen-to-minus-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="212">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="hyphen_to_minus_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF" glib:nick="hyphen-to-minus-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HYPHEN_TO_MINUS_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="213">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="asterisk_to_multiply_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON" glib:nick="asterisk-to-multiply-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="214">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="asterisk_to_multiply_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF" glib:nick="asterisk-to-multiply-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ASTERISK_TO_MULTIPLY_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="215">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="slash_to_divide_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON" glib:nick="slash-to-divide-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="216">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="slash_to_divide_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF" glib:nick="slash-to-divide-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SLASH_TO_DIVIDE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="217">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="inequality_ligatures_on" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON" glib:nick="inequality-ligatures-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="218">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="inequality_ligatures_off" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF" glib:nick="inequality-ligatures-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INEQUALITY_LIGATURES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="219">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="exponents_on" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON" glib:nick="exponents-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="220">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="exponents_off" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF" glib:nick="exponents-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPONENTS_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="221">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="mathematical_greek_on" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON" glib:nick="mathematical-greek-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="222">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="mathematical_greek_off" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF" glib:nick="mathematical-greek-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATHEMATICAL_GREEK_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="223">for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS</doc> </member> <member name="no_ornaments" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS" glib:nick="no-ornaments" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ORNAMENTS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="224">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="dingbats" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS" glib:nick="dingbats" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DINGBATS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="225">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="pi_characters" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS" glib:nick="pi-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PI_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="226">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="fleurons" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS" glib:nick="fleurons" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FLEURONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="227">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="decorative_borders" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS" glib:nick="decorative-borders" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DECORATIVE_BORDERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="228">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="international_symbols" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS" glib:nick="international-symbols" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INTERNATIONAL_SYMBOLS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="229">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="math_symbols" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS" glib:nick="math-symbols" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MATH_SYMBOLS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="230">for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE</doc> </member> <member name="no_alternates" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES" glib:nick="no-alternates" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ALTERNATES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="231">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES</doc> </member> <member name="design_level1" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1" glib:nick="design-level1" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL1"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="232">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc> </member> <member name="design_level2" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2" glib:nick="design-level2" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL2"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="233">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc> </member> <member name="design_level3" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3" glib:nick="design-level3" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL3"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="234">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc> </member> <member name="design_level4" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4" glib:nick="design-level4" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL4"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="235">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc> </member> <member name="design_level5" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5" glib:nick="design-level5" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DESIGN_LEVEL5"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="236">for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE</doc> </member> <member name="no_style_options" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS" glib:nick="no-style-options" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLE_OPTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="237">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="display_text" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT" glib:nick="display-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DISPLAY_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="238">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="engraved_text" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT" glib:nick="engraved-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ENGRAVED_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="239">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="illuminated_caps" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS" glib:nick="illuminated-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ILLUMINATED_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="240">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="titling_caps" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS" glib:nick="titling-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TITLING_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="241">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="tall_caps" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS" glib:nick="tall-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="242">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS</doc> </member> <member name="traditional_characters" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS" glib:nick="traditional-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="243">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="simplified_characters" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS" glib:nick="simplified-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SIMPLIFIED_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="244">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="jis1978_characters" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS" glib:nick="jis1978-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1978_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="245">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="jis1983_characters" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS" glib:nick="jis1983-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1983_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="246">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="jis1990_characters" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS" glib:nick="jis1990-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS1990_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="247">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_alt_one" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE" glib:nick="traditional-alt-one" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_ONE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="248">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_alt_two" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO" glib:nick="traditional-alt-two" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_TWO"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="249">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_alt_three" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE" glib:nick="traditional-alt-three" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_THREE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="250">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_alt_four" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR" glib:nick="traditional-alt-four" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FOUR"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="251">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_alt_five" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE" glib:nick="traditional-alt-five" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_ALT_FIVE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="252">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="expert_characters" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS" glib:nick="expert-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_EXPERT_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="253">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="jis2004_characters" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS" glib:nick="jis2004-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_JIS2004_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="254">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="hojo_characters" value="12" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS" glib:nick="hojo-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HOJO_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="255">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="nlccharacters" value="13" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS" glib:nick="nlccharacters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NLCCHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="256">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="traditional_names_characters" value="14" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS" glib:nick="traditional-names-characters" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRADITIONAL_NAMES_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="257">for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE</doc> </member> <member name="lower_case_numbers" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS" glib:nick="lower-case-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="258">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE</doc> </member> <member name="upper_case_numbers" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS" glib:nick="upper-case-numbers" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_NUMBERS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="259">for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE</doc> </member> <member name="proportional_text" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT" glib:nick="proportional-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="260">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="monospaced_text" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT" glib:nick="monospaced-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_MONOSPACED_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="261">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="half_width_text" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT" glib:nick="half-width-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="262">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="third_width_text" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT" glib:nick="third-width-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_THIRD_WIDTH_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="263">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="quarter_width_text" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT" glib:nick="quarter-width-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_QUARTER_WIDTH_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="264">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="alt_proportional_text" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT" glib:nick="alt-proportional-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_PROPORTIONAL_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="265">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="alt_half_width_text" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT" glib:nick="alt-half-width-text" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALT_HALF_WIDTH_TEXT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="266">for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING</doc> </member> <member name="no_transliteration" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION" glib:nick="no-transliteration" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_TRANSLITERATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="267">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="hanja_to_hangul" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL" glib:nick="hanja-to-hangul" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="268">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="hiragana_to_katakana" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA" glib:nick="hiragana-to-katakana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HIRAGANA_TO_KATAKANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="269">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="katakana_to_hiragana" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA" glib:nick="katakana-to-hiragana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_KATAKANA_TO_HIRAGANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="270">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="kana_to_romanization" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION" glib:nick="kana-to-romanization" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_KANA_TO_ROMANIZATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="271">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="romanization_to_hiragana" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA" glib:nick="romanization-to-hiragana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_HIRAGANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="272">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="romanization_to_katakana" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA" glib:nick="romanization-to-katakana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMANIZATION_TO_KATAKANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="273">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="hanja_to_hangul_alt_one" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE" glib:nick="hanja-to-hangul-alt-one" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_ONE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="274">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="hanja_to_hangul_alt_two" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO" glib:nick="hanja-to-hangul-alt-two" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_TWO"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="275">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="hanja_to_hangul_alt_three" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE" glib:nick="hanja-to-hangul-alt-three" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HANJA_TO_HANGUL_ALT_THREE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="276">for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION</doc> </member> <member name="no_annotation" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION" glib:nick="no-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="277">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="box_annotation" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION" glib:nick="box-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_BOX_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="278">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="rounded_box_annotation" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION" glib:nick="rounded-box-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROUNDED_BOX_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="279">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="circle_annotation" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION" glib:nick="circle-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CIRCLE_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="280">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="inverted_circle_annotation" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION" glib:nick="inverted-circle-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_CIRCLE_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="281">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="parenthesis_annotation" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION" glib:nick="parenthesis-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PARENTHESIS_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="282">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="period_annotation" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION" glib:nick="period-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PERIOD_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="283">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="roman_numeral_annotation" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION" glib:nick="roman-numeral-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ROMAN_NUMERAL_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="284">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="diamond_annotation" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION" glib:nick="diamond-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DIAMOND_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="285">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="inverted_box_annotation" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION" glib:nick="inverted-box-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_BOX_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="286">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="inverted_rounded_box_annotation" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION" glib:nick="inverted-rounded-box-annotation" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_INVERTED_ROUNDED_BOX_ANNOTATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="287">for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE</doc> </member> <member name="full_width_kana" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA" glib:nick="full-width-kana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="288">for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE</doc> </member> <member name="proportional_kana" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA" glib:nick="proportional-kana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="289">for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE</doc> </member> <member name="full_width_ideographs" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS" glib:nick="full-width-ideographs" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_IDEOGRAPHS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="290">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc> </member> <member name="proportional_ideographs" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS" glib:nick="proportional-ideographs" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_IDEOGRAPHS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="291">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc> </member> <member name="half_width_ideographs" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS" glib:nick="half-width-ideographs" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_IDEOGRAPHS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="292">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE</doc> </member> <member name="canonical_composition_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON" glib:nick="canonical-composition-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="293">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="canonical_composition_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF" glib:nick="canonical-composition-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CANONICAL_COMPOSITION_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="294">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="compatibility_composition_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON" glib:nick="compatibility-composition-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="295">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="compatibility_composition_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF" glib:nick="compatibility-composition-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_COMPATIBILITY_COMPOSITION_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="296">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="transcoding_composition_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON" glib:nick="transcoding-composition-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="297">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="transcoding_composition_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF" glib:nick="transcoding-composition-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_TRANSCODING_COMPOSITION_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="298">for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE</doc> </member> <member name="no_ruby_kana" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA" glib:nick="no-ruby-kana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_RUBY_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="299">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead</doc> </member> <member name="ruby_kana" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA" glib:nick="ruby-kana" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="300">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead</doc> </member> <member name="ruby_kana_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON" glib:nick="ruby-kana-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="301">for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA</doc> </member> <member name="ruby_kana_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF" glib:nick="ruby-kana-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="302">for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA</doc> </member> <member name="no_cjk_symbol_alternatives" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES" glib:nick="no-cjk-symbol-alternatives" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_SYMBOL_ALTERNATIVES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="303">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_symbol_alt_one" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE" glib:nick="cjk-symbol-alt-one" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_ONE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="304">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_symbol_alt_two" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO" glib:nick="cjk-symbol-alt-two" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_TWO"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="305">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_symbol_alt_three" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE" glib:nick="cjk-symbol-alt-three" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_THREE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="306">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_symbol_alt_four" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR" glib:nick="cjk-symbol-alt-four" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FOUR"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="307">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_symbol_alt_five" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE" glib:nick="cjk-symbol-alt-five" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_SYMBOL_ALT_FIVE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="308">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE</doc> </member> <member name="no_ideographic_alternatives" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES" glib:nick="no-ideographic-alternatives" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_IDEOGRAPHIC_ALTERNATIVES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="309">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="ideographic_alt_one" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE" glib:nick="ideographic-alt-one" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_ONE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="310">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="ideographic_alt_two" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO" glib:nick="ideographic-alt-two" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_TWO"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="311">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="ideographic_alt_three" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE" glib:nick="ideographic-alt-three" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_THREE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="312">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="ideographic_alt_four" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR" glib:nick="ideographic-alt-four" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FOUR"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="313">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="ideographic_alt_five" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE" glib:nick="ideographic-alt-five" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_IDEOGRAPHIC_ALT_FIVE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="314">for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE</doc> </member> <member name="cjk_vertical_roman_centered" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED" glib:nick="cjk-vertical-roman-centered" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_CENTERED"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="315">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE</doc> </member> <member name="cjk_vertical_roman_hbaseline" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE" glib:nick="cjk-vertical-roman-hbaseline" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_VERTICAL_ROMAN_HBASELINE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="316">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE</doc> </member> <member name="no_cjk_italic_roman" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN" glib:nick="no-cjk-italic-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_CJK_ITALIC_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="317">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead</doc> </member> <member name="cjk_italic_roman" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN" glib:nick="cjk-italic-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="318">Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead</doc> </member> <member name="cjk_italic_roman_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON" glib:nick="cjk-italic-roman-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="319">for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN</doc> </member> <member name="cjk_italic_roman_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF" glib:nick="cjk-italic-roman-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="320">for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN</doc> </member> <member name="case_sensitive_layout_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON" glib:nick="case-sensitive-layout-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="321">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc> </member> <member name="case_sensitive_layout_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF" glib:nick="case-sensitive-layout-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_LAYOUT_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="322">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc> </member> <member name="case_sensitive_spacing_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON" glib:nick="case-sensitive-spacing-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="323">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc> </member> <member name="case_sensitive_spacing_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF" glib:nick="case-sensitive-spacing-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CASE_SENSITIVE_SPACING_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="324">for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT</doc> </member> <member name="alternate_horiz_kana_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON" glib:nick="alternate-horiz-kana-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="325">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc> </member> <member name="alternate_horiz_kana_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF" glib:nick="alternate-horiz-kana-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_HORIZ_KANA_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="326">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc> </member> <member name="alternate_vert_kana_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON" glib:nick="alternate-vert-kana-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="327">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc> </member> <member name="alternate_vert_kana_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF" glib:nick="alternate-vert-kana-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_ALTERNATE_VERT_KANA_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="328">for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA</doc> </member> <member name="no_stylistic_alternates" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES" glib:nick="no-stylistic-alternates" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_NO_STYLISTIC_ALTERNATES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="329">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_one_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON" glib:nick="stylistic-alt-one-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="330">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_one_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF" glib:nick="stylistic-alt-one-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ONE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="331">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_two_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON" glib:nick="stylistic-alt-two-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="332">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_two_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF" glib:nick="stylistic-alt-two-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWO_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="333">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_three_on" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON" glib:nick="stylistic-alt-three-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="334">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_three_off" value="7" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF" glib:nick="stylistic-alt-three-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THREE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="335">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_four_on" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON" glib:nick="stylistic-alt-four-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="336">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_four_off" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF" glib:nick="stylistic-alt-four-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOUR_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="337">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_five_on" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON" glib:nick="stylistic-alt-five-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="338">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_five_off" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF" glib:nick="stylistic-alt-five-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIVE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="339">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_six_on" value="12" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON" glib:nick="stylistic-alt-six-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="340">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_six_off" value="13" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF" glib:nick="stylistic-alt-six-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIX_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="341">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_seven_on" value="14" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON" glib:nick="stylistic-alt-seven-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="342">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_seven_off" value="15" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF" glib:nick="stylistic-alt-seven-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="343">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eight_on" value="16" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON" glib:nick="stylistic-alt-eight-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="344">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eight_off" value="17" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF" glib:nick="stylistic-alt-eight-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHT_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="345">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_nine_on" value="18" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON" glib:nick="stylistic-alt-nine-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="346">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_nine_off" value="19" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF" glib:nick="stylistic-alt-nine-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="347">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_ten_on" value="20" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON" glib:nick="stylistic-alt-ten-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="348">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_ten_off" value="21" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF" glib:nick="stylistic-alt-ten-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="349">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eleven_on" value="22" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON" glib:nick="stylistic-alt-eleven-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="350">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eleven_off" value="23" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF" glib:nick="stylistic-alt-eleven-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_ELEVEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="351">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_twelve_on" value="24" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON" glib:nick="stylistic-alt-twelve-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="352">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_twelve_off" value="25" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF" glib:nick="stylistic-alt-twelve-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWELVE_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="353">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_thirteen_on" value="26" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON" glib:nick="stylistic-alt-thirteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="354">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_thirteen_off" value="27" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF" glib:nick="stylistic-alt-thirteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_THIRTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="355">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_fourteen_on" value="28" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON" glib:nick="stylistic-alt-fourteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="356">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_fourteen_off" value="29" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF" glib:nick="stylistic-alt-fourteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FOURTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="357">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_fifteen_on" value="30" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON" glib:nick="stylistic-alt-fifteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="358">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_fifteen_off" value="31" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF" glib:nick="stylistic-alt-fifteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_FIFTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="359">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_sixteen_on" value="32" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON" glib:nick="stylistic-alt-sixteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="360">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_sixteen_off" value="33" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF" glib:nick="stylistic-alt-sixteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SIXTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="361">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_seventeen_on" value="34" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON" glib:nick="stylistic-alt-seventeen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="362">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_seventeen_off" value="35" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF" glib:nick="stylistic-alt-seventeen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_SEVENTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="363">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eighteen_on" value="36" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON" glib:nick="stylistic-alt-eighteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="364">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_eighteen_off" value="37" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF" glib:nick="stylistic-alt-eighteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_EIGHTEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="365">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_nineteen_on" value="38" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON" glib:nick="stylistic-alt-nineteen-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="366">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_nineteen_off" value="39" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF" glib:nick="stylistic-alt-nineteen-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_NINETEEN_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="367">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_twenty_on" value="40" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON" glib:nick="stylistic-alt-twenty-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="368">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="stylistic_alt_twenty_off" value="41" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF" glib:nick="stylistic-alt-twenty-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_STYLISTIC_ALT_TWENTY_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="369">for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES</doc> </member> <member name="contextual_alternates_on" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON" glib:nick="contextual-alternates-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="370">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="contextual_alternates_off" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF" glib:nick="contextual-alternates-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_ALTERNATES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="371">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="swash_alternates_on" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON" glib:nick="swash-alternates-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="372">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="swash_alternates_off" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF" glib:nick="swash-alternates-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_SWASH_ALTERNATES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="373">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="contextual_swash_alternates_on" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON" glib:nick="contextual-swash-alternates-on" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_ON"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="374">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="contextual_swash_alternates_off" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF" glib:nick="contextual-swash-alternates-off" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_CONTEXTUAL_SWASH_ALTERNATES_OFF"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="375">for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES</doc> </member> <member name="default_lower_case" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE" glib:nick="default-lower-case" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_LOWER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="376">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc> </member> <member name="lower_case_small_caps" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS" glib:nick="lower-case-small-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_SMALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="377">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc> </member> <member name="lower_case_petite_caps" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS" glib:nick="lower-case-petite-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_LOWER_CASE_PETITE_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="378">for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE</doc> </member> <member name="default_upper_case" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE" glib:nick="default-upper-case" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_UPPER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="379">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc> </member> <member name="upper_case_small_caps" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS" glib:nick="upper-case-small-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_SMALL_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="380">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc> </member> <member name="upper_case_petite_caps" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS" glib:nick="upper-case-petite-caps" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_UPPER_CASE_PETITE_CAPS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="381">for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE</doc> </member> <member name="half_width_cjk_roman" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN" glib:nick="half-width-cjk-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_HALF_WIDTH_CJK_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="382">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc> </member> <member name="proportional_cjk_roman" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN" glib:nick="proportional-cjk-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_PROPORTIONAL_CJK_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="383">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc> </member> <member name="default_cjk_roman" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN" glib:nick="default-cjk-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_DEFAULT_CJK_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="384">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc> </member> <member name="full_width_cjk_roman" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN" glib:nick="full-width-cjk-roman" glib:name="HB_AAT_LAYOUT_FEATURE_SELECTOR_FULL_WIDTH_CJK_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="385">for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE</doc> </member> </enumeration> <function name="aat_layout_feature_type_get_name_id" c:identifier="hb_aat_layout_feature_type_get_name_id" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="398">Fetches the name identifier of the specified feature type in the face's `name` table.</doc> <source-position filename="src/hb-aat-layout.h" line="732"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="405">Name identifier of the requested feature type</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="400">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="feature_type" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="401">The #hb_aat_layout_feature_type_t of the requested feature type</doc> <type name="aat_layout_feature_type_t" c:type="hb_aat_layout_feature_type_t"/> </parameter> </parameters> </function> <function name="aat_layout_feature_type_get_selector_infos" c:identifier="hb_aat_layout_feature_type_get_selector_infos" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="416">Fetches a list of the selectors available for the specified feature in the given face. If upon return, @default_index is set to #HB_AAT_LAYOUT_NO_SELECTOR_INDEX, then the feature type is non-exclusive. Otherwise, @default_index is the index of the selector that is selected by default.</doc> <source-position filename="src/hb-aat-layout.h" line="761"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="433">Number of all available feature selectors</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="418">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="feature_type" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="419">The #hb_aat_layout_feature_type_t of the requested feature type</doc> <type name="aat_layout_feature_type_t" c:type="hb_aat_layout_feature_type_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="420">offset of the first feature type to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="selector_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="421">Input = the maximum number of selectors to return; Output = the actual number of selectors returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="selectors" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="423"> A buffer pointer. The selectors available for the feature type queries.</doc> <array length="3" zero-terminated="0" c:type="hb_aat_layout_feature_selector_info_t*"> <type name="aat_layout_feature_selector_info_t" c:type="hb_aat_layout_feature_selector_info_t"/> </array> </parameter> <parameter name="default_index" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="425">The index of the feature's default selector, if any</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <enumeration name="aat_layout_feature_type_t" version="2.2.0" glib:type-name="hb_aat_layout_feature_type_t" glib:get-type="hb_gobject_aat_layout_feature_type_get_type" c:type="hb_aat_layout_feature_type_t"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="38">The possible feature types defined for AAT shaping, from Apple [Font Feature Registry](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html).</doc> <member name="invalid" value="65535" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_INVALID" glib:nick="invalid" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_INVALID"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="40">Initial, unset feature type</doc> </member> <member name="all_typographic" value="0" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC" glib:nick="all-typographic" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="41">[All Typographic Features](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type0)</doc> </member> <member name="ligatures" value="1" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES" glib:nick="ligatures" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="42">[Ligatures](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type1)</doc> </member> <member name="cursive_connection" value="2" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION" glib:nick="cursive-connection" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CURSIVE_CONNECTION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="43">[Cursive Connection](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type2)</doc> </member> <member name="letter_case" value="3" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE" glib:nick="letter-case" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LETTER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="44">[Letter Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type3)</doc> </member> <member name="vertical_substitution" value="4" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION" glib:nick="vertical-substitution" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="45">[Vertical Substitution](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type4)</doc> </member> <member name="linguistic_rearrangement" value="5" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT" glib:nick="linguistic-rearrangement" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="46">[Linguistic Rearrangement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type5)</doc> </member> <member name="number_spacing" value="6" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING" glib:nick="number-spacing" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="47">[Number Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type6)</doc> </member> <member name="smart_swash_type" value="8" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE" glib:nick="smart-swash-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="48">[Smart Swash](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type8)</doc> </member> <member name="diacritics_type" value="9" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE" glib:nick="diacritics-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="49">[Diacritics](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type9)</doc> </member> <member name="vertical_position" value="10" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION" glib:nick="vertical-position" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="50">[Vertical Position](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type10)</doc> </member> <member name="fractions" value="11" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS" glib:nick="fractions" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="51">[Fractions](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type11)</doc> </member> <member name="overlapping_characters_type" value="13" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE" glib:nick="overlapping-characters-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="52">[Overlapping Characters](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type13)</doc> </member> <member name="typographic_extras" value="14" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS" glib:nick="typographic-extras" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="53">[Typographic Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type14)</doc> </member> <member name="mathematical_extras" value="15" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS" glib:nick="mathematical-extras" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="54">[Mathematical Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type15)</doc> </member> <member name="ornament_sets_type" value="16" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE" glib:nick="ornament-sets-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="55">[Ornament Sets](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type16)</doc> </member> <member name="character_alternatives" value="17" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES" glib:nick="character-alternatives" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="56">[Character Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type17)</doc> </member> <member name="design_complexity_type" value="18" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE" glib:nick="design-complexity-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="57">[Design Complexity](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type18)</doc> </member> <member name="style_options" value="19" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS" glib:nick="style-options" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="58">[Style Options](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type19)</doc> </member> <member name="character_shape" value="20" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE" glib:nick="character-shape" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="59">[Character Shape](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type20)</doc> </member> <member name="number_case" value="21" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE" glib:nick="number-case" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="60">[Number Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type21)</doc> </member> <member name="text_spacing" value="22" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING" glib:nick="text-spacing" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="61">[Text Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type22)</doc> </member> <member name="transliteration" value="23" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION" glib:nick="transliteration" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="62">[Transliteration](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type23)</doc> </member> <member name="annotation_type" value="24" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE" glib:nick="annotation-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="63">[Annotation](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type24)</doc> </member> <member name="kana_spacing_type" value="25" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE" glib:nick="kana-spacing-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="64">[Kana Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type25)</doc> </member> <member name="ideographic_spacing_type" value="26" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE" glib:nick="ideographic-spacing-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="65">[Ideographic Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type26)</doc> </member> <member name="unicode_decomposition_type" value="27" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE" glib:nick="unicode-decomposition-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="66">[Unicode Decomposition](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type27)</doc> </member> <member name="ruby_kana" value="28" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA" glib:nick="ruby-kana" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="67">[Ruby Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type28)</doc> </member> <member name="cjk_symbol_alternatives_type" value="29" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE" glib:nick="cjk-symbol-alternatives-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="68">[CJK Symbol Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type29)</doc> </member> <member name="ideographic_alternatives_type" value="30" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE" glib:nick="ideographic-alternatives-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="69">[Ideographic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type30)</doc> </member> <member name="cjk_vertical_roman_placement_type" value="31" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE" glib:nick="cjk-vertical-roman-placement-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="70">[CJK Vertical Roman Placement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type31)</doc> </member> <member name="italic_cjk_roman" value="32" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN" glib:nick="italic-cjk-roman" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="71">[Italic CJK Roman](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type32)</doc> </member> <member name="case_sensitive_layout" value="33" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT" glib:nick="case-sensitive-layout" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="72">[Case Sensitive Layout](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type33)</doc> </member> <member name="alternate_kana" value="34" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA" glib:nick="alternate-kana" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="73">[Alternate Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type34)</doc> </member> <member name="stylistic_alternatives" value="35" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES" glib:nick="stylistic-alternatives" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="74">[Stylistic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type35)</doc> </member> <member name="contextual_alternatives" value="36" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES" glib:nick="contextual-alternatives" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="75">[Contextual Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type36)</doc> </member> <member name="lower_case" value="37" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE" glib:nick="lower-case" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="76">[Lower Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type37)</doc> </member> <member name="upper_case" value="38" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE" glib:nick="upper-case" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="77">[Upper Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type38)</doc> </member> <member name="language_tag_type" value="39" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE" glib:nick="language-tag-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_LANGUAGE_TAG_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="78">[Language Tag](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type39)</doc> </member> <member name="cjk_roman_spacing_type" value="103" c:identifier="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE" glib:nick="cjk-roman-spacing-type" glib:name="HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE"> <doc xml:space="preserve" filename="src/hb-aat-layout.h" line="79">[CJK Roman Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type103)</doc> </member> </enumeration> <function name="aat_layout_get_feature_types" c:identifier="hb_aat_layout_get_feature_types" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="375">Fetches a list of the AAT feature types included in the specified face.</doc> <source-position filename="src/hb-aat-layout.h" line="726"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="385">Number of all available feature types.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="377">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="378">offset of the first feature type to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="379">Input = the maximum number of feature types to return; Output = the actual number of feature types returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="features" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="381">Array of feature types found</doc> <array length="2" zero-terminated="0" c:type="hb_aat_layout_feature_type_t*"> <type name="aat_layout_feature_type_t" c:type="hb_aat_layout_feature_type_t"/> </array> </parameter> </parameters> </function> <function name="aat_layout_has_positioning" c:identifier="hb_aat_layout_has_positioning" version="2.3.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="313">Tests whether the specified face includes any positioning information in the `kerx` table. <note>Note: does not examine the `GPOS` table.</note></doc> <source-position filename="src/hb-aat-layout.h" line="782"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="322">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="315">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="aat_layout_has_substitution" c:identifier="hb_aat_layout_has_substitution" version="2.3.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="230">Tests whether the specified face includes any substitutions in the `morx` or `mort` tables. <note>Note: does not examine the `GSUB` table.</note></doc> <source-position filename="src/hb-aat-layout.h" line="774"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="239">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="232">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="aat_layout_has_tracking" c:identifier="hb_aat_layout_has_tracking" version="2.3.0"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="347">Tests whether the specified face includes any tracking information in the `trak` table.</doc> <source-position filename="src/hb-aat-layout.h" line="790"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="354">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="349">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="blob_copy_writable_or_fail" c:identifier="hb_blob_copy_writable_or_fail" version="1.8.0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="189">Makes a writable copy of @blob.</doc> <source-position filename="src/hb-blob.h" line="118"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="195">The new blob, or nullptr if allocation failed</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="191">A blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_create" c:identifier="hb_blob_create" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="52">Creates a new "blob" object wrapping @data. The @mode parameter is used to negotiate ownership and lifecycle of @data.</doc> <source-position filename="src/hb-blob.h" line="87"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="63">New blob, or the empty blob if something failed or if @length is zero. Destroy with hb_blob_destroy().</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="data" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="54">Pointer to blob data.</doc> <type name="utf8" c:type="const char*"/> </parameter> <parameter name="length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="55">Length of @data in bytes.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="mode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="56">Memory mode for @data.</doc> <type name="memory_mode_t" c:type="hb_memory_mode_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="57">Data parameter to pass to @destroy.</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="58">Callback to call when @data is not needed anymore.</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="blob_create_from_file" c:identifier="hb_blob_create_from_file" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="594">Creates a new blob containing the data from the specified binary font file. The filename is passed directly to the system on all platforms, except on Windows, where the filename is interpreted as UTF-8. Only if the filename is not valid UTF-8, it will be interpreted according to the system codepage.</doc> <source-position filename="src/hb-blob.h" line="101"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="606">An #hb_blob_t pointer with the content of the file, or hb_blob_get_empty() if failed.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="file_name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="596">A font filename</doc> <type name="utf8" c:type="const char*"/> </parameter> </parameters> </function> <function name="blob_create_from_file_or_fail" c:identifier="hb_blob_create_from_file_or_fail" version="2.8.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="618">Creates a new blob containing the data from the specified file. The filename is passed directly to the system on all platforms, except on Windows, where the filename is interpreted as UTF-8. Only if the filename is not valid UTF-8, it will be interpreted according to the system codepage.</doc> <source-position filename="src/hb-blob.h" line="104"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="629">An #hb_blob_t pointer with the content of the file, or `NULL` if failed.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="file_name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="620">A filename</doc> <type name="utf8" c:type="const char*"/> </parameter> </parameters> </function> <function name="blob_create_or_fail" c:identifier="hb_blob_create_or_fail" version="2.8.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="87">Creates a new "blob" object wrapping @data. The @mode parameter is used to negotiate ownership and lifecycle of @data. Note that this function returns a freshly-allocated empty blob even if @length is zero. This is in contrast to hb_blob_create(), which returns the singleton empty blob (as returned by hb_blob_get_empty()) if @length is zero.</doc> <source-position filename="src/hb-blob.h" line="94"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="102">New blob, or `NULL` if failed. Destroy with hb_blob_destroy().</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="data" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="89">Pointer to blob data.</doc> <type name="utf8" c:type="const char*"/> </parameter> <parameter name="length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="90">Length of @data in bytes.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="mode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="91">Memory mode for @data.</doc> <type name="memory_mode_t" c:type="hb_memory_mode_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="92">Data parameter to pass to @destroy.</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="93">Callback to call when @data is not needed anymore.</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="blob_create_sub_blob" c:identifier="hb_blob_create_sub_blob" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="148">Returns a blob that represents a range of bytes in @parent. The new blob is always created with #HB_MEMORY_MODE_READONLY, meaning that it will never modify data in the parent blob. The parent data is not expected to be modified, and will result in undefined behavior if it is. Makes @parent immutable.</doc> <source-position filename="src/hb-blob.h" line="113"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="162">New blob, or the empty blob if something failed or if @length is zero or @offset is beyond the end of @parent's data. Destroy with hb_blob_destroy().</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="parent" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="150">Parent blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="151">Start offset of sub-blob within @parent, in bytes.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="152">Length of sub-blob.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="blob_destroy" c:identifier="hb_blob_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="249">Decreases the reference count on @blob, and if it reaches zero, destroys @blob, freeing all memory, possibly calling the destroy-callback the blob was created for if it has not been called already. See TODO:link object types for more information.</doc> <source-position filename="src/hb-blob.h" line="127"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="251">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_get_data" c:identifier="hb_blob_get_data" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="363">Fetches the data from a blob.</doc> <source-position filename="src/hb-blob.h" line="153"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="370">the byte data of @blob.</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="utf8" c:type="char"/> </array> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="365">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="366">The length in bytes of the data retrieved</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="blob_get_data_writable" c:identifier="hb_blob_get_data_writable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="383">Tries to make blob data writable (possibly copying it) and return pointer to data. Fails if blob has been made immutable, or if memory allocation fails.</doc> <source-position filename="src/hb-blob.h" line="156"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="394">Writable blob data, or `NULL` if failed.</doc> <array length="1" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="385">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="386">output length of the writable data.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="blob_get_empty" c:identifier="hb_blob_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="214">Returns the singleton empty blob. See TODO:link object types for more information.</doc> <source-position filename="src/hb-blob.h" line="121"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="221">The empty blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> </function> <function name="blob_get_length" c:identifier="hb_blob_get_length" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="347">Fetches the length of a blob's data.</doc> <source-position filename="src/hb-blob.h" line="150"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="353">the length of @blob data in bytes.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="349">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_get_user_data" c:identifier="hb_blob_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="293">Fetches the user data associated with the specified key, attached to the specified font-functions structure.</doc> <source-position filename="src/hb-blob.h" line="138"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="301">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="295">a blob</doc> <type name="blob_t" c:type="const hb_blob_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="296">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="blob_is_immutable" c:identifier="hb_blob_is_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="330">Tests whether a blob is immutable.</doc> <source-position filename="src/hb-blob.h" line="146"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="336">`true` if @blob is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="332">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_make_immutable" c:identifier="hb_blob_make_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="313">Makes a blob immutable.</doc> <source-position filename="src/hb-blob.h" line="143"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="315">a blob</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_reference" c:identifier="hb_blob_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="231">Increases the reference count on @blob. See TODO:link object types for more information.</doc> <source-position filename="src/hb-blob.h" line="124"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="239">@blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="233">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="blob_set_user_data" c:identifier="hb_blob_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="269">Attaches a user-data key/data pair to the specified blob.</doc> <source-position filename="src/hb-blob.h" line="130"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="279">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="271">An #hb_blob_t</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="272">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="273">A pointer to the user data to set</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="274">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="275">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="blob_t" c:type="hb_blob_t" opaque="1" glib:type-name="hb_blob_t" glib:get-type="hb_gobject_blob_get_type" c:symbol-prefix="gobject_blob"> <doc xml:space="preserve" filename="src/hb-blob.h" line="76">Data type for blobs. A blob wraps a chunk of binary data and facilitates its lifecycle management between a client program and HarfBuzz.</doc> <source-position filename="src/hb-blob.h" line="84"/> </record> <function name="buffer_add" c:identifier="hb_buffer_add" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1503">Appends a character with the Unicode value of @codepoint to @buffer, and gives it the initial cluster value of @cluster. Clusters can be any thing the client wants, they are usually used to refer to the index of the character in the input text stream and are output in #hb_glyph_info_t.cluster field. This function does not check the validity of @codepoint, it is up to the caller to ensure it is a valid Unicode code point.</doc> <source-position filename="src/hb-buffer.h" line="533"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1505">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="codepoint" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1506">A Unicode code point.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="cluster" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1507">The cluster value of @codepoint.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="buffer_add_codepoints" c:identifier="hb_buffer_add_codepoints" version="0.9.31"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1944">Appends characters from @text array to @buffer. The @item_offset is the position of the first character from @text that will be appended, and @item_length is the number of character. When shaping part of a larger text (e.g. a run of text from a paragraph), instead of passing just the substring corresponding to the run, it is preferable to pass the whole paragraph and specify the run start and length as @item_offset and @item_length, respectively, to give HarfBuzz the full context to be able, for example, to do cross-run Arabic shaping or properly handle combining marks at stat of run. This function does not check the validity of @text, it is up to the caller to ensure it contains a valid Unicode scalar values. In contrast, hb_buffer_add_utf32() can be used that takes similar input but performs sanity-check on the input.</doc> <source-position filename="src/hb-buffer.h" line="566"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1946">a #hb_buffer_t to append characters to.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="text" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1947">an array of Unicode code points to append.</doc> <array length="2" zero-terminated="0" c:type="const hb_codepoint_t*"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </array> </parameter> <parameter name="text_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1948">the length of the @text, or -1 if it is `NULL` terminated.</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="item_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1949">the offset of the first code point to add to the @buffer.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="item_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1950">the number of code points to add to the @buffer, or -1 for the end of @text (assuming it is `NULL` terminated).</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="buffer_add_latin1" c:identifier="hb_buffer_add_latin1" version="0.9.39"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1917">Similar to hb_buffer_add_codepoints(), but allows only access to first 256 Unicode code points that can fit in 8-bit strings. <note>Has nothing to do with non-Unicode Latin-1 encoding.</note></doc> <source-position filename="src/hb-buffer.h" line="559"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1919">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="text" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1920">an array of UTF-8 characters to append</doc> <array length="2" zero-terminated="0" c:type="const uint8_t*"> <type name="guint8"/> </array> </parameter> <parameter name="text_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1922">the length of the @text, or -1 if it is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="item_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1923">the offset of the first character to add to the @buffer</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="item_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1924">the number of characters to add to the @buffer, or -1 for the end of @text (assuming it is `NULL` terminated)</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="buffer_add_utf16" c:identifier="hb_buffer_add_utf16" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1865">See hb_buffer_add_codepoints(). Replaces invalid UTF-16 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().</doc> <source-position filename="src/hb-buffer.h" line="545"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1867">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="text" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1868">An array of UTF-16 characters to append</doc> <array length="2" zero-terminated="0" c:type="const uint16_t*"> <type name="guint16" c:type="uint16_t"/> </array> </parameter> <parameter name="text_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1869">The length of the @text, or -1 if it is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="item_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1870">The offset of the first character to add to the @buffer</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="item_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1871">The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is `NULL` terminated)</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="buffer_add_utf32" c:identifier="hb_buffer_add_utf32" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1891">See hb_buffer_add_codepoints(). Replaces invalid UTF-32 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().</doc> <source-position filename="src/hb-buffer.h" line="552"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1893">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="text" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1894">An array of UTF-32 characters to append</doc> <array length="2" zero-terminated="0" c:type="const uint32_t*"> <type name="guint32" c:type="uint32_t"/> </array> </parameter> <parameter name="text_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1895">The length of the @text, or -1 if it is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="item_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1896">The offset of the first character to add to the @buffer</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="item_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1897">The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is `NULL` terminated)</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="buffer_add_utf8" c:identifier="hb_buffer_add_utf8" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1838">See hb_buffer_add_codepoints(). Replaces invalid UTF-8 characters with the @buffer replacement code point, see hb_buffer_set_replacement_codepoint().</doc> <source-position filename="src/hb-buffer.h" line="538"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1840">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="text" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1841">An array of UTF-8 characters to append.</doc> <array length="2" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="text_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1843">The length of the @text, or -1 if it is `NULL` terminated.</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="item_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1844">The offset of the first character to add to the @buffer.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="item_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1845">The number of characters to add to the @buffer, or -1 for the end of @text (assuming it is `NULL` terminated).</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="buffer_allocation_successful" c:identifier="hb_buffer_allocation_successful" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1486">Check if allocating memory for the buffer succeeded.</doc> <source-position filename="src/hb-buffer.h" line="517"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1492">`true` if @buffer memory allocation succeeded, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1488">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_append" c:identifier="hb_buffer_append" version="1.5.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1981">Append (part of) contents of another buffer to this buffer.</doc> <source-position filename="src/hb-buffer.h" line="573"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1983">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="source" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1984">source #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1985">start index into source buffer to copy. Use 0 to copy from start of buffer.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="end" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1986">end index into source buffer to copy. Use @HB_FEATURE_GLOBAL_END to copy to end of buffer.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="buffer_clear_contents" c:identifier="hb_buffer_clear_contents" version="0.9.11"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1450">Similar to hb_buffer_reset(), but does not clear the Unicode functions and the replacement code point.</doc> <source-position filename="src/hb-buffer.h" line="509"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1452">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <enumeration name="buffer_cluster_level_t" version="0.9.42" glib:type-name="hb_buffer_cluster_level_t" glib:get-type="hb_gobject_buffer_cluster_level_get_type" c:type="hb_buffer_cluster_level_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="417">Data type for holding HarfBuzz's clustering behavior options. The cluster level dictates one aspect of how HarfBuzz will treat non-base characters during shaping. In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES, non-base characters are merged into the cluster of the base character that precedes them. In @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS, non-base characters are initially assigned their own cluster values, which are not merged into preceding base clusters. This allows HarfBuzz to perform additional operations like reorder sequences of adjacent marks. @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES is the default, because it maintains backward compatibility with older versions of HarfBuzz. New client programs that do not need to maintain such backward compatibility are recommended to use @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS instead of the default.</doc> <member name="monotone_graphemes" value="0" c:identifier="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES" glib:nick="monotone-graphemes" glib:name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="419">Return cluster values grouped by graphemes into monotone order.</doc> </member> <member name="monotone_characters" value="1" c:identifier="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS" glib:nick="monotone-characters" glib:name="HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="421">Return cluster values grouped into monotone order.</doc> </member> <member name="characters" value="2" c:identifier="HB_BUFFER_CLUSTER_LEVEL_CHARACTERS" glib:nick="characters" glib:name="HB_BUFFER_CLUSTER_LEVEL_CHARACTERS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="422">Don't group cluster values.</doc> </member> <member name="default" value="0" c:identifier="HB_BUFFER_CLUSTER_LEVEL_DEFAULT" glib:nick="default" glib:name="HB_BUFFER_CLUSTER_LEVEL_DEFAULT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="423">Default cluster level, equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES.</doc> </member> </enumeration> <enumeration name="buffer_content_type_t" glib:type-name="hb_buffer_content_type_t" glib:get-type="hb_gobject_buffer_content_type_get_type" c:type="hb_buffer_content_type_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="283">The type of #hb_buffer_t contents.</doc> <member name="invalid" value="0" c:identifier="HB_BUFFER_CONTENT_TYPE_INVALID" glib:nick="invalid" glib:name="HB_BUFFER_CONTENT_TYPE_INVALID"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="285">Initial value for new buffer.</doc> </member> <member name="unicode" value="1" c:identifier="HB_BUFFER_CONTENT_TYPE_UNICODE" glib:nick="unicode" glib:name="HB_BUFFER_CONTENT_TYPE_UNICODE"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="286">The buffer contains input characters (before shaping).</doc> </member> <member name="glyphs" value="2" c:identifier="HB_BUFFER_CONTENT_TYPE_GLYPHS" glib:nick="glyphs" glib:name="HB_BUFFER_CONTENT_TYPE_GLYPHS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="287">The buffer contains output glyphs (after shaping).</doc> </member> </enumeration> <function name="buffer_create" c:identifier="hb_buffer_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="725">Creates a new #hb_buffer_t with all properties to defaults.</doc> <source-position filename="src/hb-buffer.h" line="253"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="730"> A newly allocated #hb_buffer_t with a reference count of 1. The initial reference count should be released with hb_buffer_destroy() when you are done using the #hb_buffer_t. This function never returns `NULL`. If memory cannot be allocated, a special #hb_buffer_t object will be returned on which hb_buffer_allocation_successful() returns `false`.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </return-value> </function> <function name="buffer_create_similar" c:identifier="hb_buffer_create_similar" version="3.3.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="755">Creates a new #hb_buffer_t, similar to hb_buffer_create(). The only difference is that the buffer is configured similarly to @src.</doc> <source-position filename="src/hb-buffer.h" line="256"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="762"> A newly allocated #hb_buffer_t, similar to hb_buffer_create().</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </return-value> <parameters> <parameter name="src" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="757">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_deserialize_glyphs" c:identifier="hb_buffer_deserialize_glyphs" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="727">Deserializes glyphs @buffer from textual representation in the format produced by hb_buffer_serialize_glyphs().</doc> <source-position filename="src/hb-buffer.h" line="694"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="740">`true` if parse was successful, `false` if an error occurred.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="729">an #hb_buffer_t buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="buf" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="730">string to deserialize</doc> <array length="2" zero-terminated="0" c:type="const char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="buf_len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="731">the size of @buf, or -1 if it is `NULL`-terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="end_ptr" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="732">output pointer to the character after last consumed one.</doc> <type name="utf8" c:type="const char**"/> </parameter> <parameter name="font" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="734">font for getting glyph IDs</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="735">the #hb_buffer_serialize_format_t of the input @buf</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> </parameters> </function> <function name="buffer_deserialize_unicode" c:identifier="hb_buffer_deserialize_unicode" version="2.7.3"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="801">Deserializes Unicode @buffer from textual representation in the format produced by hb_buffer_serialize_unicode().</doc> <source-position filename="src/hb-buffer.h" line="702"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="813">`true` if parse was successful, `false` if an error occurred.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="803">an #hb_buffer_t buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="buf" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="804">string to deserialize</doc> <array length="2" zero-terminated="0" c:type="const char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="buf_len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="805">the size of @buf, or -1 if it is `NULL`-terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="end_ptr" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="806">output pointer to the character after last consumed one.</doc> <type name="utf8" c:type="const char**"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="808">the #hb_buffer_serialize_format_t of the input @buf</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> </parameters> </function> <function name="buffer_destroy" c:identifier="hb_buffer_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="828">Deallocate the @buffer. Decreases the reference count on @buffer by one. If the result is zero, then @buffer and all associated resources are freed. See hb_buffer_reference().</doc> <source-position filename="src/hb-buffer.h" line="269"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="830">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_diff" c:identifier="hb_buffer_diff" version="1.5.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2162">If dottedcircle_glyph is (hb_codepoint_t) -1 then #HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT and #HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT are never returned. This should be used by most callers if just comparing two buffers is needed.</doc> <source-position filename="src/hb-buffer.h" line="772"/> <return-value transfer-ownership="none"> <type name="buffer_diff_flags_t" c:type="hb_buffer_diff_flags_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2164">a buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="reference" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2165">other buffer to compare to.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="dottedcircle_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2166">glyph id of U+25CC DOTTED CIRCLE, or (hb_codepoint_t) -1.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="position_fuzz" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2167">allowed absolute difference in position values.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <bitfield name="buffer_diff_flags_t" version="1.5.0" glib:type-name="hb_buffer_diff_flags_t" glib:get-type="hb_gobject_buffer_diff_flags_get_type" c:type="hb_buffer_diff_flags_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="714">Flags from comparing two #hb_buffer_t's. Buffer with different #hb_buffer_content_type_t cannot be meaningfully compared in any further detail. For buffers with differing length, the per-glyph comparison is not attempted, though we do still scan reference buffer for dotted circle and `.notdef` glyphs. If the buffers have the same length, we compare them glyph-by-glyph and report which aspect(s) of the glyph info/position are different.</doc> <member name="equal" value="0" c:identifier="HB_BUFFER_DIFF_FLAG_EQUAL" glib:nick="equal" glib:name="HB_BUFFER_DIFF_FLAG_EQUAL"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="716">equal buffers.</doc> </member> <member name="content_type_mismatch" value="1" c:identifier="HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH" glib:nick="content-type-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="717">buffers with different #hb_buffer_content_type_t.</doc> </member> <member name="length_mismatch" value="2" c:identifier="HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH" glib:nick="length-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="719">buffers with differing length.</doc> </member> <member name="notdef_present" value="4" c:identifier="HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT" glib:nick="notdef-present" glib:name="HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="720">`.notdef` glyph is present in the reference buffer.</doc> </member> <member name="dotted_circle_present" value="8" c:identifier="HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT" glib:nick="dotted-circle-present" glib:name="HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="722">dotted circle glyph is present in the reference buffer.</doc> </member> <member name="codepoint_mismatch" value="16" c:identifier="HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH" glib:nick="codepoint-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="724">difference in #hb_glyph_info_t.codepoint</doc> </member> <member name="cluster_mismatch" value="32" c:identifier="HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH" glib:nick="cluster-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="725">difference in #hb_glyph_info_t.cluster</doc> </member> <member name="glyph_flags_mismatch" value="64" c:identifier="HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH" glib:nick="glyph-flags-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="726">difference in #hb_glyph_flags_t.</doc> </member> <member name="position_mismatch" value="128" c:identifier="HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH" glib:nick="position-mismatch" glib:name="HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="727">difference in #hb_glyph_position_t.</doc> </member> </bitfield> <bitfield name="buffer_flags_t" version="0.9.20" glib:type-name="hb_buffer_flags_t" glib:get-type="hb_gobject_buffer_flags_get_type" c:type="hb_buffer_flags_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="346">Flags for #hb_buffer_t.</doc> <member name="default" value="0" c:identifier="HB_BUFFER_FLAG_DEFAULT" glib:nick="default" glib:name="HB_BUFFER_FLAG_DEFAULT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="348">the default buffer flag.</doc> </member> <member name="bot" value="1" c:identifier="HB_BUFFER_FLAG_BOT" glib:nick="bot" glib:name="HB_BUFFER_FLAG_BOT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="349">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.</doc> </member> <member name="eot" value="2" c:identifier="HB_BUFFER_FLAG_EOT" glib:nick="eot" glib:name="HB_BUFFER_FLAG_EOT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="353">flag indicating that special handling of the end of text paragraph can be applied to this buffer, similar to @HB_BUFFER_FLAG_BOT.</doc> </member> <member name="preserve_default_ignorables" value="4" c:identifier="HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES" glib:nick="preserve-default-ignorables" glib:name="HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="356">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.</doc> </member> <member name="remove_default_ignorables" value="8" c:identifier="HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES" glib:nick="remove-default-ignorables" glib:name="HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="363">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</doc> </member> <member name="do_not_insert_dotted_circle" value="16" c:identifier="HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE" glib:nick="do-not-insert-dotted-circle" glib:name="HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="370">flag indicating that a dotted circle should not be inserted in the rendering of incorrect character sequences (such at <0905 093E>). Since: 2.4.0</doc> </member> <member name="verify" value="32" c:identifier="HB_BUFFER_FLAG_VERIFY" glib:nick="verify" glib:name="HB_BUFFER_FLAG_VERIFY"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="374">flag indicating that the hb_shape() call and its variants should perform various verification processes on the results of the shaping operation on the buffer. If the verification fails, then either a buffer message is sent, if a message handler is installed on the buffer, or a message is written to standard error. In either case, the shaping result might be modified to show the failed output. Since: 3.4.0</doc> </member> <member name="produce_unsafe_to_concat" value="64" c:identifier="HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT" glib:nick="produce-unsafe-to-concat" glib:name="HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="382">flag indicating that the @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT glyph-flag should be produced by the shaper. By default it will not be produced since it incurs a cost. Since: 4.0.0</doc> </member> <member name="produce_safe_to_insert_tatweel" value="128" c:identifier="HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL" glib:nick="produce-safe-to-insert-tatweel" glib:name="HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="386">flag indicating that the @HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL glyph-flag should be produced by the shaper. By default it will not be produced. Since: 5.1.0</doc> </member> <member name="defined" value="255" c:identifier="HB_BUFFER_FLAG_DEFINED" glib:nick="defined" glib:name="HB_BUFFER_FLAG_DEFINED"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="390">All currently defined flags: Since: 4.4.0</doc> </member> </bitfield> <function name="buffer_get_cluster_level" c:identifier="hb_buffer_get_cluster_level" version="0.9.42"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1227">Fetches the cluster level of a buffer. The #hb_buffer_cluster_level_t dictates one aspect of how HarfBuzz will treat non-base characters during shaping.</doc> <source-position filename="src/hb-buffer.h" line="457"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1235">The cluster level of @buffer</doc> <type name="buffer_cluster_level_t" c:type="hb_buffer_cluster_level_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1229">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_content_type" c:identifier="hb_buffer_get_content_type" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="942">Fetches the type of @buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping).</doc> <source-position filename="src/hb-buffer.h" line="302"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="949">The type of @buffer contents</doc> <type name="buffer_content_type_t" c:type="hb_buffer_content_type_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="944">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_direction" c:identifier="hb_buffer_get_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1027">See hb_buffer_set_direction()</doc> <source-position filename="src/hb-buffer.h" line="317"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1033">The direction of the @buffer.</doc> <type name="direction_t" c:type="hb_direction_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1029">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_empty" c:identifier="hb_buffer_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="795">Fetches an empty #hb_buffer_t.</doc> <source-position filename="src/hb-buffer.h" line="263"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="800">The empty buffer</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </return-value> </function> <function name="buffer_get_flags" c:identifier="hb_buffer_get_flags" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1189">Fetches the #hb_buffer_flags_t of @buffer.</doc> <source-position filename="src/hb-buffer.h" line="415"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1195">The @buffer flags</doc> <type name="buffer_flags_t" c:type="hb_buffer_flags_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1191">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_glyph_infos" c:identifier="hb_buffer_get_glyph_infos" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1589">Returns @buffer glyph information array. Returned pointer is valid as long as @buffer contents are not modified.</doc> <source-position filename="src/hb-buffer.h" line="588"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1597"> The @buffer glyph information array. The value valid as long as buffer has not been modified.</doc> <array length="1" zero-terminated="0" c:type="hb_glyph_info_t*"> <type name="glyph_info_t" c:type="hb_glyph_info_t"/> </array> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1591">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1592">The output-array length.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="buffer_get_glyph_positions" c:identifier="hb_buffer_get_glyph_positions" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1613">Returns @buffer glyph position array. Returned pointer is valid as long as @buffer contents are not modified. If buffer did not have positions before, the positions will be initialized to zeros, unless this function is called from within a buffer message callback (see hb_buffer_set_message_func()), in which case `NULL` is returned.</doc> <source-position filename="src/hb-buffer.h" line="592"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1626"> The @buffer glyph position array. The value valid as long as buffer has not been modified.</doc> <array length="1" zero-terminated="0" c:type="hb_glyph_position_t*"> <type name="glyph_position_t" c:type="hb_glyph_position_t"/> </array> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1615">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1616">The output length</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="buffer_get_invisible_glyph" c:identifier="hb_buffer_get_invisible_glyph" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1309">See hb_buffer_set_invisible_glyph().</doc> <source-position filename="src/hb-buffer.h" line="481"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1315">The @buffer invisible #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1311">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_language" c:identifier="hb_buffer_get_language" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1115">See hb_buffer_set_language().</doc> <source-position filename="src/hb-buffer.h" line="332"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1121"> The #hb_language_t of the buffer. Must not be freed by the caller.</doc> <type name="language_t" c:type="hb_language_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1117">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_length" c:identifier="hb_buffer_get_length" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1571">Returns the number of items in the buffer.</doc> <source-position filename="src/hb-buffer.h" line="583"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1577">The @buffer length. The value valid as long as buffer has not been modified.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1573">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_not_found_glyph" c:identifier="hb_buffer_get_not_found_glyph" version="3.1.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1349">See hb_buffer_set_not_found_glyph().</doc> <source-position filename="src/hb-buffer.h" line="488"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1355">The @buffer not-found #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1351">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_not_found_variation_selector_glyph" c:identifier="hb_buffer_get_not_found_variation_selector_glyph" version="10.0.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1389">See hb_buffer_set_not_found_variation_selector_glyph().</doc> <source-position filename="src/hb-buffer.h" line="495"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1395">The @buffer not-found-variation-selector #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1391">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_random_state" c:identifier="hb_buffer_get_random_state" version="8.4.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1433">See hb_buffer_set_random_state().</doc> <source-position filename="src/hb-buffer.h" line="502"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1439">The @buffer random state</doc> <type name="guint" c:type="unsigned"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1435">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_replacement_codepoint" c:identifier="hb_buffer_get_replacement_codepoint" version="0.9.31"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1268">Fetches the #hb_codepoint_t that replaces invalid entries for a given encoding when adding text to @buffer.</doc> <source-position filename="src/hb-buffer.h" line="474"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1275">The @buffer replacement #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1270">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_script" c:identifier="hb_buffer_get_script" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1071">Fetches the script of @buffer.</doc> <source-position filename="src/hb-buffer.h" line="324"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1077">The #hb_script_t of the @buffer</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1073">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_segment_properties" c:identifier="hb_buffer_get_segment_properties" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1153">Sets @props to the #hb_segment_properties_t of @buffer.</doc> <source-position filename="src/hb-buffer.h" line="339"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1155">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> <parameter name="props" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1156">The output #hb_segment_properties_t</doc> <type name="segment_properties_t" c:type="hb_segment_properties_t*"/> </parameter> </parameters> </function> <function name="buffer_get_unicode_funcs" c:identifier="hb_buffer_get_unicode_funcs" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="986">Fetches the Unicode-functions structure of a buffer.</doc> <source-position filename="src/hb-buffer.h" line="310"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="992">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="988">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_get_user_data" c:identifier="hb_buffer_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="879">Fetches the user data associated with the specified key, attached to the specified buffer.</doc> <source-position filename="src/hb-buffer.h" line="279"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="887">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="881">An #hb_buffer_t</doc> <type name="buffer_t" c:type="const hb_buffer_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="882">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="buffer_guess_segment_properties" c:identifier="hb_buffer_guess_segment_properties" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1733">Sets unset buffer segment properties based on buffer Unicode contents. If buffer is not empty, it must have content type #HB_BUFFER_CONTENT_TYPE_UNICODE. If buffer script is not set (ie. is #HB_SCRIPT_INVALID), it will be set to the Unicode script of the first character in the buffer that has a script other than #HB_SCRIPT_COMMON, #HB_SCRIPT_INHERITED, and #HB_SCRIPT_UNKNOWN. Next, if buffer direction is not set (ie. is #HB_DIRECTION_INVALID), it will be set to the natural horizontal direction of the buffer script as returned by hb_script_get_horizontal_direction(). If hb_script_get_horizontal_direction() returns #HB_DIRECTION_INVALID, then #HB_DIRECTION_LTR is used. Finally, if buffer language is not set (ie. is #HB_LANGUAGE_INVALID), it will be set to the process's default language as returned by hb_language_get_default(). This may change in the future by taking buffer script into consideration when choosing a language. Note that hb_language_get_default() is NOT threadsafe the first time it is called. See documentation for that function for details.</doc> <source-position filename="src/hb-buffer.h" line="343"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1735">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_has_positions" c:identifier="hb_buffer_has_positions" version="2.7.3"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1650">Returns whether @buffer has glyph position data. A buffer gains position data when hb_buffer_get_glyph_positions() is called on it, and cleared of position data when hb_buffer_clear_contents() is called.</doc> <source-position filename="src/hb-buffer.h" line="596"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1658">`true` if the @buffer has position array, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1652">an #hb_buffer_t.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <callback name="buffer_message_func_t" c:type="hb_buffer_message_func_t" version="1.1.3"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="782">A callback method for #hb_buffer_t. The method gets called with the #hb_buffer_t it was set on, the #hb_font_t the buffer is shaped with and a message describing what step of the shaping process will be performed. Returning `false` from this method will skip this shaping step and move to the next one.</doc> <source-position filename="src/hb-buffer.h" line="799"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="795">`true` to perform the shaping step, `false` to skip it.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="784">An #hb_buffer_t to work upon</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="785">The #hb_font_t the @buffer is shaped with</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="message" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="786">`NULL`-terminated message passed to the function</doc> <type name="utf8" c:type="const char*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="787">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="buffer_normalize_glyphs" c:identifier="hb_buffer_normalize_glyphs" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2112">Reorders a glyph buffer to have canonical in-cluster glyph order / position. The resulting clusters should behave identical to pre-reordering clusters. <note>This has nothing to do with Unicode normalization.</note></doc> <source-position filename="src/hb-buffer.h" line="600"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2114">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_pre_allocate" c:identifier="hb_buffer_pre_allocate" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1468">Pre allocates memory for @buffer to fit at least @size number of items.</doc> <source-position filename="src/hb-buffer.h" line="512"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1475">`true` if @buffer memory allocation succeeded, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1470">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="size" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1471">Number of items to pre allocate.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="buffer_reference" c:identifier="hb_buffer_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="810">Increases the reference count on @buffer by one. This prevents @buffer from being destroyed until a matching call to hb_buffer_destroy() is made.</doc> <source-position filename="src/hb-buffer.h" line="266"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="817"> The referenced #hb_buffer_t.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="812">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_reset" c:identifier="hb_buffer_reset" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="777">Resets the buffer to its initial status, as if it was just newly created with hb_buffer_create().</doc> <source-position filename="src/hb-buffer.h" line="259"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="779">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_reverse" c:identifier="hb_buffer_reverse" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1686">Reverses buffer contents.</doc> <source-position filename="src/hb-buffer.h" line="520"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1688">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_reverse_clusters" c:identifier="hb_buffer_reverse_clusters" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1717">Reverses buffer clusters. That is, the buffer contents are reversed, then each cluster (consecutive items having the same cluster number) are reversed again.</doc> <source-position filename="src/hb-buffer.h" line="527"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1719">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> </parameters> </function> <function name="buffer_reverse_range" c:identifier="hb_buffer_reverse_range" version="0.9.41"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1700">Reverses buffer contents between @start and @end.</doc> <source-position filename="src/hb-buffer.h" line="523"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1702">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1703">start index</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="end" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1704">end index</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="buffer_serialize" c:identifier="hb_buffer_serialize" version="2.7.3"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="632">Serializes @buffer into a textual representation of its content, whether Unicode codepoints or glyph identifiers and positioning information. This is useful for showing the contents of the buffer, for example during debugging. See the documentation of hb_buffer_serialize_unicode() and hb_buffer_serialize_glyphs() for a description of the output format.</doc> <source-position filename="src/hb-buffer.h" line="683"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="653">The number of serialized items.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="634">an #hb_buffer_t buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="635">the first item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="end" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="636">the last item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="637">output string to write serialized buffer into.</doc> <array length="4" zero-terminated="0" c:type="char*"> <type name="guint8"/> </array> </parameter> <parameter name="buf_size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="639">the size of @buf.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf_consumed" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="640">if not `NULL`, will be set to the number of bytes written into @buf.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="font" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="641">the #hb_font_t used to shape this buffer, needed to read glyph names and extents. If `NULL`, an empty font will be used.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="643">the #hb_buffer_serialize_format_t to use for formatting the output.</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> <parameter name="flags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="644">the #hb_buffer_serialize_flags_t that control what glyph properties to serialize.</doc> <type name="buffer_serialize_flags_t" c:type="hb_buffer_serialize_flags_t"/> </parameter> </parameters> </function> <bitfield name="buffer_serialize_flags_t" version="0.9.20" glib:type-name="hb_buffer_serialize_flags_t" glib:get-type="hb_gobject_buffer_serialize_flags_get_type" c:type="hb_buffer_serialize_flags_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="607">Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().</doc> <member name="default" value="0" c:identifier="HB_BUFFER_SERIALIZE_FLAG_DEFAULT" glib:nick="default" glib:name="HB_BUFFER_SERIALIZE_FLAG_DEFAULT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="609">serialize glyph names, clusters and positions.</doc> </member> <member name="no_clusters" value="1" c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS" glib:nick="no-clusters" glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="610">do not serialize glyph cluster.</doc> </member> <member name="no_positions" value="2" c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS" glib:nick="no-positions" glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="611">do not serialize glyph position information.</doc> </member> <member name="no_glyph_names" value="4" c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES" glib:nick="no-glyph-names" glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="612">do no serialize glyph name.</doc> </member> <member name="glyph_extents" value="8" c:identifier="HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS" glib:nick="glyph-extents" glib:name="HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="613">serialize glyph extents.</doc> </member> <member name="glyph_flags" value="16" c:identifier="HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS" glib:nick="glyph-flags" glib:name="HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="614">serialize glyph flags. Since: 1.5.0</doc> </member> <member name="no_advances" value="32" c:identifier="HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES" glib:nick="no-advances" glib:name="HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="615">do not serialize glyph advances, glyph offsets will reflect absolute glyph positions. Since: 1.8.0</doc> </member> <member name="defined" value="63" c:identifier="HB_BUFFER_SERIALIZE_FLAG_DEFINED" glib:nick="defined" glib:name="HB_BUFFER_SERIALIZE_FLAG_DEFINED"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="617">All currently defined flags. Since: 4.4.0</doc> </member> </bitfield> <function name="buffer_serialize_format_from_string" c:identifier="hb_buffer_serialize_format_from_string" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="56">Parses a string into an #hb_buffer_serialize_format_t. Does not check if @str is a valid buffer serialization format, use hb_buffer_serialize_list_formats() to get the list of supported formats.</doc> <source-position filename="src/hb-buffer.h" line="653"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="65">The parsed #hb_buffer_serialize_format_t.</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="58">a string to parse</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="59">length of @str, or -1 if string is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <enumeration name="buffer_serialize_format_t" version="0.9.2" glib:type-name="hb_buffer_serialize_format_t" glib:get-type="hb_gobject_buffer_serialize_format_get_type" c:type="hb_buffer_serialize_format_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="635">The buffer serialization and de-serialization format used in hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs().</doc> <member name="text" value="1413830740" c:identifier="HB_BUFFER_SERIALIZE_FORMAT_TEXT" glib:nick="text" glib:name="HB_BUFFER_SERIALIZE_FORMAT_TEXT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="637">a human-readable, plain text format.</doc> </member> <member name="json" value="1246973774" c:identifier="HB_BUFFER_SERIALIZE_FORMAT_JSON" glib:nick="json" glib:name="HB_BUFFER_SERIALIZE_FORMAT_JSON"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="638">a machine-readable JSON format.</doc> </member> <member name="invalid" value="0" c:identifier="HB_BUFFER_SERIALIZE_FORMAT_INVALID" glib:nick="invalid" glib:name="HB_BUFFER_SERIALIZE_FORMAT_INVALID"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="639">invalid format.</doc> </member> </enumeration> <function name="buffer_serialize_format_to_string" c:identifier="hb_buffer_serialize_format_to_string" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="77">Converts @format to the string corresponding it, or `NULL` if it is not a valid #hb_buffer_serialize_format_t.</doc> <source-position filename="src/hb-buffer.h" line="656"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="84"> A `NULL` terminated string corresponding to @format. Should not be freed.</doc> <type name="utf8" c:type="const char*"/> </return-value> <parameters> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="79">an #hb_buffer_serialize_format_t to convert.</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> </parameters> </function> <function name="buffer_serialize_glyphs" c:identifier="hb_buffer_serialize_glyphs" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="395">Serializes @buffer into a textual representation of its glyph content, useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats: ## text A human-readable, plain text format. The serialized glyphs will look something like: ``` [uni0651=0@518,0+0|uni0628=0+1897] ``` - The serialized glyphs are delimited with `[` and `]`. - Glyphs are separated with `|` - Each glyph starts with glyph name, or glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set. Then, - If #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set, `=` then #hb_glyph_info_t.cluster. - If #HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS is not set, the #hb_glyph_position_t in the format: - If both #hb_glyph_position_t.x_offset and #hb_glyph_position_t.y_offset are not 0, `@x_offset,y_offset`. Then, - `+x_advance`, then `,y_advance` if #hb_glyph_position_t.y_advance is not 0. Then, - If #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set, the #hb_glyph_extents_t in the format `<x_bearing,y_bearing,width,height>` ## json A machine-readable, structured format. The serialized glyphs will look something like: ``` [{"g":"uni0651","cl":0,"dx":518,"dy":0,"ax":0,"ay":0}, {"g":"uni0628","cl":0,"dx":0,"dy":0,"ax":1897,"ay":0}] ``` Each glyph is a JSON object, with the following properties: - `g`: the glyph name or glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set. - `cl`: #hb_glyph_info_t.cluster if #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set. - `dx`,`dy`,`ax`,`ay`: #hb_glyph_position_t.x_offset, #hb_glyph_position_t.y_offset, #hb_glyph_position_t.x_advance and #hb_glyph_position_t.y_advance respectively, if #HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS is not set. - `xb`,`yb`,`w`,`h`: #hb_glyph_extents_t.x_bearing, #hb_glyph_extents_t.y_bearing, #hb_glyph_extents_t.width and #hb_glyph_extents_t.height respectively if #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set.</doc> <source-position filename="src/hb-buffer.h" line="662"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="453">The number of serialized items.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="397">an #hb_buffer_t buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="398">the first item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="end" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="399">the last item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="400">output string to write serialized buffer into.</doc> <array length="4" zero-terminated="0" c:type="char*"> <type name="guint8"/> </array> </parameter> <parameter name="buf_size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="402">the size of @buf.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf_consumed" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="403">if not `NULL`, will be set to the number of bytes written into @buf.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="font" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="404">the #hb_font_t used to shape this buffer, needed to read glyph names and extents. If `NULL`, an empty font will be used.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="406">the #hb_buffer_serialize_format_t to use for formatting the output.</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> <parameter name="flags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="407">the #hb_buffer_serialize_flags_t that control what glyph properties to serialize.</doc> <type name="buffer_serialize_flags_t" c:type="hb_buffer_serialize_flags_t"/> </parameter> </parameters> </function> <function name="buffer_serialize_list_formats" c:identifier="hb_buffer_serialize_list_formats" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="40">Returns a list of supported buffer serialization formats.</doc> <source-position filename="src/hb-buffer.h" line="659"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="45"> A string array of buffer serialization formats. Should not be freed.</doc> <array c:type="const char**"> <type name="utf8"/> </array> </return-value> </function> <function name="buffer_serialize_unicode" c:identifier="hb_buffer_serialize_unicode" version="2.7.3"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="509">Serializes @buffer into a textual representation of its content, when the buffer contains Unicode codepoints (i.e., before shaping). This is useful for showing the contents of the buffer, for example during debugging. There are currently two supported serialization formats: ## text A human-readable, plain text format. The serialized codepoints will look something like: ``` <U+0651=0|U+0628=1> ``` - Glyphs are separated with `|` - Unicode codepoints are expressed as zero-padded four (or more) digit hexadecimal numbers preceded by `U+` - If #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set, the cluster will be indicated with a `=` then #hb_glyph_info_t.cluster. ## json A machine-readable, structured format. The serialized codepoints will be a list of objects with the following properties: - `u`: the Unicode codepoint as a decimal integer - `cl`: #hb_glyph_info_t.cluster if #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set. For example: ``` [{u:1617,cl:0},{u:1576,cl:1}] ```</doc> <source-position filename="src/hb-buffer.h" line="673"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="555">The number of serialized items.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="511">an #hb_buffer_t buffer.</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="512">the first item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="end" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="513">the last item in @buffer to serialize.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="514">output string to write serialized buffer into.</doc> <array length="4" zero-terminated="0" c:type="char*"> <type name="guint8"/> </array> </parameter> <parameter name="buf_size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="516">the size of @buf.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="buf_consumed" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="517">if not `NULL`, will be set to the number of bytes written into @buf.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="518">the #hb_buffer_serialize_format_t to use for formatting the output.</doc> <type name="buffer_serialize_format_t" c:type="hb_buffer_serialize_format_t"/> </parameter> <parameter name="flags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer-serialize.cc" line="519">the #hb_buffer_serialize_flags_t that control what glyph properties to serialize.</doc> <type name="buffer_serialize_flags_t" c:type="hb_buffer_serialize_flags_t"/> </parameter> </parameters> </function> <function name="buffer_set_cluster_level" c:identifier="hb_buffer_set_cluster_level" version="0.9.42"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1206">Sets the cluster level of a buffer. The #hb_buffer_cluster_level_t dictates one aspect of how HarfBuzz will treat non-base characters during shaping.</doc> <source-position filename="src/hb-buffer.h" line="453"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1208">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="cluster_level" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1209">The cluster level to set on the buffer</doc> <type name="buffer_cluster_level_t" c:type="hb_buffer_cluster_level_t"/> </parameter> </parameters> </function> <function name="buffer_set_content_type" c:identifier="hb_buffer_set_content_type" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="899">Sets the type of @buffer contents. Buffers are either empty, contain characters (before shaping), or contain glyphs (the result of shaping). You rarely need to call this function, since a number of other functions transition the content type for you. Namely: - A newly created buffer starts with content type %HB_BUFFER_CONTENT_TYPE_INVALID. Calling hb_buffer_reset(), hb_buffer_clear_contents(), as well as calling hb_buffer_set_length() with an argument of zero all set the buffer content type to invalid as well. - Calling hb_buffer_add_utf8(), hb_buffer_add_utf16(), hb_buffer_add_utf32(), hb_buffer_add_codepoints() and hb_buffer_add_latin1() expect that buffer is either empty and have a content type of invalid, or that buffer content type is %HB_BUFFER_CONTENT_TYPE_UNICODE, and they also set the content type to Unicode if they added anything to an empty buffer. - Finally hb_shape() and hb_shape_full() expect that the buffer is either empty and have content type of invalid, or that buffer content type is %HB_BUFFER_CONTENT_TYPE_UNICODE, and upon success they set the buffer content type to %HB_BUFFER_CONTENT_TYPE_GLYPHS. The above transitions are designed such that one can use a buffer in a loop of "reset : add-text : shape" without needing to ever modify the content type manually.</doc> <source-position filename="src/hb-buffer.h" line="298"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="901">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="content_type" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="902">The type of buffer contents to set</doc> <type name="buffer_content_type_t" c:type="hb_buffer_content_type_t"/> </parameter> </parameters> </function> <function name="buffer_set_direction" c:identifier="hb_buffer_set_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1002">Set the text flow direction of the buffer. No shaping can happen without setting @buffer direction, and it controls the visual direction for the output glyphs; for RTL direction the glyphs will be reversed. Many layout features depend on the proper setting of the direction, for example, reversing RTL text before shaping, then shaping with LTR direction is not the same as keeping the text in logical order and shaping with RTL direction.</doc> <source-position filename="src/hb-buffer.h" line="313"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1004">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1005">the #hb_direction_t of the @buffer</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> </parameters> </function> <function name="buffer_set_flags" c:identifier="hb_buffer_set_flags" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1170">Sets @buffer flags to @flags. See #hb_buffer_flags_t.</doc> <source-position filename="src/hb-buffer.h" line="411"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1172">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="flags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1173">The buffer flags to set</doc> <type name="buffer_flags_t" c:type="hb_buffer_flags_t"/> </parameter> </parameters> </function> <function name="buffer_set_invisible_glyph" c:identifier="hb_buffer_set_invisible_glyph" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1287">Sets the #hb_codepoint_t that replaces invisible characters in the shaping result. If set to zero (default), the glyph for the U+0020 SPACE character is used. Otherwise, this value is used verbatim.</doc> <source-position filename="src/hb-buffer.h" line="477"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1289">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="invisible" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1290">the invisible #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="buffer_set_language" c:identifier="hb_buffer_set_language" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1088">Sets the language of @buffer to @language. Languages are crucial for selecting which OpenType feature to apply to the buffer which can result in applying language-specific behaviour. Languages are orthogonal to the scripts, and though they are related, they are different concepts and should not be confused with each other. Use hb_language_from_string() to convert from BCP 47 language tags to #hb_language_t.</doc> <source-position filename="src/hb-buffer.h" line="327"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1090">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1091">An hb_language_t to set</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> </parameters> </function> <function name="buffer_set_length" c:identifier="hb_buffer_set_length" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1529">Similar to hb_buffer_pre_allocate(), but clears any new items added at the end.</doc> <source-position filename="src/hb-buffer.h" line="579"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1537">`true` if @buffer memory allocation succeeded, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1531">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1532">The new length of @buffer</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="buffer_set_message_func" c:identifier="hb_buffer_set_message_func" version="1.1.3"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2258">Sets the implementation function for #hb_buffer_message_func_t.</doc> <source-position filename="src/hb-buffer.h" line="805"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2260">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2261">Callback function</doc> <type name="buffer_message_func_t" c:type="hb_buffer_message_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2262">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="2263">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="buffer_set_not_found_glyph" c:identifier="hb_buffer_set_not_found_glyph" version="3.1.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1326">Sets the #hb_codepoint_t that replaces characters not found in the font during shaping. The not-found glyph defaults to zero, sometimes known as the ".notdef" glyph. This API allows for differentiating the two.</doc> <source-position filename="src/hb-buffer.h" line="484"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1328">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="not_found" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1329">the not-found #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="buffer_set_not_found_variation_selector_glyph" c:identifier="hb_buffer_set_not_found_variation_selector_glyph" version="10.0.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1366">Sets the #hb_codepoint_t that replaces variation-selector characters not resolved in the font during shaping. The not-found-variation-selector glyph defaults to #HB_CODEPOINT_INVALID, in which case an unresolved variation-selector will be removed from the glyph string during shaping. This API allows for changing that and retaining a glyph, such that the situation can be detected by the client and handled accordingly (e.g. by using a different font).</doc> <source-position filename="src/hb-buffer.h" line="491"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1368">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="not_found_variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1369">the not-found-variation-selector #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="buffer_set_random_state" c:identifier="hb_buffer_set_random_state" version="8.4.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1406">Sets the random state of the buffer. The state changes every time a glyph uses randomness (eg. the `rand` OpenType feature). This function together with hb_buffer_get_random_state() allow for transferring the current random state to a subsequent buffer, to get better randomness distribution. Defaults to 1 and when buffer contents are cleared. A value of 0 disables randomness during shaping.</doc> <source-position filename="src/hb-buffer.h" line="498"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1408">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="state" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1409">the new random state</doc> <type name="guint" c:type="unsigned"/> </parameter> </parameters> </function> <function name="buffer_set_replacement_codepoint" c:identifier="hb_buffer_set_replacement_codepoint" version="0.9.31"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1246">Sets the #hb_codepoint_t that replaces invalid entries for a given encoding when adding text to @buffer. Default is #HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.</doc> <source-position filename="src/hb-buffer.h" line="470"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1248">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="replacement" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1249">the replacement #hb_codepoint_t</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="buffer_set_script" c:identifier="hb_buffer_set_script" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1044">Sets the script of @buffer to @script. Script is crucial for choosing the proper shaping behaviour for scripts that require it (e.g. Arabic) and the which OpenType features defined in the font to be applied. You can pass one of the predefined #hb_script_t values, or use hb_script_from_string() or hb_script_from_iso15924_tag() to get the corresponding script from an ISO 15924 script tag.</doc> <source-position filename="src/hb-buffer.h" line="320"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1046">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1047">An #hb_script_t to set.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> </parameters> </function> <function name="buffer_set_segment_properties" c:identifier="hb_buffer_set_segment_properties" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1132">Sets the segment properties of the buffer, a shortcut for calling hb_buffer_set_direction(), hb_buffer_set_script() and hb_buffer_set_language() individually.</doc> <source-position filename="src/hb-buffer.h" line="335"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1134">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="props" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1135">An #hb_segment_properties_t to use</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> </parameters> </function> <function name="buffer_set_unicode_funcs" c:identifier="hb_buffer_set_unicode_funcs" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="961">Sets the Unicode-functions structure of a buffer to @unicode_funcs.</doc> <source-position filename="src/hb-buffer.h" line="306"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="963">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="unicode_funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="964">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="buffer_set_user_data" c:identifier="hb_buffer_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="855">Attaches a user-data key/data pair to the specified buffer.</doc> <source-position filename="src/hb-buffer.h" line="272"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="865">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="857">An #hb_buffer_t</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="858">The user-data key</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="859">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="860">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="861">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="buffer_t" c:type="hb_buffer_t" opaque="1" glib:type-name="hb_buffer_t" glib:get-type="hb_gobject_buffer_get_type" c:symbol-prefix="gobject_buffer"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="243">The main structure holding the input text and its properties before shaping, and output glyphs and their information after shaping.</doc> <source-position filename="src/hb-buffer.h" line="250"/> </record> <function name="color_get_alpha" c:identifier="hb_color_get_alpha" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1151">Fetches the alpha channel of the given @color.</doc> <source-position filename="src/hb-common.h" line="910"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1157">Alpha channel value</doc> <type name="guint8" c:type="uint8_t"/> </return-value> <parameters> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1153">an #hb_color_t we are interested in its channels.</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <function name="color_get_blue" c:identifier="hb_color_get_blue" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1199">Fetches the blue channel of the given @color.</doc> <source-position filename="src/hb-common.h" line="922"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1205">Blue channel value</doc> <type name="guint8" c:type="uint8_t"/> </return-value> <parameters> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1201">an #hb_color_t we are interested in its channels.</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <function name="color_get_green" c:identifier="hb_color_get_green" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1183">Fetches the green channel of the given @color.</doc> <source-position filename="src/hb-common.h" line="918"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1189">Green channel value</doc> <type name="guint8" c:type="uint8_t"/> </return-value> <parameters> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1185">an #hb_color_t we are interested in its channels.</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <function name="color_get_red" c:identifier="hb_color_get_red" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1167">Fetches the red channel of the given @color.</doc> <source-position filename="src/hb-common.h" line="914"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1173">Red channel value</doc> <type name="guint8" c:type="uint8_t"/> </return-value> <parameters> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1169">an #hb_color_t we are interested in its channels.</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <function name="color_line_get_color_stops" c:identifier="hb_color_line_get_color_stops" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="393">Fetches a list of color stops from the given color line object. Note that due to variations being applied, the returned color stops may be out of order. It is the callers responsibility to ensure that color stops are sorted by their offset before they are used.</doc> <source-position filename="src/hb-paint.h" line="430"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="407">the total number of color stops in @color_line</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="395">a #hb_color_line_t object</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="396">the index of the first color stop to return</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="397">Input = the maximum number of feature tags to return; Output = the actual number of feature tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="color_stops" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="399">Array of #hb_color_stop_t to populate</doc> <array length="2" zero-terminated="0" c:type="hb_color_stop_t*"> <type name="color_stop_t" c:type="hb_color_stop_t"/> </array> </parameter> </parameters> </function> <callback name="color_line_get_color_stops_func_t" c:type="hb_color_line_get_color_stops_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="364">A virtual method for the #hb_color_line_t to fetch color stops.</doc> <source-position filename="src/hb-paint.h" line="380"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="376">the total number of color stops in @color_line</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="366">a #hb_color_line_t object</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="color_line_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="367">the data accompanying @color_line</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="start" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="368">the index of the first color stop to return</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="369">Input = the maximum number of feature tags to return; Output = the actual number of feature tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="color_stops" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="371">Array of #hb_color_stop_t to populate</doc> <array length="3" zero-terminated="0" c:type="hb_color_stop_t*"> <type name="color_stop_t" c:type="hb_color_stop_t"/> </array> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-paint.h" line="372">the data accompanying this method</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="color_line_get_extend" c:identifier="hb_color_line_get_extend" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="424">Fetches the extend mode of the color line object.</doc> <source-position filename="src/hb-paint.h" line="436"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="430">the extend mode of @color_line</doc> <type name="paint_extend_t" c:type="hb_paint_extend_t"/> </return-value> <parameters> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="426">a #hb_color_line_t object</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> </parameters> </function> <callback name="color_line_get_extend_func_t" c:type="hb_color_line_get_extend_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="387">A virtual method for the @hb_color_line_t to fetches the extend mode.</doc> <source-position filename="src/hb-paint.h" line="399"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="395">the extend mode of @color_line</doc> <type name="paint_extend_t" c:type="hb_paint_extend_t"/> </return-value> <parameters> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="389">a #hb_color_line_t object</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="color_line_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="390">the data accompanying @color_line</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-paint.h" line="391">the data accompanying this method</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <record name="color_line_t" c:type="hb_color_line_t" version="7.0.0" glib:type-name="hb_color_line_t" glib:get-type="hb_gobject_color_line_get_type" c:symbol-prefix="gobject_color_line"> <doc xml:space="preserve" filename="src/hb-paint.h" line="403">A struct containing color information for a gradient.</doc> <source-position filename="src/hb-paint.h" line="427"/> <field name="data" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="get_color_stops" writable="1"> <type name="color_line_get_color_stops_func_t" c:type="hb_color_line_get_color_stops_func_t"/> </field> <field name="get_color_stops_user_data" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="get_extend" writable="1"> <type name="color_line_get_extend_func_t" c:type="hb_color_line_get_extend_func_t"/> </field> <field name="get_extend_user_data" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved0" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved1" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved2" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved3" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved5" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved6" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved7" writable="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved8" writable="1"> <type name="gpointer" c:type="void*"/> </field> </record> <record name="color_stop_t" c:type="hb_color_stop_t" version="7.0.0" glib:type-name="hb_color_stop_t" glib:get-type="hb_gobject_color_stop_get_type" c:symbol-prefix="gobject_color_stop"> <doc xml:space="preserve" filename="src/hb-paint.h" line="312">Information about a color stop on a color line. Color lines typically have offsets ranging between 0 and 1, but that is not required. Note: despite @color being unpremultiplied here, interpolation in gradients shall happen in premultiplied space. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details.</doc> <source-position filename="src/hb-paint.h" line="334"/> <field name="offset" writable="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="314">the offset of the color stop</doc> <type name="gfloat" c:type="float"/> </field> <field name="is_foreground" writable="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="315">whether the color is the foreground</doc> <type name="bool_t" c:type="hb_bool_t"/> </field> <field name="color" writable="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="316">the color, unpremultiplied</doc> <type name="color_t" c:type="hb_color_t"/> </field> </record> <callback name="destroy_func_t" c:type="hb_destroy_func_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="800">A virtual method for destroy user-data callbacks.</doc> <source-position filename="src/hb-common.h" line="807"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0"> <doc xml:space="preserve" filename="src/hb-common.h" line="802">the data to be destroyed</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="direction_from_string" c:identifier="hb_direction_from_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="144">Converts a string to an #hb_direction_t. Matching is loose and applies only to the first letter. For examples, "LTR" and "left-to-right" will both return #HB_DIRECTION_LTR. Unmatched strings will return #HB_DIRECTION_INVALID.</doc> <source-position filename="src/hb-common.h" line="246"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="156">The #hb_direction_t matching @str</doc> <type name="direction_t" c:type="hb_direction_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="146">String to convert</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="147">Length of @str, or -1 if it is `NULL`-terminated</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <enumeration name="direction_t" glib:type-name="hb_direction_t" glib:get-type="hb_gobject_direction_get_type" c:type="hb_direction_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="221">The direction of a text segment or buffer. A segment can also be tested for horizontal or vertical orientation (irrespective of specific direction) with HB_DIRECTION_IS_HORIZONTAL() or HB_DIRECTION_IS_VERTICAL().</doc> <member name="invalid" value="0" c:identifier="HB_DIRECTION_INVALID" glib:nick="invalid" glib:name="HB_DIRECTION_INVALID"> <doc xml:space="preserve" filename="src/hb-common.h" line="223">Initial, unset direction.</doc> </member> <member name="ltr" value="4" c:identifier="HB_DIRECTION_LTR" glib:nick="ltr" glib:name="HB_DIRECTION_LTR"> <doc xml:space="preserve" filename="src/hb-common.h" line="224">Text is set horizontally from left to right.</doc> </member> <member name="rtl" value="5" c:identifier="HB_DIRECTION_RTL" glib:nick="rtl" glib:name="HB_DIRECTION_RTL"> <doc xml:space="preserve" filename="src/hb-common.h" line="225">Text is set horizontally from right to left.</doc> </member> <member name="ttb" value="6" c:identifier="HB_DIRECTION_TTB" glib:nick="ttb" glib:name="HB_DIRECTION_TTB"> <doc xml:space="preserve" filename="src/hb-common.h" line="226">Text is set vertically from top to bottom.</doc> </member> <member name="btt" value="7" c:identifier="HB_DIRECTION_BTT" glib:nick="btt" glib:name="HB_DIRECTION_BTT"> <doc xml:space="preserve" filename="src/hb-common.h" line="227">Text is set vertically from bottom to top.</doc> </member> </enumeration> <function name="direction_to_string" c:identifier="hb_direction_to_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="177">Converts an #hb_direction_t to a string.</doc> <source-position filename="src/hb-common.h" line="249"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="183">The string corresponding to @direction</doc> <type name="utf8" c:type="const char*"/> </return-value> <parameters> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="179">The #hb_direction_t to convert</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> </parameters> </function> <function name="draw_close_path" c:identifier="hb_draw_close_path" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="440">Perform a "close-path" draw operation.</doc> <source-position filename="src/hb-draw.h" line="334"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="442">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="443">associated draw data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="444">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> </parameters> </function> <callback name="draw_close_path_func_t" c:type="hb_draw_close_path_func_t" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="181">A virtual method for the #hb_draw_funcs_t to perform a "close-path" draw operation.</doc> <source-position filename="src/hb-draw.h" line="194"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="183">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="184">The data accompanying the draw functions in hb_font_draw_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="185">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="186">User data pointer passed to hb_draw_funcs_set_close_path_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="draw_cubic_to" c:identifier="hb_draw_cubic_to" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="411">Perform a "cubic-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="327"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="413">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="414">associated draw data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="415">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="control1_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="416">X component of first control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control1_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="417">Y component of first control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control2_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="418">X component of second control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control2_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="419">Y component of second control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="420">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="421">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="draw_cubic_to_func_t" c:type="hb_draw_cubic_to_func_t" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="155">A virtual method for the #hb_draw_funcs_t to perform a "cubic-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="174"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="157">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="158">The data accompanying the draw functions in hb_font_draw_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="159">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="control1_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="160">X component of first control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control1_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="161">Y component of first control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control2_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="162">X component of second control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control2_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="163">Y component of second control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="164">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="165">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="9"> <doc xml:space="preserve" filename="src/hb-draw.h" line="166">User data pointer passed to hb_draw_funcs_set_cubic_to_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="draw_funcs_create" c:identifier="hb_draw_funcs_create" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="166">Creates a new draw callbacks object.</doc> <source-position filename="src/hb-draw.h" line="280"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="171"> A newly allocated #hb_draw_funcs_t with a reference count of 1. The initial reference count should be released with hb_draw_funcs_destroy when you are done using the #hb_draw_funcs_t. This function never returns `NULL`. If memory cannot be allocated, a special singleton #hb_draw_funcs_t object will be returned.</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </return-value> </function> <function name="draw_funcs_destroy" c:identifier="hb_draw_funcs_destroy" version="4.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="238">Deallocate the @dfuncs. Decreases the reference count on @dfuncs by one. If the result is zero, then @dfuncs and all associated resources are freed. See hb_draw_funcs_reference().</doc> <source-position filename="src/hb-draw.h" line="289"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="240">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> </parameters> </function> <function name="draw_funcs_get_empty" c:identifier="hb_draw_funcs_get_empty" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="203">Fetches the singleton empty draw-functions structure.</doc> <source-position filename="src/hb-draw.h" line="283"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="208">The empty draw-functions structure</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </return-value> </function> <function name="draw_funcs_get_user_data" c:identifier="hb_draw_funcs_get_user_data" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="291">Fetches the user-data associated with the specified key, attached to the specified draw-functions structure.</doc> <source-position filename="src/hb-draw.h" line="300"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="299">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="293">The draw-functions structure</doc> <type name="draw_funcs_t" c:type="const hb_draw_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="294">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="draw_funcs_is_immutable" c:identifier="hb_draw_funcs_is_immutable" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="327">Checks whether @dfuncs is immutable.</doc> <source-position filename="src/hb-draw.h" line="307"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="333">`true` if @dfuncs is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="329">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> </parameters> </function> <function name="draw_funcs_make_immutable" c:identifier="hb_draw_funcs_make_immutable" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="310">Makes @dfuncs object immutable.</doc> <source-position filename="src/hb-draw.h" line="304"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="312">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> </parameters> </function> <function name="draw_funcs_reference" c:identifier="hb_draw_funcs_reference" version="4.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="218">Increases the reference count on @dfuncs by one. This prevents @dfuncs from being destroyed until a matching call to hb_draw_funcs_destroy() is made.</doc> <source-position filename="src/hb-draw.h" line="286"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="227"> The referenced #hb_draw_funcs_t.</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="220">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> </parameters> </function> <function name="draw_funcs_set_close_path_func" c:identifier="hb_draw_funcs_set_close_path_func" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="262">Sets close-path callback to the draw functions object.</doc> <source-position filename="src/hb-draw.h" line="274"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="264">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="265">close-path callback</doc> <type name="draw_close_path_func_t" c:type="hb_draw_close_path_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="266">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-draw.h" line="267">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="draw_funcs_set_cubic_to_func" c:identifier="hb_draw_funcs_set_cubic_to_func" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="246">Sets cubic-to callback to the draw functions object.</doc> <source-position filename="src/hb-draw.h" line="258"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="248">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="249">cubic-to callback</doc> <type name="draw_cubic_to_func_t" c:type="hb_draw_cubic_to_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="250">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-draw.h" line="251">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="draw_funcs_set_line_to_func" c:identifier="hb_draw_funcs_set_line_to_func" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="214">Sets line-to callback to the draw functions object.</doc> <source-position filename="src/hb-draw.h" line="226"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="216">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="217">line-to callback</doc> <type name="draw_line_to_func_t" c:type="hb_draw_line_to_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="218">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-draw.h" line="219">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="draw_funcs_set_move_to_func" c:identifier="hb_draw_funcs_set_move_to_func" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="198">Sets move-to callback to the draw functions object.</doc> <source-position filename="src/hb-draw.h" line="210"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="200">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="201">move-to callback</doc> <type name="draw_move_to_func_t" c:type="hb_draw_move_to_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="202">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-draw.h" line="203">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="draw_funcs_set_quadratic_to_func" c:identifier="hb_draw_funcs_set_quadratic_to_func" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="230">Sets quadratic-to callback to the draw functions object.</doc> <source-position filename="src/hb-draw.h" line="242"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="232">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-draw.h" line="233">quadratic-to callback</doc> <type name="draw_quadratic_to_func_t" c:type="hb_draw_quadratic_to_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="234">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-draw.h" line="235">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="draw_funcs_set_user_data" c:identifier="hb_draw_funcs_set_user_data" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="267">Attaches a user-data key/data pair to the specified draw-functions structure.</doc> <source-position filename="src/hb-draw.h" line="292"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="277">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="269">The draw-functions structure</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="270">The user-data key</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="271">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="272">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="273">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="draw_funcs_t" c:type="hb_draw_funcs_t" opaque="1" version="4.0.0" glib:type-name="hb_draw_funcs_t" glib:get-type="hb_gobject_draw_funcs_get_type" c:symbol-prefix="gobject_draw_funcs"> <doc xml:space="preserve" filename="src/hb-draw.h" line="76">Glyph draw callbacks. #hb_draw_move_to_func_t, #hb_draw_line_to_func_t and #hb_draw_cubic_to_func_t calls are necessary to be defined but we translate #hb_draw_quadratic_to_func_t calls to #hb_draw_cubic_to_func_t if the callback isn't defined.</doc> <source-position filename="src/hb-draw.h" line="89"/> </record> <function name="draw_line_to" c:identifier="hb_draw_line_to" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="365">Perform a "line-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="316"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="367">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="368">associated draw data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="369">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="370">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="371">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="draw_line_to_func_t" c:type="hb_draw_line_to_func_t" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="112">A virtual method for the #hb_draw_funcs_t to perform a "line-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="127"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="114">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="115">The data accompanying the draw functions in hb_font_draw_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="116">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="117">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="118">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-draw.h" line="119">User data pointer passed to hb_draw_funcs_set_line_to_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="draw_move_to" c:identifier="hb_draw_move_to" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="344">Perform a "move-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="311"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="346">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="347">associated draw data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="348">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="349">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="350">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="draw_move_to_func_t" c:type="hb_draw_move_to_func_t" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="92">A virtual method for the #hb_draw_funcs_t to perform a "move-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="107"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="94">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="95">The data accompanying the draw functions in hb_font_draw_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="96">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="97">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="98">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-draw.h" line="99">User data pointer passed to hb_draw_funcs_set_move_to_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="draw_quadratic_to" c:identifier="hb_draw_quadratic_to" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="386">Perform a "quadratic-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="321"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="388">draw functions</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="389">associated draw data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="390">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="control_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="391">X component of control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="392">Y component of control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="393">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="394">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="draw_quadratic_to_func_t" c:type="hb_draw_quadratic_to_func_t" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-draw.h" line="132">A virtual method for the #hb_draw_funcs_t to perform a "quadratic-to" draw operation.</doc> <source-position filename="src/hb-draw.h" line="149"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="134">draw functions object</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="135">The data accompanying the draw functions in hb_font_draw_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="st" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="136">current draw state</doc> <type name="draw_state_t" c:type="hb_draw_state_t*"/> </parameter> <parameter name="control_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="137">X component of control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="control_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="138">Y component of control point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_x" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="139">X component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="to_y" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-draw.h" line="140">Y component of target point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7"> <doc xml:space="preserve" filename="src/hb-draw.h" line="141">User data pointer passed to hb_draw_funcs_set_quadratic_to_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <record name="draw_state_t" c:type="hb_draw_state_t" version="4.0.0" glib:type-name="hb_draw_state_t" glib:get-type="hb_gobject_draw_state_get_type" c:symbol-prefix="gobject_draw_state"> <doc xml:space="preserve" filename="src/hb-draw.h" line="37">Current drawing state.</doc> <source-position filename="src/hb-draw.h" line="66"/> <field name="path_open" writable="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="39">Whether there is an open path</doc> <type name="bool_t" c:type="hb_bool_t"/> </field> <field name="path_start_x" writable="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="40">X component of the start of current path</doc> <type name="gfloat" c:type="float"/> </field> <field name="path_start_y" writable="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="41">Y component of the start of current path</doc> <type name="gfloat" c:type="float"/> </field> <field name="current_x" writable="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="42">X component of current point</doc> <type name="gfloat" c:type="float"/> </field> <field name="current_y" writable="1"> <doc xml:space="preserve" filename="src/hb-draw.h" line="43">Y component of current point</doc> <type name="gfloat" c:type="float"/> </field> <field name="reserved1" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved2" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved3" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved4" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved5" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved6" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> <field name="reserved7" readable="0" private="1"> <type name="var_num_t" c:type="hb_var_num_t"/> </field> </record> <function name="face_builder_add_table" c:identifier="hb_face_builder_add_table" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="230">Add table for @tag with data provided by @blob to the face. @face must be created using hb_face_builder_create().</doc> <source-position filename="src/hb-face.h" line="212"/> <return-value transfer-ownership="none"> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="232">A face object created with hb_face_builder_create()</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="233">The #hb_tag_t of the table to add</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="234">The blob containing the table data to add</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="face_builder_create" c:identifier="hb_face_builder_create" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="201">Creates a #hb_face_t that can be used with hb_face_builder_add_table(). After tables are added to the face, it can be compiled to a binary font file by calling hb_face_reference_blob().</doc> <source-position filename="src/hb-face.h" line="209"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="208">New face.</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> </function> <function name="face_builder_sort_tables" c:identifier="hb_face_builder_sort_tables" version="5.3.0"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="263">Set the ordering of tables for serialization. Any tables not specified in the tags list will be ordered after the tables in tags, ordered by the default sort ordering.</doc> <source-position filename="src/hb-face.h" line="217"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="265">A face object created with hb_face_builder_create()</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="tags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face-builder.cc" line="266">ordered list of table tags terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="face_collect_nominal_glyph_mapping" c:identifier="hb_face_collect_nominal_glyph_mapping" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="711">Collects the mapping from Unicode characters to nominal glyphs of the @face, and optionally all of the Unicode characters covered by @face.</doc> <source-position filename="src/hb-face.h" line="190"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="713">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="mapping" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="714">The map to add Unicode-to-glyph mapping to</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> <parameter name="unicodes" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="715">The set to add Unicode characters to, or `NULL`</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="face_collect_unicodes" c:identifier="hb_face_collect_unicodes" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="695">Collects all of the Unicode characters covered by @face and adds them to the #hb_set_t set @out.</doc> <source-position filename="src/hb-face.h" line="186"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="697">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="out" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="698">The set to add Unicode characters to</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="face_collect_variation_selectors" c:identifier="hb_face_collect_variation_selectors" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="732">Collects all Unicode "Variation Selector" characters covered by @face and adds them to the #hb_set_t set @out.</doc> <source-position filename="src/hb-face.h" line="195"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="734">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="out" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="735">The set to add Variation Selector characters to</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="face_collect_variation_unicodes" c:identifier="hb_face_collect_variation_unicodes" version="1.9.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="748">Collects all Unicode characters for @variation_selector covered by @face and adds them to the #hb_set_t set @out.</doc> <source-position filename="src/hb-face.h" line="199"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="750">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="751">The Variation Selector to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="out" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="752">The set to add Unicode characters to</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="face_count" c:identifier="hb_face_count" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-face.cc" line="59">Fetches the number of faces in a blob.</doc> <source-position filename="src/hb-face.h" line="43"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="65">Number of faces in @blob</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="61">a blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> </parameters> </function> <function name="face_create" c:identifier="hb_face_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="210">Constructs a new face object from the specified blob and a face index into that blob. The face index is used for blobs of file formats such as TTC and DFont that can contain more than one face. Face indices within such collections are zero-based. <note>Note: If the blob font format is not a collection, @index is ignored. Otherwise, only the lower 16-bits of @index are used. The unmodified @index can be accessed via hb_face_get_index().</note> <note>Note: The high 16-bits of @index, if non-zero, are used by hb_font_create() to load named-instances in variable fonts. See hb_font_create() for details.</note></doc> <source-position filename="src/hb-face.h" line="59"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="230">The new face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="212">#hb_blob_t to work upon</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="213">The index of the face within @blob</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_create_for_tables" c:identifier="hb_face_create_for_tables" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="101">Variant of hb_face_create(), built for those cases where it is more convenient to provide data for individual tables instead of the whole font data. With the caveat that hb_face_get_table_tags() would not work with faces created this way. You can address that by calling the hb_face_set_get_table_tags_func() function and setting the appropriate callback. Creates a new face object from the specified @user_data and @reference_table_func, with the @destroy callback.</doc> <source-position filename="src/hb-face.h" line="87"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="116">The new face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="reference_table_func" transfer-ownership="none" scope="notified" closure="1" destroy="2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="103">Table-referencing function</doc> <type name="reference_table_func_t" c:type="hb_reference_table_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="104">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-face.cc" line="105">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="face_create_from_file_or_fail" c:identifier="hb_face_create_from_file_or_fail" version="10.1.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="294">A thin wrapper around hb_blob_create_from_file_or_fail() followed by hb_face_create_or_fail().</doc> <source-position filename="src/hb-face.h" line="67"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="302">The new face object, or `NULL` if no face is found at the specified index or the file cannot be read.</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="file_name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="296">A font filename</doc> <type name="utf8" c:type="const char*"/> </parameter> <parameter name="index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="297">The index of the face within the file</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_create_or_fail" c:identifier="hb_face_create_or_fail" version="10.1.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="266">Like hb_face_create(), but returns `NULL` if the blob data contains no usable font face at the specified index.</doc> <source-position filename="src/hb-face.h" line="63"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="274">The new face object, or `NULL` if no face is found at the specified index.</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="blob" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="268">#hb_blob_t to work upon</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="269">The index of the face within @blob</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_destroy" c:identifier="hb_face_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="353">Decreases the reference count on a face object. When the reference count reaches zero, the face is destroyed, freeing all memory.</doc> <source-position filename="src/hb-face.h" line="98"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="355">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="face_get_empty" c:identifier="hb_face_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="321">Fetches the singleton empty face object.</doc> <source-position filename="src/hb-face.h" line="92"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="326">The empty face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> </function> <function name="face_get_glyph_count" c:identifier="hb_face_get_glyph_count" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-face.cc" line="610">Fetches the glyph-count value of the specified face object.</doc> <source-position filename="src/hb-face.h" line="144"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="616">The glyph-count value of @face</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="612">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> </parameters> </function> <function name="face_get_index" c:identifier="hb_face_get_index" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="531">Fetches the face-index corresponding to the given face. <note>Note: face indices within a collection are zero-based.</note></doc> <source-position filename="src/hb-face.h" line="130"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="539">The index of @face.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="533">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> </parameters> </function> <function name="face_get_table_tags" c:identifier="hb_face_get_table_tags" version="1.6.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="657">Fetches a list of all table tags for a face, if possible. The list returned will begin at the offset provided</doc> <source-position filename="src/hb-face.h" line="175"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="668">Total number of tables, or zero if it is not possible to list</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="659">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="660">The index of first table tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="table_count" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="661">Input = the maximum number of table tags to return; Output = the actual number of table tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="table_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="663">The array of table tags found</doc> <array length="2" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="face_get_upem" c:identifier="hb_face_get_upem" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="570">Fetches the units-per-em (UPEM) value of the specified face object. Typical UPEM values for fonts are 1000, or 2048, but any value in between 16 and 16,384 is allowed for OpenType fonts.</doc> <source-position filename="src/hb-face.h" line="137"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="579">The upem value of @face</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="572">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> </parameters> </function> <function name="face_get_user_data" c:identifier="hb_face_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="414">Fetches the user data associated with the specified key, attached to the specified face object.</doc> <source-position filename="src/hb-face.h" line="108"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="422">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="416">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="417">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="face_is_immutable" c:identifier="hb_face_is_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="450">Tests whether the given face object is immutable.</doc> <source-position filename="src/hb-face.h" line="115"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="456">`true` is @face is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="452">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> </parameters> </function> <function name="face_make_immutable" c:identifier="hb_face_make_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="433">Makes the given face object immutable.</doc> <source-position filename="src/hb-face.h" line="112"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="435">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="face_reference" c:identifier="hb_face_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="337">Increases the reference count on a face object.</doc> <source-position filename="src/hb-face.h" line="95"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="343">The @face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="339">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="face_reference_blob" c:identifier="hb_face_reference_blob" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="490">Fetches a pointer to the binary blob that contains the specified face. Returns an empty blob if referencing face data is not possible.</doc> <source-position filename="src/hb-face.h" line="123"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="498">A pointer to the blob for @face</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="492">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="face_reference_table" c:identifier="hb_face_reference_table" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="467">Fetches a reference to the specified table within the specified face. Returns an empty blob if referencing table data is not possible.</doc> <source-position filename="src/hb-face.h" line="119"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.cc" line="476">A pointer to the @tag table within @face</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="469">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="470">The #hb_tag_t of the table to query</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> </parameters> </function> <function name="face_set_get_table_tags_func" c:identifier="hb_face_set_get_table_tags_func" version="10.0.0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="626">Sets the table-tag-fetching function for the specified face object.</doc> <source-position filename="src/hb-face.h" line="169"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="628">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-face.cc" line="629">The table-tag-fetching function</doc> <type name="get_table_tags_func_t" c:type="hb_get_table_tags_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="630">A pointer to the user data, to be destroyed by @destroy when not needed anymore</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-face.cc" line="631">A callback to call when @func is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="face_set_glyph_count" c:identifier="hb_face_set_glyph_count" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-face.cc" line="589">Sets the glyph count for a face object to the specified value. This API is used in rare circumstances.</doc> <source-position filename="src/hb-face.h" line="140"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="591">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph_count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="592">The glyph-count value to assign</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_set_index" c:identifier="hb_face_set_index" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="508">Assigns the specified face-index to @face. Fails if the face is immutable. <note>Note: changing the index has no effect on the face itself This only changes the value returned by hb_face_get_index().</note></doc> <source-position filename="src/hb-face.h" line="126"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="510">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="511">The index to assign</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_set_upem" c:identifier="hb_face_set_upem" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.cc" line="549">Sets the units-per-em (upem) for a face object to the specified value. This API is used in rare circumstances.</doc> <source-position filename="src/hb-face.h" line="133"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="551">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="upem" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="552">The units-per-em value to assign</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="face_set_user_data" c:identifier="hb_face_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-face.cc" line="390">Attaches a user-data key/data pair to the given face object.</doc> <source-position filename="src/hb-face.h" line="101"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="400">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="392">A face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="393">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="394">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-face.cc" line="395">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.cc" line="396">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="face_t" c:type="hb_face_t" opaque="1" glib:type-name="hb_face_t" glib:get-type="hb_gobject_face_get_type" c:symbol-prefix="gobject_face"> <doc xml:space="preserve" filename="src/hb-face.h" line="50">Data type for holding font faces.</doc> <source-position filename="src/hb-face.h" line="56"/> </record> <function name="feature_from_string" c:identifier="hb_feature_from_string" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-common.cc" line="891">Parses a string into a #hb_feature_t. The format for specifying feature strings follows. All valid CSS font-feature-settings values other than 'normal' and the global values are also accepted, though not documented below. CSS string escapes are not supported. The range indices refer to the positions between Unicode characters. The position before the first character is always 0. The format is Python-esque. Here is how it all works: <informaltable pgwide='1' align='left' frame='none'> <tgroup cols='5'> <thead> <row><entry>Syntax</entry> <entry>Value</entry> <entry>Start</entry> <entry>End</entry></row> </thead> <tbody> <row><entry>Setting value:</entry></row> <row><entry>kern</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row> <row><entry>+kern</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row> <row><entry>-kern</entry> <entry>0</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature off</entry></row> <row><entry>kern=0</entry> <entry>0</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature off</entry></row> <row><entry>kern=1</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row> <row><entry>aalt=2</entry> <entry>2</entry> <entry>0</entry> <entry>∞</entry> <entry>Choose 2nd alternate</entry></row> <row><entry>Setting index:</entry></row> <row><entry>kern[]</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row> <row><entry>kern[:]</entry> <entry>1</entry> <entry>0</entry> <entry>∞</entry> <entry>Turn feature on</entry></row> <row><entry>kern[5:]</entry> <entry>1</entry> <entry>5</entry> <entry>∞</entry> <entry>Turn feature on, partial</entry></row> <row><entry>kern[:5]</entry> <entry>1</entry> <entry>0</entry> <entry>5</entry> <entry>Turn feature on, partial</entry></row> <row><entry>kern[3:5]</entry> <entry>1</entry> <entry>3</entry> <entry>5</entry> <entry>Turn feature on, range</entry></row> <row><entry>kern[3]</entry> <entry>1</entry> <entry>3</entry> <entry>3+1</entry> <entry>Turn feature on, single char</entry></row> <row><entry>Mixing it all:</entry></row> <row><entry>aalt[3:5]=2</entry> <entry>2</entry> <entry>3</entry> <entry>5</entry> <entry>Turn 2nd alternate on for range</entry></row> </tbody> </tgroup> </informaltable></doc> <source-position filename="src/hb-common.h" line="855"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="935">`true` if @str is successfully parsed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="893">a string to parse</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="894">length of @str, or -1 if string is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="feature" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="895">the #hb_feature_t to initialize with the parsed values</doc> <type name="feature_t" c:type="hb_feature_t*"/> </parameter> </parameters> </function> <record name="feature_t" c:type="hb_feature_t" glib:type-name="hb_feature_t" glib:get-type="hb_gobject_feature_get_type" c:symbol-prefix="gobject_feature"> <doc xml:space="preserve" filename="src/hb-common.h" line="832">The #hb_feature_t is the structure that holds information about requested feature application. The feature will be applied with the given value to all glyphs which are in clusters between @start (inclusive) and @end (exclusive). Setting start to #HB_FEATURE_GLOBAL_START and end to #HB_FEATURE_GLOBAL_END specifies that the feature always applies to the entire buffer.</doc> <source-position filename="src/hb-common.h" line="852"/> <field name="tag" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="834">The #hb_tag_t tag of the feature</doc> <type name="tag_t" c:type="hb_tag_t"/> </field> <field name="value" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="835">The value of the feature. 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.</doc> <type name="guint32" c:type="uint32_t"/> </field> <field name="start" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="838">the cluster to start applying this feature setting (inclusive).</doc> <type name="guint" c:type="unsigned int"/> </field> <field name="end" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="839">the cluster to end applying this feature setting (exclusive).</doc> <type name="guint" c:type="unsigned int"/> </field> <method name="_string" c:identifier="hb_feature_to_string" moved-to="feature_to_string" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-common.cc" line="961">Converts a #hb_feature_t into a `NULL`-terminated string in the format understood by hb_feature_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough.</doc> <source-position filename="src/hb-common.h" line="859"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <instance-parameter name="feature" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="963">an #hb_feature_t to convert</doc> <type name="feature_t" c:type="hb_feature_t*"/> </instance-parameter> <parameter name="buf" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="964">output string</doc> <array length="1" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="965">the allocated size of @buf</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </method> </record> <function name="feature_to_string" c:identifier="hb_feature_to_string" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-common.cc" line="961">Converts a #hb_feature_t into a `NULL`-terminated string in the format understood by hb_feature_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough.</doc> <source-position filename="src/hb-common.h" line="859"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="feature" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="963">an #hb_feature_t to convert</doc> <type name="feature_t" c:type="hb_feature_t*"/> </parameter> <parameter name="buf" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="964">output string</doc> <array length="2" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="965">the allocated size of @buf</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_add_glyph_origin_for_direction" c:identifier="hb_font_add_glyph_origin_for_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1573">Adds the origin coordinates to an (X,Y) point coordinate, in the specified glyph ID in the specified font. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="943"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1575">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1576">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1577">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1578">Input = The original X coordinate Output = The X coordinate plus the X-coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1580">Input = The original Y coordinate Output = The Y coordinate plus the Y-coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="font_changed" c:identifier="hb_font_changed" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2104">Notifies the @font that underlying font data has changed. This has the effect of increasing the serial as returned by hb_font_get_serial(), which invalidates internal caches.</doc> <source-position filename="src/hb-font.h" line="1026"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2106">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_create" c:identifier="hb_font_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1835">Constructs a new font object from the specified face. <note>Note: If @face's index value (as passed to hb_face_create() has non-zero top 16-bits, those bits minus one are passed to hb_font_set_var_named_instance(), effectively loading a named-instance of a variable font, instead of the default-instance. This allows specifying which named-instance to load by default when creating the face.</note></doc> <source-position filename="src/hb-font.h" line="990"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1848">The new font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1837">a face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="font_create_sub_font" c:identifier="hb_font_create_sub_font" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1886">Constructs a sub-font font object from the specified @parent font, replicating the parent's properties.</doc> <source-position filename="src/hb-font.h" line="993"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1893">The new sub-font font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="parent" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1888">The parent font object</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_destroy" c:identifier="hb_font_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1974">Decreases the reference count on the given font object. When the reference count reaches zero, the font is destroyed, freeing all memory.</doc> <source-position filename="src/hb-font.h" line="1002"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1976">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_draw_glyph" c:identifier="hb_font_draw_glyph" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1416">Draws the outline that corresponds to a glyph in the specified @font. The outline is returned by way of calls to the callbacks of the @dfuncs objects, with @draw_data passed to them.</doc> <source-position filename="src/hb-font.h" line="900"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1418">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1419">The glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1420">#hb_draw_funcs_t to draw to</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1421">User data to pass to draw callbacks</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </function> <callback name="font_draw_glyph_func_t" c:type="hb_font_draw_glyph_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="488">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc> <source-position filename="src/hb-font.h" line="502"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="490">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="491">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="492">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="draw_funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="493">The draw functions to send the shape data to</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="494">The data accompanying the draw functions</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-font.h" line="495">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <record name="font_extents_t" c:type="hb_font_extents_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="94">Font-wide extent values, measured in font units. Note that typically @ascender is positive and @descender negative, in coordinate systems that grow up.</doc> <source-position filename="src/hb-font.h" line="119"/> <field name="ascender" writable="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="96">The height of typographic ascenders.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="descender" writable="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="97">The depth of typographic descenders.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="line_gap" writable="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="98">The suggested line-spacing gap.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved9" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved8" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved7" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved6" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved5" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved4" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved3" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved2" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> <field name="reserved1" readable="0" private="1"> <type name="position_t" c:type="hb_position_t"/> </field> </record> <function name="font_funcs_create" c:identifier="hb_font_funcs_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="712">Creates a new #hb_font_funcs_t structure of font functions.</doc> <source-position filename="src/hb-font.h" line="61"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="717">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </return-value> </function> <function name="font_funcs_destroy" c:identifier="hb_font_funcs_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="765">Decreases the reference count on a font-functions structure. When the reference count reaches zero, the font-functions structure is destroyed, freeing all memory.</doc> <source-position filename="src/hb-font.h" line="70"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="767">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> </parameters> </function> <function name="font_funcs_get_empty" c:identifier="hb_font_funcs_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="734">Fetches an empty font-functions structure.</doc> <source-position filename="src/hb-font.h" line="64"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="739">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </return-value> </function> <function name="font_funcs_get_user_data" c:identifier="hb_font_funcs_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="818">Fetches the user data associated with the specified key, attached to the specified font-functions structure.</doc> <source-position filename="src/hb-font.h" line="81"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="826">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="820">The font-functions structure</doc> <type name="font_funcs_t" c:type="const hb_font_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="821">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="font_funcs_is_immutable" c:identifier="hb_font_funcs_is_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="855">Tests whether a font-functions structure is immutable.</doc> <source-position filename="src/hb-font.h" line="89"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="861">`true` if @ffuncs is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="857">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> </parameters> </function> <function name="font_funcs_make_immutable" c:identifier="hb_font_funcs_make_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="838">Makes a font-functions structure immutable.</doc> <source-position filename="src/hb-font.h" line="86"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="840">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> </parameters> </function> <function name="font_funcs_reference" c:identifier="hb_font_funcs_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="749">Increases the reference count on a font-functions structure.</doc> <source-position filename="src/hb-font.h" line="67"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="755">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="751">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> </parameters> </function> <function name="font_funcs_set_draw_glyph_func" c:identifier="hb_font_funcs_set_draw_glyph_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="787">Sets the implementation function for #hb_font_draw_glyph_func_t.</doc> <source-position filename="src/hb-font.h" line="799"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="789">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="790">The callback function to assign</doc> <type name="font_draw_glyph_func_t" c:type="hb_font_draw_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="791">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="792">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_font_h_extents_func" c:identifier="hb_font_funcs_set_font_h_extents_func" version="1.1.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="531">Sets the implementation function for #hb_font_get_font_h_extents_func_t.</doc> <source-position filename="src/hb-font.h" line="543"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="533">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="534">The callback function to assign</doc> <type name="font_get_font_h_extents_func_t" c:type="hb_font_get_font_h_extents_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="535">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="536">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_font_v_extents_func" c:identifier="hb_font_funcs_set_font_v_extents_func" version="1.1.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="547">Sets the implementation function for #hb_font_get_font_v_extents_func_t.</doc> <source-position filename="src/hb-font.h" line="559"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="549">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="550">The callback function to assign</doc> <type name="font_get_font_v_extents_func_t" c:type="hb_font_get_font_v_extents_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="551">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="552">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_contour_point_func" c:identifier="hb_font_funcs_set_glyph_contour_point_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="739">Sets the implementation function for #hb_font_get_glyph_contour_point_func_t.</doc> <source-position filename="src/hb-font.h" line="751"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="741">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="742">The callback function to assign</doc> <type name="font_get_glyph_contour_point_func_t" c:type="hb_font_get_glyph_contour_point_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="743">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="744">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_extents_func" c:identifier="hb_font_funcs_set_glyph_extents_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="723">Sets the implementation function for #hb_font_get_glyph_extents_func_t.</doc> <source-position filename="src/hb-font.h" line="735"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="725">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="726">The callback function to assign</doc> <type name="font_get_glyph_extents_func_t" c:type="hb_font_get_glyph_extents_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="727">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="728">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_from_name_func" c:identifier="hb_font_funcs_set_glyph_from_name_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="771">Sets the implementation function for #hb_font_get_glyph_from_name_func_t.</doc> <source-position filename="src/hb-font.h" line="783"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="773">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="774">The callback function to assign</doc> <type name="font_get_glyph_from_name_func_t" c:type="hb_font_get_glyph_from_name_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="775">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="776">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_func" c:identifier="hb_font_funcs_set_glyph_func" version="0.9.2" deprecated="1" deprecated-version="1.2.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="3008">Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and hb_font_funcs_set_variation_glyph_func() instead.</doc> <source-position filename="src/hb-deprecated.h" line="107"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="3010">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="3011">callback function</doc> <type name="font_get_glyph_func_t" c:type="hb_font_get_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="3012">data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.cc" line="3013">function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_h_advance_func" c:identifier="hb_font_funcs_set_glyph_h_advance_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="611">Sets the implementation function for #hb_font_get_glyph_h_advance_func_t.</doc> <source-position filename="src/hb-font.h" line="623"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="613">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="614">The callback function to assign</doc> <type name="font_get_glyph_h_advance_func_t" c:type="hb_font_get_glyph_h_advance_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="615">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="616">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_h_advances_func" c:identifier="hb_font_funcs_set_glyph_h_advances_func" version="1.8.6"> <doc xml:space="preserve" filename="src/hb-font.h" line="643">Sets the implementation function for #hb_font_get_glyph_h_advances_func_t.</doc> <source-position filename="src/hb-font.h" line="655"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="645">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="646">The callback function to assign</doc> <type name="font_get_glyph_h_advances_func_t" c:type="hb_font_get_glyph_h_advances_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="647">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="648">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_h_kerning_func" c:identifier="hb_font_funcs_set_glyph_h_kerning_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="707">Sets the implementation function for #hb_font_get_glyph_h_kerning_func_t.</doc> <source-position filename="src/hb-font.h" line="719"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="709">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="710">The callback function to assign</doc> <type name="font_get_glyph_h_kerning_func_t" c:type="hb_font_get_glyph_h_kerning_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="711">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="712">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_h_origin_func" c:identifier="hb_font_funcs_set_glyph_h_origin_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="675">Sets the implementation function for #hb_font_get_glyph_h_origin_func_t.</doc> <source-position filename="src/hb-font.h" line="687"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="677">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="678">The callback function to assign</doc> <type name="font_get_glyph_h_origin_func_t" c:type="hb_font_get_glyph_h_origin_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="679">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="680">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_name_func" c:identifier="hb_font_funcs_set_glyph_name_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="755">Sets the implementation function for #hb_font_get_glyph_name_func_t.</doc> <source-position filename="src/hb-font.h" line="767"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="757">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="758">The callback function to assign</doc> <type name="font_get_glyph_name_func_t" c:type="hb_font_get_glyph_name_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="759">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="760">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_shape_func" c:identifier="hb_font_funcs_set_glyph_shape_func" version="4.0.0" deprecated="1" deprecated-version="7.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="278">Sets the implementation function for #hb_font_get_glyph_shape_func_t, which is the same as #hb_font_draw_glyph_func_t.</doc> <doc-deprecated xml:space="preserve">Use hb_font_funcs_set_draw_glyph_func() instead</doc-deprecated> <source-position filename="src/hb-deprecated.h" line="293"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="280">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="281">The callback function to assign</doc> <type name="font_get_glyph_shape_func_t" c:type="hb_font_get_glyph_shape_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="282">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="283">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_v_advance_func" c:identifier="hb_font_funcs_set_glyph_v_advance_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="627">Sets the implementation function for #hb_font_get_glyph_v_advance_func_t.</doc> <source-position filename="src/hb-font.h" line="639"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="629">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="630">The callback function to assign</doc> <type name="font_get_glyph_v_advance_func_t" c:type="hb_font_get_glyph_v_advance_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="631">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="632">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_v_advances_func" c:identifier="hb_font_funcs_set_glyph_v_advances_func" version="1.8.6"> <doc xml:space="preserve" filename="src/hb-font.h" line="659">Sets the implementation function for #hb_font_get_glyph_v_advances_func_t.</doc> <source-position filename="src/hb-font.h" line="671"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="661">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="662">The callback function to assign</doc> <type name="font_get_glyph_v_advances_func_t" c:type="hb_font_get_glyph_v_advances_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="663">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="664">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_v_kerning_func" c:identifier="hb_font_funcs_set_glyph_v_kerning_func" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="237">Sets the implementation function for #hb_font_get_glyph_v_kerning_func_t.</doc> <source-position filename="src/hb-deprecated.h" line="250"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="239">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="240">The callback function to assign</doc> <type name="font_get_glyph_v_kerning_func_t" c:type="hb_font_get_glyph_v_kerning_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="241">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="242">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_glyph_v_origin_func" c:identifier="hb_font_funcs_set_glyph_v_origin_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.h" line="691">Sets the implementation function for #hb_font_get_glyph_v_origin_func_t.</doc> <source-position filename="src/hb-font.h" line="703"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="693">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="694">The callback function to assign</doc> <type name="font_get_glyph_v_origin_func_t" c:type="hb_font_get_glyph_v_origin_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="695">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="696">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_nominal_glyph_func" c:identifier="hb_font_funcs_set_nominal_glyph_func" version="1.2.3"> <doc xml:space="preserve" filename="src/hb-font.h" line="563">Sets the implementation function for #hb_font_get_nominal_glyph_func_t.</doc> <source-position filename="src/hb-font.h" line="575"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="565">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="566">The callback function to assign</doc> <type name="font_get_nominal_glyph_func_t" c:type="hb_font_get_nominal_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="567">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="568">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_nominal_glyphs_func" c:identifier="hb_font_funcs_set_nominal_glyphs_func" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="579">Sets the implementation function for #hb_font_get_nominal_glyphs_func_t.</doc> <source-position filename="src/hb-font.h" line="591"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="581">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="582">The callback function to assign</doc> <type name="font_get_nominal_glyphs_func_t" c:type="hb_font_get_nominal_glyphs_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="583">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="584">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_paint_glyph_func" c:identifier="hb_font_funcs_set_paint_glyph_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="803">Sets the implementation function for #hb_font_paint_glyph_func_t.</doc> <source-position filename="src/hb-font.h" line="815"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="805">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="806">The callback function to assign</doc> <type name="font_paint_glyph_func_t" c:type="hb_font_paint_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="807">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="808">The function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_user_data" c:identifier="hb_font_funcs_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="794">Attaches a user-data key/data pair to the specified font-functions structure.</doc> <source-position filename="src/hb-font.h" line="73"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="804">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="796">The font-functions structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="797">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="798">A pointer to the user data set</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="799">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="800">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <function name="font_funcs_set_variation_glyph_func" c:identifier="hb_font_funcs_set_variation_glyph_func" version="1.2.3"> <doc xml:space="preserve" filename="src/hb-font.h" line="595">Sets the implementation function for #hb_font_get_variation_glyph_func_t.</doc> <source-position filename="src/hb-font.h" line="607"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ffuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="597">A font-function structure</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="598">The callback function to assign</doc> <type name="font_get_variation_glyph_func_t" c:type="hb_font_get_variation_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="599">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-font.h" line="600">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <record name="font_funcs_t" c:type="hb_font_funcs_t" opaque="1" glib:type-name="hb_font_funcs_t" glib:get-type="hb_gobject_font_funcs_get_type" c:symbol-prefix="gobject_font_funcs"> <doc xml:space="preserve" filename="src/hb-font.h" line="45">Data type containing a set of virtual methods used for working on #hb_font_t font objects. HarfBuzz provides a lightweight default function for each of the methods in #hb_font_funcs_t. Client programs can implement their own replacements for the individual font functions, as needed, and replace the default by calling the setter for a method.</doc> <source-position filename="src/hb-font.h" line="58"/> </record> <function name="font_get_empty" c:identifier="hb_font_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1943">Fetches the empty font object.</doc> <source-position filename="src/hb-font.h" line="996"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1948">The empty font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> </function> <function name="font_get_extents_for_direction" c:identifier="hb_font_get_extents_for_direction" version="1.1.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1471">Fetches the extents for a font in a text segment of the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="921"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1473">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1474">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1475">The #hb_font_extents_t retrieved</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> </parameters> </function> <function name="font_get_face" c:identifier="hb_font_get_face" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2205">Fetches the face associated with the specified font object.</doc> <source-position filename="src/hb-font.h" line="1040"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2211">The #hb_face_t value</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2207">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <callback name="font_get_font_extents_func_t" c:type="hb_font_get_font_extents_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="123">This method should retrieve the extents for a font.</doc> <source-position filename="src/hb-font.h" line="133"/> <return-value transfer-ownership="none"> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="125">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="126">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="127">The font extents retrieved</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="128">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph" c:identifier="hb_font_get_glyph" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1006">Fetches the glyph ID for a Unicode code point in the specified font, with an optional variation selector. If @variation_selector is 0, calls hb_font_get_nominal_glyph(); otherwise calls hb_font_get_variation_glyph().</doc> <source-position filename="src/hb-font.h" line="916"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1019">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1008">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1009">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1010">A variation-selector code point</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1011">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="font_get_glyph_advance_for_direction" c:identifier="hb_font_get_glyph_advance_for_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1492">Fetches the advance for a glyph ID from the specified font, in a text segment of the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="925"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1494">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1495">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1496">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1497">The horizontal advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1498">The vertical advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_advance_func_t" c:type="hb_font_get_glyph_advance_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="235">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advance for a specified glyph. The method must return an #hb_position_t.</doc> <source-position filename="src/hb-font.h" line="250"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="247">The advance of @glyph within @font</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="237">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="238">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="239">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-font.h" line="240">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_advances_for_direction" c:identifier="hb_font_get_glyph_advances_for_direction" version="1.8.6"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1517">Fetches the advances for a sequence of glyph IDs in the specified font, in a text segment of the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="930"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1519">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1520">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1521">The number of glyph IDs in the sequence queried</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1522">The first glyph ID to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1523">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="first_advance" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1524">The first advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="advance_stride" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1525">The stride between successive advances</doc> <type name="guint" c:type="unsigned"/> </parameter> </parameters> </function> <callback name="font_get_glyph_advances_func_t" c:type="hb_font_get_glyph_advances_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="278">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the advances for a sequence of glyphs.</doc> <source-position filename="src/hb-font.h" line="294"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="280">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="281">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="282">The number of glyph IDs in the sequence queried</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="283">The first glyph ID to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="284">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="first_advance" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="285">The first advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="advance_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="286">The stride between successive advances</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7"> <doc xml:space="preserve" filename="src/hb-font.h" line="287">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_contour_point" c:identifier="hb_font_get_glyph_contour_point" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1318">Fetches the (x,y) coordinates of a specified contour-point index in the specified glyph, within the specified font.</doc> <source-position filename="src/hb-font.h" line="886"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1329">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1320">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1321">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="point_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1322">The contour-point index to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1323">The X value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1324">The Y value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="font_get_glyph_contour_point_for_origin" c:identifier="hb_font_get_glyph_contour_point_for_origin" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1683">Fetches the (X,Y) coordinates of a specified contour-point index in the specified glyph ID in the specified font, with respect to the origin in a text segment in the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="966"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1699">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1685">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1686">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="point_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1687">The contour-point index to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1688">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1689">The X value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1690">The Y value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_contour_point_func_t" c:type="hb_font_get_glyph_contour_point_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="419">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in font units) for a specified contour point in a glyph. Each coordinate must be returned as an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="438"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="435">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="421">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="422">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="423">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="point_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="424">The contour-point index to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="425">The X value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="426">The Y value retrieved for the contour point</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="6"> <doc xml:space="preserve" filename="src/hb-font.h" line="427">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_extents" c:identifier="hb_font_get_glyph_extents" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1297">Fetches the #hb_glyph_extents_t data for a glyph ID in the specified font.</doc> <source-position filename="src/hb-font.h" line="881"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1306">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1299">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1300">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1301">The #hb_glyph_extents_t retrieved</doc> <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/> </parameter> </parameters> </function> <function name="font_get_glyph_extents_for_origin" c:identifier="hb_font_get_glyph_extents_for_origin" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1656">Fetches the #hb_glyph_extents_t data for a glyph ID in the specified font, with respect to the origin in a text segment in the specified direction. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="960"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1670">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1658">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1659">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1660">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1661">The #hb_glyph_extents_t retrieved</doc> <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_extents_func_t" c:type="hb_font_get_glyph_extents_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="398">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the extents for a specified glyph. Extents must be returned in an #hb_glyph_extents output parameter.</doc> <source-position filename="src/hb-font.h" line="414"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="411">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="400">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="401">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="402">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="403">The #hb_glyph_extents_t retrieved</doc> <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-font.h" line="404">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_from_name" c:identifier="hb_font_get_glyph_from_name" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1368">Fetches the glyph ID that corresponds to a name string in the specified @font. <note>Note: @len == -1 means the name string is null-terminated.</note></doc> <source-position filename="src/hb-font.h" line="895"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1379">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1370">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1371">The name string to query</doc> <array length="2" zero-terminated="0" c:type="const char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1372">The length of the name queried</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1373">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_from_name_func_t" c:type="hb_font_get_glyph_from_name_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="466">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the glyph ID that corresponds to a glyph-name string.</doc> <source-position filename="src/hb-font.h" line="483"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="480">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="468">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="469">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="470">The name string to query</doc> <array length="3" zero-terminated="0" c:type="const char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="471">The length of the name queried</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="472">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-font.h" line="473">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <callback name="font_get_glyph_func_t" c:type="hb_font_get_glyph_func_t" deprecated="1" deprecated-version="1.2.3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="82">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the glyph ID for a specified Unicode code point font, with an optional variation selector.</doc> <source-position filename="src/hb-deprecated.h" line="100"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="96">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="84">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="85">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="86">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="87">The variation-selector code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="88">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="89">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_h_advance" c:identifier="hb_font_get_glyph_h_advance" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1113">Fetches the advance for a glyph ID in the specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="846"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1121">The advance of @glyph within @font</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1115">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1116">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="font_get_glyph_h_advances" c:identifier="hb_font_get_glyph_h_advances" version="1.8.6"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1151">Fetches the advances for a sequence of glyph IDs in the specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="853"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1153">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1154">The number of glyph IDs in the sequence queried</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1155">The first glyph ID to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1156">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="first_advance" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1157">The first advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="advance_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1158">The stride between successive advances</doc> <type name="guint" c:type="unsigned"/> </parameter> </parameters> </function> <function name="font_get_glyph_h_kerning" c:identifier="hb_font_get_glyph_h_kerning" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1246">Fetches the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments. <note>It handles legacy kerning only (as returned by the corresponding #hb_font_funcs_t function).</note></doc> <source-position filename="src/hb-font.h" line="877"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1258">The kerning adjustment value</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1248">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="left_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1249">The glyph ID of the left glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="right_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1250">The glyph ID of the right glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="font_get_glyph_h_origin" c:identifier="hb_font_get_glyph_h_origin" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1200">Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="868"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1210">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1202">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1203">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1204">The X coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1205">The Y coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="font_get_glyph_kerning_for_direction" c:identifier="hb_font_get_glyph_kerning_for_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1629">Fetches the kerning-adjustment value for a glyph-pair in the specified font. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="954"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1631">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1632">The glyph ID of the first glyph in the glyph pair to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="second_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1633">The glyph ID of the second glyph in the glyph pair to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1634">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1635">The horizontal kerning-adjustment value retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1636">The vertical kerning-adjustment value retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_kerning_func_t" c:type="hb_font_get_glyph_kerning_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="371">This method should retrieve the kerning-adjustment value for a glyph-pair in the specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="383"/> <return-value transfer-ownership="none"> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="373">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="374">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="375">The glyph ID of the first glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="second_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="376">The glyph ID of the second glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-font.h" line="377">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_name" c:identifier="hb_font_get_glyph_name" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1343">Fetches the glyph-name string for a glyph ID in the specified @font. According to the OpenType specification, glyph names are limited to 63 characters and can only contain (a subset of) ASCII.</doc> <source-position filename="src/hb-font.h" line="891"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1355">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1345">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1346">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="name" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1347">Name string retrieved for the glyph ID</doc> <array length="3" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1348">Length of the glyph-name string retrieved</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <callback name="font_get_glyph_name_func_t" c:type="hb_font_get_glyph_name_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="444">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the glyph name that corresponds to a glyph ID. The name should be returned in a string output parameter.</doc> <source-position filename="src/hb-font.h" line="461"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="458">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="446">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="447">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="448">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="name" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="449">Name string retrieved for the glyph ID</doc> <array length="4" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="450">Length of the glyph-name string retrieved</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-font.h" line="451">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_origin_for_direction" c:identifier="hb_font_get_glyph_origin_for_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1547">Fetches the (X,Y) coordinates of the origin for a glyph in the specified font. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="938"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1549">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1550">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1551">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1552">The X coordinate retrieved for the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1553">The Y coordinate retrieved for the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_origin_func_t" c:type="hb_font_get_glyph_origin_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="324">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the (X,Y) coordinates (in font units) of the origin for a glyph. Each coordinate must be returned in an #hb_position_t output parameter.</doc> <source-position filename="src/hb-font.h" line="342"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="339">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="326">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="327">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="328">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="329">The X coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="330">The Y coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-font.h" line="331">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_shape" c:identifier="hb_font_get_glyph_shape" version="4.0.0" deprecated="1" deprecated-version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1393">Fetches the glyph shape that corresponds to a glyph in the specified @font. The shape is returned by way of calls to the callbacks of the @dfuncs objects, with @draw_data passed to them.</doc> <doc-deprecated xml:space="preserve">Use hb_font_draw_glyph() instead</doc-deprecated> <source-position filename="src/hb-deprecated.h" line="299"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1395">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1396">The glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="dfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1397">#hb_draw_funcs_t to draw to</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1398">User data to pass to draw callbacks</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </function> <callback name="font_get_glyph_shape_func_t" c:type="hb_font_get_glyph_shape_func_t" version="4.0.0" deprecated="1" deprecated-version="7.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="259">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc> <doc-deprecated xml:space="preserve">Use #hb_font_draw_glyph_func_t instead</doc-deprecated> <source-position filename="src/hb-deprecated.h" line="273"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="261">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="262">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="263">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="draw_funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="264">The draw functions to send the shape data to</doc> <type name="draw_funcs_t" c:type="hb_draw_funcs_t*"/> </parameter> <parameter name="draw_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="265">The data accompanying the draw functions</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="266">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_glyph_v_advance" c:identifier="hb_font_get_glyph_v_advance" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1132">Fetches the advance for a glyph ID in the specified font, for vertical text segments.</doc> <source-position filename="src/hb-font.h" line="849"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1140">The advance of @glyph within @font</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1134">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1135">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="font_get_glyph_v_advances" c:identifier="hb_font_get_glyph_v_advances" version="1.8.6"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1175">Fetches the advances for a sequence of glyph IDs in the specified font, for vertical text segments.</doc> <source-position filename="src/hb-font.h" line="860"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1177">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1178">The number of glyph IDs in the sequence queried</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1179">The first glyph ID to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1180">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="first_advance" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1181">The first advance retrieved</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="advance_stride" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1182">The stride between successive advances</doc> <type name="guint" c:type="unsigned"/> </parameter> </parameters> </function> <function name="font_get_glyph_v_kerning" c:identifier="hb_font_get_glyph_v_kerning" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1271">Fetches the kerning-adjustment value for a glyph-pair in the specified font, for vertical text segments. <note>It handles legacy kerning only (as returned by the corresponding #hb_font_funcs_t function).</note></doc> <source-position filename="src/hb-deprecated.h" line="255"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1283">The kerning adjustment value</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1273">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="top_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1274">The glyph ID of the top glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="bottom_glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1275">The glyph ID of the bottom glyph in the glyph pair</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="font_get_glyph_v_origin" c:identifier="hb_font_get_glyph_v_origin" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1223">Fetches the (X,Y) coordinates of the origin for a glyph ID in the specified font, for vertical text segments.</doc> <source-position filename="src/hb-font.h" line="872"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1233">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1225">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1226">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1227">The X coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1228">The Y coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="font_get_h_extents" c:identifier="hb_font_get_h_extents" version="1.1.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="968">Fetches the extents for a specified font, for horizontal text segments.</doc> <source-position filename="src/hb-font.h" line="822"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="976">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="970">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="971">The font extents retrieved</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> </parameters> </function> <function name="font_get_nominal_glyph" c:identifier="hb_font_get_nominal_glyph" version="1.2.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1034">Fetches the nominal glyph ID for a Unicode code point in the specified font. This version of the function should not be used to fetch glyph IDs for code points modified by variation selectors. For variation-selector support, user hb_font_get_variation_glyph() or use hb_font_get_glyph().</doc> <source-position filename="src/hb-font.h" line="829"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1047">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1036">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1037">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1038">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <callback name="font_get_nominal_glyph_func_t" c:type="hb_font_get_nominal_glyph_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="162">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the nominal glyph ID for a specified Unicode code point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.</doc> <source-position filename="src/hb-font.h" line="178"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="175">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="164">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="165">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="166">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="167">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-font.h" line="168">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_nominal_glyphs" c:identifier="hb_font_get_nominal_glyphs" version="2.6.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1059">Fetches the nominal glyph IDs for a sequence of Unicode code points. Glyph IDs must be returned in a #hb_codepoint_t output parameter. Stops at the first unsupported glyph ID.</doc> <source-position filename="src/hb-font.h" line="838"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1072">the number of code points processed</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1061">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1062">number of code points to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1063">The first Unicode code point to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="unicode_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1064">The stride between successive code points</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1065">The first glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1066">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <callback name="font_get_nominal_glyphs_func_t" c:type="hb_font_get_nominal_glyphs_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="207">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the nominal glyph IDs for a sequence of Unicode code points. Glyph IDs must be returned in a #hb_codepoint_t output parameter.</doc> <source-position filename="src/hb-font.h" line="227"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="224">the number of code points processed</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="209">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="210">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="211">number of code points to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="212">The first Unicode code point to query</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="unicode_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="213">The stride between successive code points</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="first_glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="214">The first glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="glyph_stride" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="215">The stride between successive glyph IDs</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7"> <doc xml:space="preserve" filename="src/hb-font.h" line="216">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_get_parent" c:identifier="hb_font_get_parent" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2156">Fetches the parent font of @font.</doc> <source-position filename="src/hb-font.h" line="1033"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2162">The parent font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2158">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_get_ppem" c:identifier="hb_font_get_ppem" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2399">Fetches the horizontal and vertical points-per-em (ppem) of a font.</doc> <source-position filename="src/hb-font.h" line="1075"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2401">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_ppem" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2402">Horizontal ppem value</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="y_ppem" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2403">Vertical ppem value</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="font_get_ptem" c:identifier="hb_font_get_ptem" version="1.6.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2445">Fetches the "point size" of a font. Used in CoreText to implement optical sizing.</doc> <source-position filename="src/hb-font.h" line="1087"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2452">Point size. A value of zero means "not set."</doc> <type name="gfloat" c:type="float"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2447">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_get_scale" c:identifier="hb_font_get_scale" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2349">Fetches the horizontal and vertical scale of a font.</doc> <source-position filename="src/hb-font.h" line="1062"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2351">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_scale" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2352">Horizontal scale value</doc> <type name="gint" c:type="int*"/> </parameter> <parameter name="y_scale" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2353">Vertical scale value</doc> <type name="gint" c:type="int*"/> </parameter> </parameters> </function> <function name="font_get_serial" c:identifier="hb_font_get_serial" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2086">Returns the internal serial number of the font. The serial number is increased every time a setting on the font is changed, using a setter function.</doc> <source-position filename="src/hb-font.h" line="1023"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2094">serial number</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2088">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_get_synthetic_bold" c:identifier="hb_font_get_synthetic_bold" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2510">Fetches the "synthetic boldness" parameters of a font.</doc> <source-position filename="src/hb-font.h" line="1095"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2512">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_embolden" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2513">return location for horizontal value</doc> <type name="gfloat" c:type="float*"/> </parameter> <parameter name="y_embolden" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2514">return location for vertical value</doc> <type name="gfloat" c:type="float*"/> </parameter> <parameter name="in_place" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2515">return location for in-place value</doc> <type name="bool_t" c:type="hb_bool_t*"/> </parameter> </parameters> </function> <function name="font_get_synthetic_slant" c:identifier="hb_font_get_synthetic_slant" version="3.3.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2567">Fetches the "synthetic slant" of a font.</doc> <source-position filename="src/hb-font.h" line="1103"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2573">Synthetic slant. By default is zero.</doc> <type name="gfloat" c:type="float"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2569">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_get_user_data" c:identifier="hb_font_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2031">Fetches the user-data object associated with the specified key, attached to the specified font object.</doc> <source-position filename="src/hb-font.h" line="1013"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2039">Pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2033">#hb_font_t to work upon</doc> <type name="font_t" c:type="const hb_font_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2034">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="font_get_v_extents" c:identifier="hb_font_get_v_extents" version="1.1.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="987">Fetches the extents for a specified font, for vertical text segments.</doc> <source-position filename="src/hb-font.h" line="825"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="995">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="989">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="990">The font extents retrieved</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> </parameters> </function> <function name="font_get_var_coords_design" c:identifier="hb_font_get_var_coords_design" version="3.3.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2894">Fetches the list of variation coordinates (in design-space units) currently set on a font. Note that this returned array may only contain values for some (or none) of the axes; omitted axes effectively have their default values. Return value is valid as long as variation coordinates of the font are not modified.</doc> <source-position filename="src/hb-font.h" line="1121"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2909">coordinates array</doc> <type name="gfloat" c:type="const float*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2896">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2897">Number of coordinates retrieved</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="font_get_var_coords_normalized" c:identifier="hb_font_get_var_coords_normalized" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2866">Fetches the list of normalized variation coordinates currently set on a font. Note that this returned array may only contain values for some (or none) of the axes; omitted axes effectively have zero values. Return value is valid as long as variation coordinates of the font are not modified.</doc> <source-position filename="src/hb-font.h" line="1130"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2880">coordinates array</doc> <type name="gint" c:type="const int*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2868">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2869">Number of coordinates retrieved</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="font_get_var_named_instance" c:identifier="hb_font_get_var_named_instance" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2796">Returns the currently-set named-instance index of the font.</doc> <source-position filename="src/hb-font.h" line="1149"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2802">Named-instance index or %HB_FONT_NO_VAR_NAMED_INSTANCE.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2798">a font.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_get_variation_glyph" c:identifier="hb_font_get_variation_glyph" version="1.2.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1089">Fetches the glyph ID for a Unicode code point when followed by by the specified variation-selector code point, in the specified font.</doc> <source-position filename="src/hb-font.h" line="833"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1100">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1091">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1092">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1093">The variation-selector code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1094">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <callback name="font_get_variation_glyph_func_t" c:type="hb_font_get_variation_glyph_func_t"> <doc xml:space="preserve" filename="src/hb-font.h" line="183">A virtual method for the #hb_font_funcs_t of an #hb_font_t object. This method should retrieve the glyph ID for a specified Unicode code point followed by a specified Variation Selector code point. Glyph IDs must be returned in a #hb_codepoint_t output parameter.</doc> <source-position filename="src/hb-font.h" line="201"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="198">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="185">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="186">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="187">The Unicode code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="variation_selector" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="188">The variation-selector code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.h" line="189">The glyph ID retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="5"> <doc xml:space="preserve" filename="src/hb-font.h" line="190">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_glyph_from_string" c:identifier="hb_font_glyph_from_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1741">Fetches the glyph ID from @font that matches the specified string. Strings of the format `gidDDD` or `uniUUUU` are parsed automatically. <note>Note: @len == -1 means the string is null-terminated.</note></doc> <source-position filename="src/hb-font.h" line="978"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1753">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1743">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="s" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1744">string to query</doc> <array length="2" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1745">The length of the string @s</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="glyph" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1746">The glyph ID corresponding to the string requested</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="font_glyph_to_string" c:identifier="hb_font_glyph_to_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1714">Fetches the name of the specified glyph ID in @font and returns it in string @s. If the glyph ID has no name in @font, a string of the form `gidDDD` is generated, with `DDD` being the glyph ID. According to the OpenType specification, glyph names are limited to 63 characters and can only contain (a subset of) ASCII.</doc> <source-position filename="src/hb-font.h" line="973"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1716">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1717">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="s" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1718">The string containing the glyph name</doc> <array length="3" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1719">Length of string @s</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_is_immutable" c:identifier="hb_font_is_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2070">Tests whether a font object is immutable.</doc> <source-position filename="src/hb-font.h" line="1020"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2076">`true` if @font is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2072">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_make_immutable" c:identifier="hb_font_make_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2050">Makes @font immutable.</doc> <source-position filename="src/hb-font.h" line="1017"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2052">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_paint_glyph" c:identifier="hb_font_paint_glyph" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1438">Paints the glyph. The painting instructions are returned by way of calls to the callbacks of the @funcs object, with @paint_data passed to them. If the font has color palettes (see hb_ot_color_has_palettes()), then @palette_index selects the palette to use. If the font only has one palette, this will be 0.</doc> <source-position filename="src/hb-font.h" line="905"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1440">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1441">The glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="pfuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1442">#hb_paint_funcs_t to paint with</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1443">User data to pass to paint callbacks</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="palette_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1444">The index of the font's color palette to use</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="foreground" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1445">The foreground color, unpremultipled</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <callback name="font_paint_glyph_func_t" c:type="hb_font_paint_glyph_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.h" line="507">A virtual method for the #hb_font_funcs_t of an #hb_font_t object.</doc> <source-position filename="src/hb-font.h" line="522"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="509">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="510">@font user data pointer</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="511">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="paint_funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="512">The paint functions to use</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.h" line="513">The data accompanying the paint functions</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="palette_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="514">The color palette to use</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="foreground" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.h" line="515">The foreground color</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7"> <doc xml:space="preserve" filename="src/hb-font.h" line="516">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="font_reference" c:identifier="hb_font_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1958">Increases the reference count on the given font object.</doc> <source-position filename="src/hb-font.h" line="999"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1964">The @font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1960">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_set_face" c:identifier="hb_font_set_face" version="1.4.3"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2172">Sets @face as the font-face value of @font.</doc> <source-position filename="src/hb-font.h" line="1036"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2174">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2175">The #hb_face_t to assign</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="font_set_funcs" c:identifier="hb_font_set_funcs" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2222">Replaces the font-functions structure attached to a font, updating the font's user-data with @font-data and the @destroy callback.</doc> <source-position filename="src/hb-font.h" line="1044"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2224">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="klass" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2225">The font-functions structure.</doc> <type name="font_funcs_t" c:type="hb_font_funcs_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2226">Data to attach to @font</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2227">The function to call when @font_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_set_funcs_data" c:identifier="hb_font_set_funcs_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2262">Replaces the user data attached to a font, updating the font's @destroy callback.</doc> <source-position filename="src/hb-font.h" line="1051"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2264">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="font_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2265">Data to attach to @font</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2266">The function to call when @font_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="font_set_parent" c:identifier="hb_font_set_parent" version="1.0.5"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2125">Sets the parent font of @font.</doc> <source-position filename="src/hb-font.h" line="1029"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2127">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="parent" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2128">The parent font object to assign</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="font_set_ppem" c:identifier="hb_font_set_ppem" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2368">Sets the horizontal and vertical pixels-per-em (PPEM) of a font. These values are used for pixel-size-specific adjustment to shaping and draw results, though for the most part they are unused and can be left unset.</doc> <source-position filename="src/hb-font.h" line="1070"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2370">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_ppem" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2371">Horizontal ppem value to assign</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="y_ppem" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2372">Vertical ppem value to assign</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_set_ptem" c:identifier="hb_font_set_ptem" version="1.6.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2418">Sets the "point size" of a font. Set to zero to unset. Used in CoreText to implement optical sizing. <note>Note: There are 72 points in an inch.</note></doc> <source-position filename="src/hb-font.h" line="1084"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2420">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="ptem" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2421">font size in points.</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <function name="font_set_scale" c:identifier="hb_font_set_scale" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2296">Sets the horizontal and vertical scale of a font. The font scale is a number related to, but not the same as, font size. Typically the client establishes a scale factor to be used between the two. For example, 64, or 256, which would be the fractional-precision part of the font scale. This is necessary because #hb_position_t values are integer types and you need to leave room for fractional values in there. For example, to set the font size to 20, with 64 levels of fractional precision you would call `hb_font_set_scale(font, 20 * 64, 20 * 64)`. In the example above, even what font size 20 means is up to you. It might be 20 pixels, or 20 points, or 20 millimeters. HarfBuzz does not care about that. You can set the point size of the font using hb_font_set_ptem(), and the pixel size using hb_font_set_ppem(). The choice of scale is yours but needs to be consistent between what you set here, and what you expect out of #hb_position_t as well has draw / paint API output values. Fonts default to a scale equal to the UPEM value of their face. A font with this setting is sometimes called an "unscaled" font.</doc> <source-position filename="src/hb-font.h" line="1057"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2298">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_scale" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2299">Horizontal scale value to assign</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="y_scale" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2300">Vertical scale value to assign</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="font_set_synthetic_bold" c:identifier="hb_font_set_synthetic_bold" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2462">Sets the "synthetic boldness" of a font. Positive values for @x_embolden / @y_embolden make a font bolder, negative values thinner. Typical values are in the 0.01 to 0.05 range. The default value is zero. Synthetic boldness is applied by offsetting the contour points of the glyph shape. Synthetic boldness is applied when rendering a glyph via hb_font_draw_glyph(). If @in_place is `false`, then glyph advance-widths are also adjusted, otherwise they are not. The in-place mode is useful for simulating [font grading](https://fonts.google.com/knowledge/glossary/grade).</doc> <source-position filename="src/hb-font.h" line="1090"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2464">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="x_embolden" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2465">the amount to embolden horizontally</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y_embolden" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2466">the amount to embolden vertically</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="in_place" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2467">whether to embolden glyphs in-place</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <function name="font_set_synthetic_slant" c:identifier="hb_font_set_synthetic_slant" version="3.3.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2532">Sets the "synthetic slant" of a font. By default is zero. Synthetic slant is the graphical skew applied to the font at rendering time. HarfBuzz needs to know this value to adjust shaping results, metrics, and style values to match the slanted rendering. <note>Note: The glyph shape fetched via the hb_font_draw_glyph() function is slanted to reflect this value as well.</note> <note>Note: The slant value is a ratio. For example, a 20% slant would be represented as a 0.2 value.</note></doc> <source-position filename="src/hb-font.h" line="1100"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2534">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="slant" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2535">synthetic slant value.</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <function name="font_set_user_data" c:identifier="hb_font_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2004">Attaches a user-data key/data pair to the specified font object.</doc> <source-position filename="src/hb-font.h" line="1005"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2014">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2006">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2007">The user-data key</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2008">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2009">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2010">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <function name="font_set_var_coords_design" c:identifier="hb_font_set_var_coords_design" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2729">Applies a list of variation coordinates (in design-space units) to a font. Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values.</doc> <source-position filename="src/hb-font.h" line="1116"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2731">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2732">Array of variation coordinates to apply</doc> <array length="2" zero-terminated="0" c:type="const float*"> <type name="gfloat" c:type="float"/> </array> </parameter> <parameter name="coords_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2733">Number of coordinates to apply</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_set_var_coords_normalized" c:identifier="hb_font_set_var_coords_normalized" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2812">Applies a list of variation coordinates (in normalized units) to a font. Note that this overrides all existing variations set on @font. Axes not included in @coords will be effectively set to their default values. <note>Note: Coordinates should be normalized to 2.14.</note></doc> <source-position filename="src/hb-font.h" line="1125"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2814">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2815">Array of variation coordinates to apply</doc> <array length="2" zero-terminated="0" c:type="const int*"> <type name="gint" c:type="int"/> </array> </parameter> <parameter name="coords_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2816">Number of coordinates to apply</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_set_var_named_instance" c:identifier="hb_font_set_var_named_instance" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2771">Sets design coords of a font from a named-instance index.</doc> <source-position filename="src/hb-font.h" line="1145"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2773">a font.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="instance_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2774">named instance index.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_set_variation" c:identifier="hb_font_set_variation" version="7.1.0"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2658">Change the value of one variation axis on the font. Note: This function is expensive to be called repeatedly. If you want to set multiple variation axes at the same time, use hb_font_set_variations() instead.</doc> <source-position filename="src/hb-font.h" line="1111"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2660">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2661">The #hb_tag_t tag of the variation-axis name</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="value" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2662">The value of the variation axis</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <function name="font_set_variations" c:identifier="hb_font_set_variations" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2588">Applies a list of font-variation settings to a font. Note that this overrides all existing variations set on @font. Axes not included in @variations will be effectively set to their default values.</doc> <source-position filename="src/hb-font.h" line="1106"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2590">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="variations" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2591">Array of variation settings to apply</doc> <array length="2" zero-terminated="0" c:type="const hb_variation_t*"> <type name="variation_t" c:type="hb_variation_t"/> </array> </parameter> <parameter name="variations_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="2592">Number of variations to apply</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="font_subtract_glyph_origin_for_direction" c:identifier="hb_font_subtract_glyph_origin_for_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1601">Subtracts the origin coordinates from an (X,Y) point coordinate, in the specified glyph ID in the specified font. Calls the appropriate direction-specific variant (horizontal or vertical) depending on the value of @direction.</doc> <source-position filename="src/hb-font.h" line="948"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1603">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1604">The glyph ID to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1605">The direction of the text segment</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="x" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1606">Input = The original X coordinate Output = The X coordinate minus the X-coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> <parameter name="y" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-font.cc" line="1608">Input = The original Y coordinate Output = The Y coordinate minus the Y-coordinate of the origin</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <record name="font_t" c:type="hb_font_t" opaque="1" glib:type-name="hb_font_t" glib:get-type="hb_gobject_font_get_type" c:symbol-prefix="gobject_font"> <doc xml:space="preserve" filename="src/hb-common.h" line="943">Data type for holding fonts.</doc> <source-position filename="src/hb-common.h" line="949"/> </record> <function name="ft_face_create" c:identifier="hb_ft_face_create" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1151">Creates an #hb_face_t face object from the specified FT_Face. Note that this is using the FT_Face object just to get at the underlying font data, and fonts created from the returned #hb_face_t will use the native HarfBuzz font implementation, unless you call hb_ft_font_set_funcs() on them. This variant of the function does not provide any life-cycle management. Most client programs should use hb_ft_face_create_referenced() (or, perhaps, hb_ft_face_create_cached()) instead. If you know you have valid reasons not to use hb_ft_face_create_referenced(), then it is the client program's responsibility to destroy @ft_face after the #hb_face_t face object has been destroyed.</doc> <source-position filename="src/hb-ft.h" line="63"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1171">the new #hb_face_t face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="ft_face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1153">FT_Face to work upon</doc> <type name="freetype2.Face" c:type="FT_Face"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1154">A callback to call when the face object is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="ft_face_create_cached" c:identifier="hb_ft_face_create_cached" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1237">Creates an #hb_face_t face object from the specified FT_Face. Note that this is using the FT_Face object just to get at the underlying font data, and fonts created from the returned #hb_face_t will use the native HarfBuzz font implementation, unless you call hb_ft_font_set_funcs() on them. This variant of the function caches the newly created #hb_face_t face object, using the @generic pointer of @ft_face. Subsequent function calls that are passed the same @ft_face parameter will have the same #hb_face_t returned to them, and that #hb_face_t will be correctly reference counted. However, client programs are still responsible for destroying @ft_face after the last #hb_face_t face object has been destroyed.</doc> <source-position filename="src/hb-ft.h" line="75"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1256">the new #hb_face_t face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="ft_face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1239">FT_Face to work upon</doc> <type name="freetype2.Face" c:type="FT_Face"/> </parameter> </parameters> </function> <function name="ft_face_create_from_file_or_fail" c:identifier="hb_ft_face_create_from_file_or_fail" version="10.1.0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1519">Creates an #hb_face_t face object from the specified font file and face index. This is similar in functionality to hb_face_create_from_file_or_fail(), but uses the FreeType library for loading the font file.</doc> <source-position filename="src/hb-ft.h" line="88"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1530">The new face object, or `NULL` if no face is found at the specified index or the file cannot be read.</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="file_name" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1521">A font filename</doc> <type name="utf8" c:type="const char*"/> </parameter> <parameter name="index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1522">The index of the face within the file</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="ft_face_create_referenced" c:identifier="hb_ft_face_create_referenced" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1201">Creates an #hb_face_t face object from the specified FT_Face. Note that this is using the FT_Face object just to get at the underlying font data, and fonts created from the returned #hb_face_t will use the native HarfBuzz font implementation, unless you call hb_ft_font_set_funcs() on them. This is the preferred variant of the hb_ft_face_create* function family, because it calls FT_Reference_Face() on @ft_face, ensuring that @ft_face remains alive as long as the resulting #hb_face_t face object remains alive. Also calls FT_Done_Face() when the #hb_face_t face object is destroyed. Use this version unless you know you have good reasons not to.</doc> <source-position filename="src/hb-ft.h" line="85"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1219">the new #hb_face_t face object</doc> <type name="face_t" c:type="hb_face_t*"/> </return-value> <parameters> <parameter name="ft_face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1203">FT_Face to work upon</doc> <type name="freetype2.Face" c:type="FT_Face"/> </parameter> </parameters> </function> <function name="ft_font_changed" c:identifier="hb_ft_font_changed" version="1.0.5"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1320">Refreshes the state of @font when the underlying FT_Face has changed. This function should be called after changing the size or variation-axis settings on the FT_Face.</doc> <source-position filename="src/hb-ft.h" line="131"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1322">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_font_create" c:identifier="hb_ft_font_create" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1275">Creates an #hb_font_t font object from the specified FT_Face. <note>Note: You must set the face size on @ft_face before calling hb_ft_font_create() on it. HarfBuzz assumes size is always set and will access `size` member of FT_Face unconditionally.</note> This variant of the function does not provide any life-cycle management. Most client programs should use hb_ft_font_create_referenced() instead. If you know you have valid reasons not to use hb_ft_font_create_referenced(), then it is the client program's responsibility to destroy @ft_face after the #hb_font_t font object has been destroyed. HarfBuzz will use the @destroy callback on the #hb_font_t font object if it is supplied when you use this function. However, even if @destroy is provided, it is the client program's responsibility to destroy @ft_face, and it is the client program's responsibility to ensure that @ft_face is destroyed only after the #hb_font_t font object has been destroyed.</doc> <source-position filename="src/hb-ft.h" line="105"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1301">the new #hb_font_t font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="ft_face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1277">FT_Face to work upon</doc> <type name="freetype2.Face" c:type="FT_Face"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1278">A callback to call when the font object is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="ft_font_create_referenced" c:identifier="hb_ft_font_create_referenced" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1412">Creates an #hb_font_t font object from the specified FT_Face. <note>Note: You must set the face size on @ft_face before calling hb_ft_font_create_referenced() on it. HarfBuzz assumes size is always set and will access `size` member of FT_Face unconditionally.</note> This is the preferred variant of the hb_ft_font_create* function family, because it calls FT_Reference_Face() on @ft_face, ensuring that @ft_face remains alive as long as the resulting #hb_font_t font object remains alive. Use this version unless you know you have good reasons not to.</doc> <source-position filename="src/hb-ft.h" line="111"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1429">the new #hb_font_t font object</doc> <type name="font_t" c:type="hb_font_t*"/> </return-value> <parameters> <parameter name="ft_face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1414">FT_Face to work upon</doc> <type name="freetype2.Face" c:type="FT_Face"/> </parameter> </parameters> </function> <function name="ft_font_get_face" c:identifier="hb_ft_font_get_face" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="277">Fetches the FT_Face associated with the specified #hb_font_t font object. This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().</doc> <source-position filename="src/hb-ft.h" line="114"/> <return-value nullable="1"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="287">the FT_Face found or `NULL`</doc> <type name="freetype2.Face" c:type="FT_Face"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="279">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_font_get_load_flags" c:identifier="hb_ft_font_get_load_flags" version="1.0.5"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="250">Fetches the FT_Load_Glyph load flags of the specified #hb_font_t. For more information, see <https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_xxx> This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().</doc> <source-position filename="src/hb-ft.h" line="126"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="262">FT_Load_Glyph flags found, or 0</doc> <type name="gint" c:type="int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="252">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_font_lock_face" c:identifier="hb_ft_font_lock_face" version="2.6.5" introspectable="0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="302">Gets the FT_Face associated with @font. This face will be kept around and access to the FT_Face object from other HarfBuzz API wil be blocked until you call hb_ft_font_unlock_face(). This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().</doc> <source-position filename="src/hb-ft.h" line="117"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="314">the FT_Face associated with @font or `NULL`</doc> <type name="freetype2.Face" c:type="FT_Face"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="304">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_font_set_funcs" c:identifier="hb_ft_font_set_funcs" version="1.0.5"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1572">Configures the font-functions structure of the specified #hb_font_t font object to use FreeType font functions. In particular, you can use this function to configure an existing #hb_face_t face object for use with FreeType font functions even if that #hb_face_t face object was initially created with hb_face_create(), and therefore was not initially configured to use FreeType font functions. An #hb_font_t object created with hb_ft_font_create() is preconfigured for FreeType font functions and does not require this function to be used. Note that if you modify the underlying #hb_font_t after calling this function, you need to call hb_ft_hb_font_changed() to update the underlying FT_Face. <note>Note: Internally, this function creates an FT_Face. </note></doc> <source-position filename="src/hb-ft.h" line="143"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1574">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_font_set_load_flags" c:identifier="hb_ft_font_set_load_flags" version="1.0.5"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="221">Sets the FT_Load_Glyph load flags for the specified #hb_font_t. For more information, see <https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_xxx> This function works with #hb_font_t objects created by hb_ft_font_create() or hb_ft_font_create_referenced().</doc> <source-position filename="src/hb-ft.h" line="123"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="223">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="load_flags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="224">The FreeType load flags to set</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="ft_font_unlock_face" c:identifier="hb_ft_font_unlock_face" version="2.6.5" introspectable="0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="330">Releases an FT_Face previously obtained with hb_ft_font_lock_face().</doc> <source-position filename="src/hb-ft.h" line="120"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="332">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <function name="ft_hb_font_changed" c:identifier="hb_ft_hb_font_changed" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1387">Refreshes the state of the underlying FT_Face of @font when the hb_font_t @font has changed. This function should be called after changing the size or variation-axis settings on the @font. This call is fast if nothing has changed on @font.</doc> <source-position filename="src/hb-ft.h" line="137"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1397">true if changed, false otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="1389">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <callback name="get_table_tags_func_t" c:type="hb_get_table_tags_func_t" version="10.0.0"> <doc xml:space="preserve" filename="src/hb-face.h" line="147">Callback function for hb_face_get_table_tags().</doc> <source-position filename="src/hb-face.h" line="162"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.h" line="158">Total number of tables, or zero if it is not possible to list</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.h" line="149">A face object</doc> <type name="face_t" c:type="const hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.h" line="150">The index of first table tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="table_count" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.h" line="151">Input = the maximum number of table tags to return; Output = the actual number of table tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="table_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.h" line="153">The array of table tags found</doc> <array length="2" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-face.h" line="154">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="glib_blob_create" c:identifier="hb_glib_blob_create" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="207">Creates an #hb_blob_t blob from the specified GBytes data structure.</doc> <source-position filename="src/hb-glib.h" line="51"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="214">the new #hb_blob_t blob object</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="gbytes" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="209">the GBytes structure to work upon</doc> <type name="GLib.Bytes" c:type="GBytes*"/> </parameter> </parameters> </function> <function name="glib_get_unicode_funcs" c:identifier="hb_glib_get_unicode_funcs" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="181">Fetches a Unicode-functions structure that is populated with the appropriate GLib function for each method.</doc> <source-position filename="src/hb-glib.h" line="47"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="187">a pointer to the #hb_unicode_funcs_t Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> </function> <function name="glib_script_from_script" c:identifier="hb_glib_script_from_script" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="69">Fetches the GUnicodeScript identifier that corresponds to the specified #hb_script_t script.</doc> <source-position filename="src/hb-glib.h" line="43"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="76">the GUnicodeScript identifier found</doc> <type name="GLib.UnicodeScript" c:type="GUnicodeScript"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="71">The #hb_script_t to query</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> </parameters> </function> <function name="glib_script_to_script" c:identifier="hb_glib_script_to_script" version="0.9.38"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="52">Fetches the #hb_script_t script that corresponds to the specified GUnicodeScript identifier.</doc> <source-position filename="src/hb-glib.h" line="40"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="59">the #hb_script_t script found</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="54">The GUnicodeScript identifier to query</doc> <type name="GLib.UnicodeScript" c:type="GUnicodeScript"/> </parameter> </parameters> </function> <record name="glyph_extents_t" c:type="hb_glyph_extents_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="925">Glyph extent values, measured in font units. Note that @height is negative, in coordinate systems that grow up.</doc> <source-position filename="src/hb-common.h" line="941"/> <field name="x_bearing" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="927">Distance from the x-origin to the left extremum of the glyph.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="y_bearing" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="928">Distance from the top extremum of the glyph to the y-origin.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="width" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="929">Distance from the left extremum of the glyph to the right extremum.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="height" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="930">Distance from the top extremum of the glyph to the bottom extremum.</doc> <type name="position_t" c:type="hb_position_t"/> </field> </record> <bitfield name="glyph_flags_t" version="1.5.0" glib:type-name="hb_glyph_flags_t" glib:get-type="hb_gobject_glyph_flags_get_type" c:type="hb_glyph_flags_t"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="74">Flags for #hb_glyph_info_t.</doc> <member name="unsafe_to_break" value="1" c:identifier="HB_GLYPH_FLAG_UNSAFE_TO_BREAK" glib:nick="unsafe-to-break" glib:name="HB_GLYPH_FLAG_UNSAFE_TO_BREAK"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="76">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 is safe to break the glyph-run at the beginning of this cluster, and the two sides will 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.</doc> </member> <member name="unsafe_to_concat" value="2" c:identifier="HB_GLYPH_FLAG_UNSAFE_TO_CONCAT" glib:nick="unsafe-to-concat" glib:name="HB_GLYPH_FLAG_UNSAFE_TO_CONCAT"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="90">Indicates that if input text is changed on one side of the beginning of the cluster this glyph is part of, then the shaping results for the other side might change. Note that the absence of this flag will NOT by itself mean that it IS safe to concat text. Only two pieces of text both of which clear of this flag can be concatenated safely. This can be used to optimize paragraph layout, by avoiding re-shaping of each line after line-breaking, by limiting the reshaping to a small piece around the breaking position only, even if the breaking position carries the #HB_GLYPH_FLAG_UNSAFE_TO_BREAK or when hyphenation or other text transformation happens at line-break position, in the following way: 1. Iterate back from the line-break position until the first cluster start position that is NOT unsafe-to-concat, 2. shape the segment from there till the end of line, 3. check whether the resulting glyph-run also is clear of the unsafe-to-concat at its start-of-text position; if it is, just splice it into place and the line is shaped; If not, move on to a position further back that is clear of unsafe-to-concat and retry from there, and repeat. At the start of next line a similar algorithm can be implemented. That is: 1. Iterate forward from the line-break position until the first cluster start position that is NOT unsafe-to-concat, 2. shape the segment from beginning of the line to that position, 3. check whether the resulting glyph-run also is clear of the unsafe-to-concat at its end-of-text position; if it is, just splice it into place and the beginning is shaped; If not, move on to a position further forward that is clear of unsafe-to-concat and retry up to there, and repeat. A slight complication will arise in the implementation of the algorithm above, because while our buffer API has a way to return flags for position corresponding to start-of-text, there is currently no position corresponding to end-of-text. This limitation can be alleviated by shaping more text than needed and looking for unsafe-to-concat flag within text clusters. The #HB_GLYPH_FLAG_UNSAFE_TO_BREAK flag will always imply this flag. To use this flag, you must enable the buffer flag @HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT during shaping, otherwise the buffer flag will not be reliably produced. Since: 4.0.0</doc> </member> <member name="safe_to_insert_tatweel" value="4" c:identifier="HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL" glib:nick="safe-to-insert-tatweel" glib:name="HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="145">In scripts that use elongation (Arabic, Mongolian, Syriac, etc.), this flag signifies that it is safe to insert a U+0640 TATWEEL character before this cluster for elongation. This flag does not determine the script-specific elongation places, but only when it is safe to do the elongation without interrupting text shaping. Since: 5.1.0</doc> </member> <member name="defined" value="7" c:identifier="HB_GLYPH_FLAG_DEFINED" glib:nick="defined" glib:name="HB_GLYPH_FLAG_DEFINED"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="154">All the currently defined flags.</doc> </member> </bitfield> <function name="glyph_info_get_glyph_flags" c:identifier="hb_glyph_info_get_glyph_flags" version="1.5.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1669">Returns glyph flags encoded within a #hb_glyph_info_t.</doc> <source-position filename="src/hb-buffer.h" line="169"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1675">The #hb_glyph_flags_t encoded within @info</doc> <type name="glyph_flags_t" c:type="hb_glyph_flags_t"/> </return-value> <parameters> <parameter name="info" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="1671">a #hb_glyph_info_t</doc> <type name="glyph_info_t" c:type="const hb_glyph_info_t*"/> </parameter> </parameters> </function> <record name="glyph_info_t" c:type="hb_glyph_info_t" glib:type-name="hb_glyph_info_t" glib:get-type="hb_gobject_glyph_info_get_type" c:symbol-prefix="gobject_glyph_info"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="43">The #hb_glyph_info_t is the structure that holds information about the glyphs and their relation to input text.</doc> <source-position filename="src/hb-buffer.h" line="72"/> <field name="codepoint" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="45">either a Unicode code point (before shaping) or a glyph index (after shaping).</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </field> <field name="mask" readable="0" private="1"> <type name="mask_t" c:type="hb_mask_t"/> </field> <field name="cluster" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="47">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.</doc> <type name="guint32" c:type="uint32_t"/> </field> <field name="var1" readable="0" private="1"> <type name="var_int_t" c:type="hb_var_int_t"/> </field> <field name="var2" readable="0" private="1"> <type name="var_int_t" c:type="hb_var_int_t"/> </field> </record> <record name="glyph_position_t" c:type="hb_glyph_position_t" glib:type-name="hb_glyph_position_t" glib:get-type="hb_gobject_glyph_position_get_type" c:symbol-prefix="gobject_glyph_position"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="175">The #hb_glyph_position_t is the structure that holds the positions of the glyph in both horizontal and vertical directions. All positions in #hb_glyph_position_t are relative to the current point.</doc> <source-position filename="src/hb-buffer.h" line="199"/> <field name="x_advance" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="177">how much the line advances after drawing this glyph when setting text in horizontal direction.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="y_advance" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="179">how much the line advances after drawing this glyph when setting text in vertical direction.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="x_offset" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="181">how much the glyph moves on the X-axis before drawing it, this should not affect how much the line advances.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="y_offset" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="183">how much the glyph moves on the Y-axis before drawing it, this should not affect how much the line advances.</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="var" readable="0" private="1"> <type name="var_int_t" c:type="hb_var_int_t"/> </field> </record> <docsection name="hb-aat-layout"> <doc xml:space="preserve" filename="src/hb-aat-layout.cc" line="83">Functions for querying AAT Layout features in the font face. HarfBuzz supports all of the AAT tables used to implement shaping. Other AAT tables and their associated features are not supported.</doc> </docsection> <docsection name="hb-blob"> <doc xml:space="preserve" filename="src/hb-blob.cc" line="39">Blobs wrap a chunk of binary data to handle lifecycle management of data while it is passed between client and HarfBuzz. Blobs are primarily used to create font faces, but also to access font face tables, as well as pass around other binary data.</doc> </docsection> <docsection name="hb-buffer"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="34">Buffers serve a dual role in HarfBuzz; before shaping, they hold the input characters that are passed to hb_shape(), and after shaping they hold the output glyphs. The input buffer is a sequence of Unicode codepoints, with associated attributes such as direction and script. The output buffer is a sequence of glyphs, with associated attributes such as position and cluster.</doc> </docsection> <docsection name="hb-common"> <doc xml:space="preserve" filename="src/hb-common.cc" line="33">Common data types used across HarfBuzz are defined here.</doc> </docsection> <docsection name="hb-deprecated"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="40">These API have been deprecated in favor of newer API, or because they were deemed unnecessary.</doc> </docsection> <docsection name="hb-draw"> <doc xml:space="preserve" filename="src/hb-draw.cc" line="31">Functions for drawing (extracting) glyph shapes. The #hb_draw_funcs_t struct can be used with hb_font_draw_glyph().</doc> </docsection> <docsection name="hb-face"> <doc xml:space="preserve" filename="src/hb-face.cc" line="38">A font face is an object that represents a single face from within a font family. More precisely, a font face represents a single face in a binary font file. Font faces are typically built from a binary blob and a face index. Font faces are used to create fonts. A font face can be created from a binary blob using hb_face_create(). The face index is used to select a face from a binary blob that contains multiple faces. For example, a binary blob that contains both a regular and a bold face can be used to create two font faces, one for each face index.</doc> </docsection> <docsection name="hb-font"> <doc xml:space="preserve" filename="src/hb-font.cc" line="42">Functions for working with font objects. A font object represents a font face at a specific size and with certain other parameters (pixels-per-em, points-per-em, variation settings) specified. Font objects are created from font face objects, and are used as input to hb_shape(), among other things. Client programs can optionally pass in their own functions that implement the basic, lower-level queries of font objects. This set of font functions is defined by the virtual methods in #hb_font_funcs_t. HarfBuzz provides a built-in set of lightweight default functions for each method in #hb_font_funcs_t. The default font functions are implemented in terms of the #hb_font_funcs_t methods of the parent font object. This allows client programs to override only the methods they need to, and otherwise inherit the parent font's implementation, if any.</doc> </docsection> <docsection name="hb-ft"> <doc xml:space="preserve" filename="src/hb-ft.cc" line="55">Functions for using HarfBuzz with the FreeType library. HarfBuzz supports using FreeType to provide face and font data. <note>Note that FreeType is not thread-safe, therefore these functions are not thread-safe either.</note></doc> </docsection> <docsection name="hb-glib"> <doc xml:space="preserve" filename="src/hb-glib.cc" line="38">Functions for using HarfBuzz with the GLib library. HarfBuzz supports using GLib to provide Unicode data, by attaching GLib functions to the virtual methods in a #hb_unicode_funcs_t function structure.</doc> </docsection> <docsection name="hb-map"> <doc xml:space="preserve" filename="src/hb-map.cc" line="30">Map objects are integer-to-integer hash-maps. Currently they are not used in the HarfBuzz public API, but are provided for client's use if desired.</doc> </docsection> <docsection name="hb-ot-color"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="41">Functions for fetching color-font information from OpenType font faces. HarfBuzz supports `COLR`/`CPAL`, `sbix`, `CBDT`, and `SVG` color fonts.</doc> </docsection> <docsection name="hb-ot-font"> <doc xml:space="preserve" filename="src/hb-ot-font.cc" line="54">Functions for using OpenType fonts with hb_shape(). Note that fonts returned by hb_font_create() default to using these functions, so most clients would never need to call these functions directly.</doc> </docsection> <docsection name="hb-ot-layout"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="60">Functions for querying OpenType Layout features in the font face. See the [OpenType specification](http://www.microsoft.com/typography/otspec/) for details.</doc> </docsection> <docsection name="hb-ot-math"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="34">Functions for fetching mathematics layout data from OpenType fonts. HarfBuzz itself does not implement a math layout solution. The functions and types provided can be used by client programs to access the font data necessary for typesetting OpenType Math layout.</doc> </docsection> <docsection name="hb-ot-meta"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="31">Functions for fetching metadata from fonts.</doc> </docsection> <docsection name="hb-ot-metrics"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="36">Functions for fetching metrics from fonts.</doc> </docsection> <docsection name="hb-ot-name"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="36">Functions for fetching name strings from OpenType fonts.</doc> </docsection> <docsection name="hb-ot-shape"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="64">Support functions for OpenType shaping related queries.</doc> </docsection> <docsection name="hb-ot-var"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="38">Functions for fetching information about OpenType Variable Fonts.</doc> </docsection> <docsection name="hb-paint"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="31">Functions for painting glyphs. The main purpose of these functions is to paint (extract) color glyph layers from the COLRv1 table, but the API works for drawing ordinary outlines and images as well. The #hb_paint_funcs_t struct can be used with hb_font_paint_glyph().</doc> </docsection> <docsection name="hb-set"> <doc xml:space="preserve" filename="src/hb-set.cc" line="30">Set objects represent a mathematical set of integer values. They are used in non-shaping APIs to query certain sets of characters or glyphs, or other integer values.</doc> </docsection> <docsection name="hb-shape"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="40">Shaping is the central operation of HarfBuzz. Shaping operates on buffers, which are sequences of Unicode characters that use the same font and have the same text direction, script, and language. After shaping the buffer contains the output glyphs and their positions.</doc> </docsection> <docsection name="hb-shape-plan"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="36">Shape plans are an internal mechanism. Each plan contains state describing how HarfBuzz will shape a particular text segment, based on the combination of segment properties and the capabilities in the font face in use. Shape plans are not used for shaping directly, but can be queried to access certain information about how shaping will perform, given a set of specific input parameters (script, language, direction, features, etc.). Most client programs will not need to deal with shape plans directly.</doc> </docsection> <docsection name="hb-style"> <doc xml:space="preserve" filename="src/hb-style.cc" line="37">Functions for fetching style information from fonts.</doc> </docsection> <docsection name="hb-unicode"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="36">Unicode functions are used to access Unicode character properties. With these functions, client programs can query various properties from the Unicode Character Database for any code point, such as General Category (gc), Script (sc), Canonical Combining Class (ccc), etc. Client programs can optionally pass in their own Unicode functions that implement the same queries. The set of functions available is defined by the virtual methods in #hb_unicode_funcs_t. HarfBuzz provides built-in default functions for each method in #hb_unicode_funcs_t.</doc> </docsection> <docsection name="hb-version"> <doc xml:space="preserve" filename="src/hb-common.cc" line="650">These functions and macros allow accessing version of the HarfBuzz library used at compile- as well as run-time, and to direct code conditionally based on those versions, again, at compile- or run-time.</doc> </docsection> <function name="language_from_string" c:identifier="hb_language_from_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="330">Converts @str representing a BCP 47 language tag to the corresponding #hb_language_t.</doc> <source-position filename="src/hb-common.h" line="319"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="339"> The #hb_language_t corresponding to the BCP 47 language tag.</doc> <type name="language_t" c:type="hb_language_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="332">a string representing a BCP 47 language tag</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="334">length of the @str, or -1 if it is `NULL`-terminated.</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="language_get_default" c:identifier="hb_language_get_default" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="386">Fetch the default language from current locale. <note>Note that the first time this function is called, it calls "setlocale (LC_CTYPE, nullptr)" to fetch current locale. The underlying setlocale function is, in many implementations, NOT threadsafe. To avoid problems, call this function once before multiple threads can call it. This function is only used from hb_buffer_guess_segment_properties() by HarfBuzz itself.</note></doc> <source-position filename="src/hb-common.h" line="334"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="398">The default language of the locale as an #hb_language_t</doc> <type name="language_t" c:type="hb_language_t"/> </return-value> </function> <function name="language_matches" c:identifier="hb_language_matches" version="5.0.0"> <doc xml:space="preserve" filename="src/hb-common.cc" line="418">Check whether a second language tag is the same or a more specific version of the provided language tag. For example, "fa_IR.utf8" is a more specific tag for "fa" or for "fa_IR".</doc> <source-position filename="src/hb-common.h" line="337"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="427">`true` if languages match, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="420">The #hb_language_t to work on</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="specific" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="421">Another #hb_language_t</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> </parameters> </function> <record name="language_t" c:type="hb_language_t" disguised="1" pointer="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="309">Data type for languages. Each #hb_language_t corresponds to a BCP 47 language tag.</doc> <source-position filename="src/hb-common.h" line="316"/> <method name="_string" c:identifier="hb_language_to_string" moved-to="language_to_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="366">Converts an #hb_language_t to a string.</doc> <source-position filename="src/hb-common.h" line="322"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="372"> A `NULL`-terminated string representing the @language. Must not be freed by the caller.</doc> <type name="utf8" c:type="const char*"/> </return-value> <parameters> <instance-parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="368">The #hb_language_t to convert</doc> <type name="language_t" c:type="hb_language_t"/> </instance-parameter> </parameters> </method> </record> <function name="language_to_string" c:identifier="hb_language_to_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="366">Converts an #hb_language_t to a string.</doc> <source-position filename="src/hb-common.h" line="322"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="372"> A `NULL`-terminated string representing the @language. Must not be freed by the caller.</doc> <type name="utf8" c:type="const char*"/> </return-value> <parameters> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="368">The #hb_language_t to convert</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> </parameters> </function> <function name="map_allocation_successful" c:identifier="hb_map_allocation_successful" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="155">Tests whether memory allocation for a set was successful.</doc> <source-position filename="src/hb-map.h" line="84"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="161">`true` if allocation succeeded, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="157">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_clear" c:identifier="hb_map_clear" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="263">Clears out the contents of @map.</doc> <source-position filename="src/hb-map.h" line="90"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="265">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> </parameters> </function> <function name="map_copy" c:identifier="hb_map_copy" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="171">Allocate a copy of @map.</doc> <source-position filename="src/hb-map.h" line="87"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="177">Newly-allocated map.</doc> <type name="map_t" c:type="hb_map_t*"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="173">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_create" c:identifier="hb_map_create" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="42">Creates a new, initially empty map.</doc> <source-position filename="src/hb-map.h" line="59"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="47">The new #hb_map_t</doc> <type name="map_t" c:type="hb_map_t*"/> </return-value> </function> <function name="map_del" c:identifier="hb_map_del" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="227">Removes @key and its stored value from @map.</doc> <source-position filename="src/hb-map.h" line="115"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="229">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="230">The key to delete</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="map_destroy" c:identifier="hb_map_destroy" version="1.7.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="93">Decreases the reference count on a map. When the reference count reaches zero, the map is destroyed, freeing all memory.</doc> <source-position filename="src/hb-map.h" line="68"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="95">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> </parameters> </function> <function name="map_get" c:identifier="hb_map_get" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="211">Fetches the value stored for @key in @map.</doc> <source-position filename="src/hb-map.h" line="111"/> <return-value transfer-ownership="none"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="213">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="214">The key to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="map_get_empty" c:identifier="hb_map_get_empty" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="62">Fetches the singleton empty #hb_map_t.</doc> <source-position filename="src/hb-map.h" line="62"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="67">The empty #hb_map_t</doc> <type name="map_t" c:type="hb_map_t*"/> </return-value> </function> <function name="map_get_population" c:identifier="hb_map_get_population" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="293">Returns the number of key-value pairs in the map.</doc> <source-position filename="src/hb-map.h" line="96"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="299">The population of @map</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="295">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_get_user_data" c:identifier="hb_map_get_user_data" version="1.7.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="135">Fetches the user data associated with the specified key, attached to the specified map.</doc> <source-position filename="src/hb-map.h" line="78"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-map.cc" line="143">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="137">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="138">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="map_has" c:identifier="hb_map_has" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="244">Tests whether @key is an element of @map.</doc> <source-position filename="src/hb-map.h" line="119"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="251">`true` if @key is found in @map, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="246">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="247">The key to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="map_hash" c:identifier="hb_map_hash" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="328">Creates a hash representing @map.</doc> <source-position filename="src/hb-map.h" line="103"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="334">A hash of @map.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="330">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_is_empty" c:identifier="hb_map_is_empty" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="277">Tests whether @map is empty (contains no elements).</doc> <source-position filename="src/hb-map.h" line="93"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="283">`true` if @map is empty</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="279">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_is_equal" c:identifier="hb_map_is_equal" version="4.3.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="309">Tests whether @map and @other are equal (contain the same elements).</doc> <source-position filename="src/hb-map.h" line="99"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="317">`true` if the two maps are equal, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="311">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="312">Another map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_keys" c:identifier="hb_map_keys" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="389">Add the keys of @map to @keys.</doc> <source-position filename="src/hb-map.h" line="134"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="391">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="keys" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="392">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="map_next" c:identifier="hb_map_next" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="361">Fetches the next key/value pair in @map. Set @idx to -1 to get started. If the map is modified during iteration, the behavior is undefined. The order in which the key/values are returned is undefined.</doc> <source-position filename="src/hb-map.h" line="128"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="376">`true` if there was a next value, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="363">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="idx" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="364">Iterator internal state</doc> <type name="gint" c:type="int*"/> </parameter> <parameter name="key" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="365">Key retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="366">Value retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="map_reference" c:identifier="hb_map_reference" version="1.7.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="77">Increases the reference count on a map.</doc> <source-position filename="src/hb-map.h" line="65"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-map.cc" line="83">The map</doc> <type name="map_t" c:type="hb_map_t*"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="79">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> </parameters> </function> <function name="map_set" c:identifier="hb_map_set" version="1.7.7"> <doc xml:space="preserve" filename="src/hb-map.cc" line="192">Stores @key:@value in the map.</doc> <source-position filename="src/hb-map.h" line="106"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="194">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="195">The key to store in the map</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="value" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="196">The value to store for @key</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="map_set_user_data" c:identifier="hb_map_set_user_data" version="1.7.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="111">Attaches a user-data key/data pair to the specified map.</doc> <source-position filename="src/hb-map.h" line="71"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="121">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="113">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="114">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-map.cc" line="115">A pointer to the user data to set</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-map.cc" line="116">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="117">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="map_t" c:type="hb_map_t" opaque="1" glib:type-name="hb_map_t" glib:get-type="hb_gobject_map_get_type" c:symbol-prefix="gobject_map"> <doc xml:space="preserve" filename="src/hb-map.h" line="49">Data type for holding integer-to-integer hash maps.</doc> <source-position filename="src/hb-map.h" line="55"/> </record> <function name="map_update" c:identifier="hb_map_update" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="345">Add the contents of @other to @map.</doc> <source-position filename="src/hb-map.h" line="123"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="347">A map</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="348">Another map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> </parameters> </function> <function name="map_values" c:identifier="hb_map_values" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-map.cc" line="405">Add the values of @map to @values.</doc> <source-position filename="src/hb-map.h" line="138"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="map" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="407">A map</doc> <type name="map_t" c:type="const hb_map_t*"/> </parameter> <parameter name="values" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-map.cc" line="408">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <enumeration name="memory_mode_t" glib:type-name="hb_memory_mode_t" glib:get-type="hb_gobject_memory_mode_get_type" c:type="hb_memory_mode_t"> <doc xml:space="preserve" filename="src/hb-blob.h" line="39">Data type holding the memory modes available to client programs. Regarding these various memory-modes: - In no case shall the HarfBuzz client modify memory that is passed to HarfBuzz in a blob. If there is any such possibility, @HB_MEMORY_MODE_DUPLICATE should be used such that HarfBuzz makes a copy immediately, - Use @HB_MEMORY_MODE_READONLY otherwise, unless you really really really know what you are doing, - @HB_MEMORY_MODE_WRITABLE is appropriate if you really made a copy of data solely for the purpose of passing to HarfBuzz and doing that just once (no reuse!), - If the font is mmap()ed, it's okay to use @HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE, however, using that mode correctly is very tricky. Use @HB_MEMORY_MODE_READONLY instead.</doc> <member name="duplicate" value="0" c:identifier="HB_MEMORY_MODE_DUPLICATE" glib:nick="duplicate" glib:name="HB_MEMORY_MODE_DUPLICATE"> <doc xml:space="preserve" filename="src/hb-blob.h" line="41">HarfBuzz immediately makes a copy of the data.</doc> </member> <member name="readonly" value="1" c:identifier="HB_MEMORY_MODE_READONLY" glib:nick="readonly" glib:name="HB_MEMORY_MODE_READONLY"> <doc xml:space="preserve" filename="src/hb-blob.h" line="42">HarfBuzz client will never modify the data, and HarfBuzz will never modify the data.</doc> </member> <member name="writable" value="2" c:identifier="HB_MEMORY_MODE_WRITABLE" glib:nick="writable" glib:name="HB_MEMORY_MODE_WRITABLE"> <doc xml:space="preserve" filename="src/hb-blob.h" line="44">HarfBuzz client made a copy of the data solely for HarfBuzz, so HarfBuzz may modify the data.</doc> </member> <member name="readonly_may_make_writable" value="3" c:identifier="HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE" glib:nick="readonly-may-make-writable" glib:name="HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE"> <doc xml:space="preserve" filename="src/hb-blob.h" line="46">See above</doc> </member> </enumeration> <function name="ot_color_glyph_get_layers" c:identifier="hb_ot_color_glyph_get_layers" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="246">Fetches a list of all color layers for the specified glyph index in the specified face. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-color.h" line="117"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="258">Total number of layers available for the glyph index queried</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="248">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="249">The glyph index to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="250">offset of the first layer to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="layer_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="251">Input = the maximum number of layers to return; Output = the actual number of layers returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="layers" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="253">The array of layers found</doc> <array length="3" zero-terminated="0" c:type="hb_ot_color_layer_t*"> <type name="ot_color_layer_t" c:type="hb_ot_color_layer_t"/> </array> </parameter> </parameters> </function> <function name="ot_color_glyph_has_paint" c:identifier="hb_ot_color_glyph_has_paint" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="227">Tests where a face includes COLRv1 paint data for @glyph.</doc> <source-position filename="src/hb-ot-color.h" line="129"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="235">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="229">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="230">The glyph index to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_color_glyph_reference_png" c:identifier="hb_ot_color_glyph_reference_png" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="333">Fetches the PNG image for a glyph. This function takes a font object, not a face object, as input. To get an optimally sized PNG blob, the PPEM values must be set on the @font object. If PPEM is unset, the blob returned will be the largest PNG available. If the glyph has no PNG image, the singleton empty blob is returned.</doc> <source-position filename="src/hb-ot-color.h" line="150"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="344">An #hb_blob_t containing the PNG image for the glyph, if available</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="335">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="336">a glyph index</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_color_glyph_reference_svg" c:identifier="hb_ot_color_glyph_reference_svg" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="293">Fetches the SVG document for a glyph. The blob may be either plain text or gzip-encoded. If the glyph has no SVG document, the singleton empty blob is returned.</doc> <source-position filename="src/hb-ot-color.h" line="140"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="302">An #hb_blob_t containing the SVG document of the glyph, if available</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="295">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="296">a svg glyph index</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_color_has_layers" c:identifier="hb_ot_color_has_layers" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="193">Tests whether a face includes a `COLR` table with data according to COLRv0.</doc> <source-position filename="src/hb-ot-color.h" line="96"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="200">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="195">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_color_has_paint" c:identifier="hb_ot_color_has_paint" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="210">Tests where a face includes a `COLR` table with data according to COLRv1.</doc> <source-position filename="src/hb-ot-color.h" line="126"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="217">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="212">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_color_has_palettes" c:identifier="hb_ot_color_has_palettes" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="58">Tests whether a face includes a `CPAL` color-palette table.</doc> <source-position filename="src/hb-ot-color.h" line="47"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="64">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="60">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_color_has_png" c:identifier="hb_ot_color_has_png" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="317">Tests whether a face has PNG glyph images (either in `CBDT` or `sbix` tables).</doc> <source-position filename="src/hb-ot-color.h" line="147"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="323">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="319">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_color_has_svg" c:identifier="hb_ot_color_has_svg" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="277">Tests whether a face includes any `SVG` glyph images.</doc> <source-position filename="src/hb-ot-color.h" line="137"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="283">`true` if data found, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="279">#hb_face_t to work upon.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <record name="ot_color_layer_t" c:type="hb_ot_color_layer_t" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="98">Pairs of glyph and color index. A color index of 0xFFFF does not refer to a palette color, but indicates that the foreground color should be used.</doc> <source-position filename="src/hb-ot-color.h" line="114"/> <field name="glyph" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="100">the glyph ID of the layer</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </field> <field name="color_index" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="101">the palette color index of the layer</doc> <type name="guint" c:type="unsigned int"/> </field> </record> <function name="ot_color_palette_color_get_name_id" c:identifier="hb_ot_color_palette_color_get_name_id" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="113">Fetches the `name` table Name ID that provides display names for the specified color in a face's `CPAL` color palette. Display names can be generic (e.g., "Background") or specific (e.g., "Eye color").</doc> <source-position filename="src/hb-ot-color.h" line="57"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="124">the Name ID found for the color.</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="115">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="color_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="116">The index of the color</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <bitfield name="ot_color_palette_flags_t" version="2.1.0" glib:type-name="hb_ot_color_palette_flags_t" glib:get-type="hb_gobject_ot_color_palette_flags_get_type" c:type="hb_ot_color_palette_flags_t"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="60">Flags that describe the properties of color palette.</doc> <member name="default" value="0" c:identifier="HB_OT_COLOR_PALETTE_FLAG_DEFAULT" glib:nick="default" glib:name="HB_OT_COLOR_PALETTE_FLAG_DEFAULT"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="62">Default indicating that there is nothing special to note about a color palette.</doc> </member> <member name="usable_with_light_background" value="1" c:identifier="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND" glib:nick="usable-with-light-background" glib:name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="64">Flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white.</doc> </member> <member name="usable_with_dark_background" value="2" c:identifier="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND" glib:nick="usable-with-dark-background" glib:name="HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND"> <doc xml:space="preserve" filename="src/hb-ot-color.h" line="66">Flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black.</doc> </member> </bitfield> <function name="ot_color_palette_get_colors" c:identifier="hb_ot_color_palette_get_colors" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="153">Fetches a list of the colors in a color palette. After calling this function, @colors will be filled with the palette colors. If @colors is NULL, the function will just return the number of total colors without storing any actual colors; this can be used for allocating a buffer of suitable size before calling hb_ot_color_palette_get_colors() a second time. The RGBA values in the palette are unpremultiplied. See the OpenType spec [CPAL](https://learn.microsoft.com/en-us/typography/opentype/spec/cpal) section for details.</doc> <source-position filename="src/hb-ot-color.h" line="84"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="174">the total number of colors in the palette</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="155">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="palette_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="156">the index of the color palette to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="157">offset of the first color to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="color_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="158">Input = the maximum number of colors to return; Output = the actual number of colors returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="colors" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="160">The array of #hb_color_t records found</doc> <array length="3" zero-terminated="0" c:type="hb_color_t*"> <type name="color_t" c:type="hb_color_t"/> </array> </parameter> </parameters> </function> <function name="ot_color_palette_get_count" c:identifier="hb_ot_color_palette_get_count" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="74">Fetches the number of color palettes in a face.</doc> <source-position filename="src/hb-ot-color.h" line="50"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="80">the number of palettes found</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="76">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_color_palette_get_flags" c:identifier="hb_ot_color_palette_get_flags" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="135">Fetches the flags defined for a color palette.</doc> <source-position filename="src/hb-ot-color.h" line="80"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="142">the #hb_ot_color_palette_flags_t of the requested color palette</doc> <type name="ot_color_palette_flags_t" c:type="hb_ot_color_palette_flags_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="137">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="palette_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="138">The index of the color palette</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="ot_color_palette_get_name_id" c:identifier="hb_ot_color_palette_get_name_id" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="90">Fetches the `name` table Name ID that provides display names for a `CPAL` color palette. Palette display names can be generic (e.g., "Default") or provide specific, themed names (e.g., "Spring", "Summer", "Fall", and "Winter").</doc> <source-position filename="src/hb-ot-color.h" line="53"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="101">the Named ID found for the palette. If the requested palette has no name the result is #HB_OT_NAME_ID_INVALID.</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="92">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="palette_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-color.cc" line="93">The index of the color palette</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="ot_font_set_funcs" c:identifier="hb_ot_font_set_funcs" version="0.9.28"> <doc xml:space="preserve" filename="src/hb-ot-font.cc" line="641">Sets the font functions to use when working with @font to the HarfBuzz's native implementation. This is the default for fonts newly created.</doc> <source-position filename="src/hb-ot-font.h" line="40"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-font.cc" line="643">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <enumeration name="ot_layout_baseline_tag_t" version="2.6.0" glib:type-name="hb_ot_layout_baseline_tag_t" glib:get-type="hb_gobject_ot_layout_baseline_tag_get_type" c:type="hb_ot_layout_baseline_tag_t"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="471">Baseline tags from [Baseline Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags) registry.</doc> <member name="roman" value="1919905134" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_ROMAN" glib:nick="roman" glib:name="HB_OT_LAYOUT_BASELINE_TAG_ROMAN"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="473">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.)</doc> </member> <member name="hanging" value="1751215719" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_HANGING" glib:nick="hanging" glib:name="HB_OT_LAYOUT_BASELINE_TAG_HANGING"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="477">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.</doc> </member> <member name="ideo_face_bottom_or_left" value="1768121954" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT" glib:nick="ideo-face-bottom-or-left" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="480">Ideographic character face bottom or left edge, if the direction is horizontal or vertical, respectively.</doc> </member> <member name="ideo_face_top_or_right" value="1768121972" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT" glib:nick="ideo-face-top-or-right" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="482">Ideographic character face top or right edge, if the direction is horizontal or vertical, respectively.</doc> </member> <member name="ideo_face_central" value="1231251043" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL" glib:nick="ideo-face-central" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="484">The center of the ideographic character face. Since: 4.0.0</doc> </member> <member name="ideo_embox_bottom_or_left" value="1768187247" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT" glib:nick="ideo-embox-bottom-or-left" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="485">Ideographic em-box bottom or left edge, if the direction is horizontal or vertical, respectively.</doc> </member> <member name="ideo_embox_top_or_right" value="1768191088" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT" glib:nick="ideo-embox-top-or-right" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="487">Ideographic em-box top or right edge baseline,</doc> </member> <member name="ideo_embox_central" value="1231315813" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL" glib:nick="ideo-embox-central" glib:name="HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="488">The center of the ideographic em-box. Since: 4.0.0 if the direction is horizontal or vertical, respectively.</doc> </member> <member name="math" value="1835103336" c:identifier="HB_OT_LAYOUT_BASELINE_TAG_MATH" glib:nick="math" glib:name="HB_OT_LAYOUT_BASELINE_TAG_MATH"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="490">The baseline about which mathematical characters are centered. In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.</doc> </member> </enumeration> <function name="ot_layout_collect_features" c:identifier="hb_ot_layout_collect_features" version="1.8.5"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1246">Fetches a list of all feature indexes in the specified face's GSUB table or GPOS table, underneath the specified scripts, languages, and features. If no list of scripts is provided, all scripts will be queried. If no list of languages is provided, all languages will be queried. If no list of features is provided, all features will be queried.</doc> <source-position filename="src/hb-ot-layout.h" line="320"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1248">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1249">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="scripts" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1250">The array of scripts to collect features for, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="languages" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1252">The array of languages to collect features for, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="features" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1254">The array of features to collect, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="feature_indexes" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1256">The set of feature indexes found for the query</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_collect_features_map" c:identifier="hb_ot_layout_collect_features_map" version="8.1.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1297">Fetches the mapping from feature tags to feature indexes for the specified script and language.</doc> <source-position filename="src/hb-ot-layout.h" line="328"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1299">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1300">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1301">The index of the requested script tag</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1302">The index of the requested language tag</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="feature_map" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1303">The map of feature tag to feature index.</doc> <type name="map_t" c:type="hb_map_t*"/> </parameter> </parameters> </function> <function name="ot_layout_collect_lookups" c:identifier="hb_ot_layout_collect_lookups" version="0.9.8"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1341">Fetches a list of all feature-lookup indexes in the specified face's GSUB table or GPOS table, underneath the specified scripts, languages, and features. If no list of scripts is provided, all scripts will be queried. If no list of languages is provided, all languages will be queried. If no list of features is provided, all features will be queried.</doc> <source-position filename="src/hb-ot-layout.h" line="335"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1343">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1344">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="scripts" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1345">The array of scripts to collect lookups for, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="languages" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1347">The array of languages to collect lookups for, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="features" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1349">The array of features to collect lookups for, terminated by %HB_TAG_NONE</doc> <array c:type="const hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> <parameter name="lookup_indexes" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1351">The array of lookup indexes found for the query</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_feature_get_characters" c:identifier="hb_ot_layout_feature_get_characters" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1847">Fetches a list of the characters defined as having a variant under the specified "Character Variant" ("cvXX") feature tag.</doc> <source-position filename="src/hb-ot-layout.h" line="445"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1862">Number of total sample characters in the cvXX feature.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1849">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1850">table tag to query, "GSUB" or "GPOS".</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="feature_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1851">index of feature to query.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1852">offset of the first character to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="char_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1853">Input = the maximum number of characters to return; Output = the actual number of characters returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="characters" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1855">A buffer pointer. The Unicode codepoints of the characters for which this feature provides glyph variants.</doc> <array length="4" zero-terminated="0" c:type="hb_codepoint_t*"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_feature_get_lookups" c:identifier="hb_ot_layout_feature_get_lookups" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1030">Fetches a list of all lookups enumerated for the specified feature, in the specified face's GSUB table or GPOS table. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="308"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1044">Total number of lookups.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1032">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1033">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="feature_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1034">The index of the requested feature</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1035">offset of the first lookup to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="lookup_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1036">Input = the maximum number of lookups to return; Output = the actual number of lookups returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="lookup_indexes" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1038">The array of lookup indexes found for the query</doc> <array length="4" zero-terminated="0" c:type="unsigned int*"> <type name="guint" c:type="unsigned int"/> </array> </parameter> </parameters> </function> <function name="ot_layout_feature_get_name_ids" c:identifier="hb_ot_layout_feature_get_name_ids" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1773">Fetches name indices from feature parameters for "Stylistic Set" ('ssXX') or "Character Variant" ('cvXX') features.</doc> <source-position filename="src/hb-ot-layout.h" line="434"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1793">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1775">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1776">table tag to query, "GSUB" or "GPOS".</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="feature_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1777">index of feature to query.</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="label_id" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1778">The ‘name’ table name ID that specifies a string for a user-interface label for this feature. (May be NULL.)</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/> </parameter> <parameter name="tooltip_id" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1780">The ‘name’ table name ID that specifies a string that an application can use for tooltip text for this feature. (May be NULL.)</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/> </parameter> <parameter name="sample_id" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1783">The ‘name’ table name ID that specifies sample text that illustrates the effect of this feature. (May be NULL.)</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/> </parameter> <parameter name="num_named_parameters" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1785">Number of named parameters. (May be zero.)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="first_param_id" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1786">The first ‘name’ table name ID used to specify strings for user-interface labels for the feature parameters. (Must be zero if numParameters is zero.)</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/> </parameter> </parameters> </function> <function name="ot_layout_feature_with_variations_get_lookups" c:identifier="hb_ot_layout_feature_with_variations_get_lookups" version="1.4.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1467">Fetches a list of all lookups enumerated for the specified feature, in the specified face's GSUB table or GPOS table, enabled at the specified variations index. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="362"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1482">Total number of lookups.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1469">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1470">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="feature_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1471">The index of the feature to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="variations_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1472">The index of the feature variation to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1473">offset of the first lookup to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="lookup_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1474">Input = the maximum number of lookups to return; Output = the actual number of lookups returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="lookup_indexes" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1476">The array of lookups found for the query</doc> <array length="5" zero-terminated="0" c:type="unsigned int*"> <type name="guint" c:type="unsigned int"/> </array> </parameter> </parameters> </function> <function name="ot_layout_get_attach_points" c:identifier="hb_ot_layout_get_attach_points"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="339">Fetches a list of all attachment points for the specified glyph in the GDEF table of the face. The list returned will begin at the offset provided. Useful if the client program wishes to cache the list.</doc> <source-position filename="src/hb-ot-layout.h" line="168"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="353">Total number of attachment points for @glyph.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="341">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="342">The #hb_codepoint_t code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="343">offset of the first attachment point to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="point_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="344">Input = the maximum number of attachment points to return; Output = the actual number of attachment points returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="point_array" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="346">The array of attachment points found for the query</doc> <array length="3" zero-terminated="0" c:type="unsigned int*"> <type name="guint" c:type="unsigned int"/> </array> </parameter> </parameters> </function> <function name="ot_layout_get_baseline" c:identifier="hb_ot_layout_get_baseline" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2274">Fetches a baseline value from the face.</doc> <source-position filename="src/hb-ot-layout.h" line="516"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2285">`true` if found baseline value in the font.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2276">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="baseline_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2277">a baseline tag</doc> <type name="ot_layout_baseline_tag_t" c:type="hb_ot_layout_baseline_tag_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2278">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2279">script tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="language_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2280">language tag, currently unused.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="coord" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2281">baseline value if found.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_baseline2" c:identifier="hb_ot_layout_get_baseline2" version="8.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2300">Fetches a baseline value from the face. This function is like hb_ot_layout_get_baseline() but takes #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.</doc> <source-position filename="src/hb-ot-layout.h" line="524"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2314">`true` if found baseline value in the font.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2302">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="baseline_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2303">a baseline tag</doc> <type name="ot_layout_baseline_tag_t" c:type="hb_ot_layout_baseline_tag_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2304">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2305">script.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> <parameter name="language" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2306">language, currently unused.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="coord" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2307">baseline value if found.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_baseline_with_fallback" c:identifier="hb_ot_layout_get_baseline_with_fallback" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2336">Fetches a baseline value from the face, and synthesizes it if the font does not have it.</doc> <source-position filename="src/hb-ot-layout.h" line="532"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2338">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="baseline_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2339">a baseline tag</doc> <type name="ot_layout_baseline_tag_t" c:type="hb_ot_layout_baseline_tag_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2340">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2341">script tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="language_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2342">language tag, currently unused.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="coord" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2343">baseline value if found.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_baseline_with_fallback2" c:identifier="hb_ot_layout_get_baseline_with_fallback2" version="8.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2558">Fetches a baseline value from the face, and synthesizes it if the font does not have it. This function is like hb_ot_layout_get_baseline_with_fallback() but takes #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.</doc> <source-position filename="src/hb-ot-layout.h" line="540"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2560">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="baseline_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2561">a baseline tag</doc> <type name="ot_layout_baseline_tag_t" c:type="hb_ot_layout_baseline_tag_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2562">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2563">script.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> <parameter name="language" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2564">language, currently unused.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="coord" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2565">baseline value if found.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_font_extents" c:identifier="hb_ot_layout_get_font_extents" version="8.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2118">Fetches script/language-specific font extents. These values are looked up in the `BASE` table's `MinMax` records. If no such extents are found, the default extents for the font are fetched. As such, the return value of this function can for the most part be ignored. Note that the per-script/language extents do not have a line-gap value, and the line-gap is set to zero in that case.</doc> <source-position filename="src/hb-ot-layout.h" line="458"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2135">`true` if found script/language-specific font extents.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2120">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2121">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2122">script tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="language_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2123">language tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2124">font extents if found.</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_font_extents2" c:identifier="hb_ot_layout_get_font_extents2" version="8.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2163">Fetches script/language-specific font extents. These values are looked up in the `BASE` table's `MinMax` records. If no such extents are found, the default extents for the font are fetched. As such, the return value of this function can for the most part be ignored. Note that the per-script/language extents do not have a line-gap value, and the line-gap is set to zero in that case. This function is like hb_ot_layout_get_font_extents() but takes #hb_script_t and #hb_language_t instead of OpenType #hb_tag_t.</doc> <source-position filename="src/hb-ot-layout.h" line="465"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2183">`true` if found script/language-specific font extents.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2165">a font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2166">text direction.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2167">script.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> <parameter name="language" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2168">language.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="extents" direction="out" caller-allocates="1" transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2169">font extents if found.</doc> <type name="font_extents_t" c:type="hb_font_extents_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_glyph_class" c:identifier="hb_ot_layout_get_glyph_class" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="299">Fetches the GDEF class of the requested glyph in the specified face.</doc> <source-position filename="src/hb-ot-layout.h" line="157"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="306">The #hb_ot_layout_glyph_class_t glyph class of the given code point in the GDEF table of the face.</doc> <type name="ot_layout_glyph_class_t" c:type="hb_ot_layout_glyph_class_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="301">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="302">The #hb_codepoint_t code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_layout_get_glyphs_in_class" c:identifier="hb_ot_layout_get_glyphs_in_class" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="318">Retrieves the set of all glyphs from the face that belong to the requested glyph class in the face's GDEF table.</doc> <source-position filename="src/hb-ot-layout.h" line="161"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="320">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="klass" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="321">The #hb_ot_layout_glyph_class_t GDEF class to retrieve</doc> <type name="ot_layout_glyph_class_t" c:type="hb_ot_layout_glyph_class_t"/> </parameter> <parameter name="glyphs" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="322">The #hb_set_t set of all glyphs belonging to the requested class.</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_get_horizontal_baseline_tag_for_script" c:identifier="hb_ot_layout_get_horizontal_baseline_tag_for_script" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2203">Fetches the dominant horizontal baseline tag used by @script.</doc> <source-position filename="src/hb-ot-layout.h" line="513"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2209">dominant baseline tag for the @script.</doc> <type name="ot_layout_baseline_tag_t" c:type="hb_ot_layout_baseline_tag_t"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2205">a script tag.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> </parameters> </function> <function name="ot_layout_get_ligature_carets" c:identifier="hb_ot_layout_get_ligature_carets"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="368">Fetches a list of the caret positions defined for a ligature glyph in the GDEF table of the font. The list returned will begin at the offset provided. Note that a ligature that is formed from n characters will have n-1 caret positions. The first character is not represented in the array, since its caret position is the glyph position. The positions returned by this function are 'unshaped', and will have to be fixed up for kerning that may be applied to the ligature glyph.</doc> <source-position filename="src/hb-ot-layout.h" line="176"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="388">Total number of ligature caret positions for @glyph.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="370">The #hb_font_t to work on</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="371">The #hb_direction_t text direction to use</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="372">The #hb_codepoint_t code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="373">offset of the first caret position to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="caret_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="374">Input = the maximum number of caret positions to return; Output = the actual number of caret positions returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="caret_array" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="376">The array of caret positions found for the query</doc> <array length="4" zero-terminated="0" c:type="hb_position_t*"> <type name="position_t" c:type="hb_position_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_get_size_params" c:identifier="hb_ot_layout_get_size_params" version="0.9.10"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1709">Fetches optical-size feature data (i.e., the `size` feature from GPOS). Note that the subfamily_id and the subfamily name string (accessible via the subfamily_name_id) as used here are defined as pertaining only to fonts within a font family that differ specifically in their respective size ranges; other ways to differentiate fonts within a subfamily are not covered by the `size` feature. For more information on this distinction, see the [`size` feature documentation]( https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#tag-size).</doc> <source-position filename="src/hb-ot-layout.h" line="415"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1727">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1711">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="design_size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1712">The design size of the face</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="subfamily_id" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1713">The identifier of the face within the font subfamily</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="subfamily_name_id" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1714">The ‘name’ table name ID of the face within the font subfamily</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t*"/> </parameter> <parameter name="range_start" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1715">The minimum size of the recommended size range for the face</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="range_end" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1716">The maximum size of the recommended size range for the face</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <enumeration name="ot_layout_glyph_class_t" glib:type-name="hb_ot_layout_glyph_class_t" glib:get-type="hb_gobject_ot_layout_glyph_class_get_type" c:type="hb_ot_layout_glyph_class_t"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="137">The GDEF classes defined for glyphs.</doc> <member name="unclassified" value="0" c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED" glib:nick="unclassified" glib:name="HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="139">Glyphs not matching the other classifications</doc> </member> <member name="base_glyph" value="1" c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH" glib:nick="base-glyph" glib:name="HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="140">Spacing, single characters, capable of accepting marks</doc> </member> <member name="ligature" value="2" c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE" glib:nick="ligature" glib:name="HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="141">Glyphs that represent ligation of multiple characters</doc> </member> <member name="mark" value="3" c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_MARK" glib:nick="mark" glib:name="HB_OT_LAYOUT_GLYPH_CLASS_MARK"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="142">Non-spacing, combining glyphs that represent marks</doc> </member> <member name="component" value="4" c:identifier="HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT" glib:nick="component" glib:name="HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT"> <doc xml:space="preserve" filename="src/hb-ot-layout.h" line="143">Spacing glyphs that represent part of a single character</doc> </member> </enumeration> <function name="ot_layout_has_glyph_classes" c:identifier="hb_ot_layout_has_glyph_classes"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="284">Tests whether a face has any glyph classes defined in its GDEF table.</doc> <source-position filename="src/hb-ot-layout.h" line="135"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="290">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="286">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_layout_has_positioning" c:identifier="hb_ot_layout_has_positioning"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1648">Tests whether the specified face includes any GPOS positioning.</doc> <source-position filename="src/hb-ot-layout.h" line="410"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1654">`true` if the face has GPOS data, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1650">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_layout_has_substitution" c:identifier="hb_ot_layout_has_substitution" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1510">Tests whether the specified face includes any GSUB substitutions.</doc> <source-position filename="src/hb-ot-layout.h" line="376"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1516">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1512">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_layout_language_find_feature" c:identifier="hb_ot_layout_language_find_feature" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="986">Fetches the index of a given feature tag in the specified face's GSUB table or GPOS table, underneath the specified script and language.</doc> <source-position filename="src/hb-ot-layout.h" line="300"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="998">`true` if the feature is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="988">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="989">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="990">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="991">The index of the requested language tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="992">#hb_tag_t of the feature tag requested</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="feature_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="993">The index of the requested feature</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_language_get_feature_indexes" c:identifier="hb_ot_layout_language_get_feature_indexes" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="905">Fetches a list of all features in the specified face's GSUB table or GPOS table, underneath the specified script and language. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="282"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="920">Total number of features.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="907">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="908">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="909">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="910">The index of the requested language tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="911">offset of the first feature tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="912">Input = the maximum number of feature tags to return; Output: the actual number of feature tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="feature_indexes" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="914">The array of feature indexes found for the query</doc> <array length="5" zero-terminated="0" c:type="unsigned int*"> <type name="guint" c:type="unsigned int"/> </array> </parameter> </parameters> </function> <function name="ot_layout_language_get_feature_tags" c:identifier="hb_ot_layout_language_get_feature_tags" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="941">Fetches a list of all features in the specified face's GSUB table or GPOS table, underneath the specified script and language. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="291"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="956">Total number of feature tags.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="943">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="944">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="945">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="946">The index of the requested language tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="947">offset of the first feature tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="948">Input = the maximum number of feature tags to return; Output = the actual number of feature tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="feature_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="950">The array of #hb_tag_t feature tags found for the query</doc> <array length="5" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_language_get_required_feature" c:identifier="hb_ot_layout_language_get_required_feature" version="0.9.30"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="870">Fetches the tag of a requested feature index in the given face's GSUB or GPOS table, underneath the specified script and language.</doc> <source-position filename="src/hb-ot-layout.h" line="274"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="882">`true` if the feature is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="872">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="873">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="874">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="875">The index of the requested language tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="876">The index of the requested feature</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="feature_tag" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="877">The #hb_tag_t of the requested feature</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <function name="ot_layout_language_get_required_feature_index" c:identifier="hb_ot_layout_language_get_required_feature_index" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="838">Fetches the index of a requested feature in the given face's GSUB or GPOS table, underneath the specified script and language.</doc> <source-position filename="src/hb-ot-layout.h" line="267"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="849">`true` if the feature is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="840">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="841">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="842">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="843">The index of the requested language tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="844">The index of the requested feature</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_lookup_collect_glyphs" c:identifier="hb_ot_layout_lookup_collect_glyphs" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1382">Fetches a list of all glyphs affected by the specified lookup in the specified face's GSUB table or GPOS table.</doc> <source-position filename="src/hb-ot-layout.h" line="343"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1384">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1385">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="lookup_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1386">The index of the feature lookup to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="glyphs_before" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1387">Array of glyphs preceding the substitution range</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="glyphs_input" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1388">Array of input glyphs that would be substituted by the lookup</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="glyphs_after" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1389">Array of glyphs following the substitution range</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="glyphs_output" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1390">Array of glyphs that would be the substituted output of the lookup</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_lookup_get_glyph_alternates" c:identifier="hb_ot_layout_lookup_get_glyph_alternates" version="2.6.8"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2616">Fetches alternates of a glyph from a given GSUB lookup index.</doc> <source-position filename="src/hb-ot-layout.h" line="379"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2629">Total number of alternates found in the specific lookup index for the given glyph id.</doc> <type name="guint" c:type="unsigned"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2618">a face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="lookup_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2619">index of the feature lookup to query.</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2620">a glyph id.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2621">starting offset.</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="alternate_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2622">Input = the maximum number of alternate glyphs to return; Output = the actual number of alternate glyphs returned (may be zero).</doc> <type name="guint" c:type="unsigned*"/> </parameter> <parameter name="alternate_glyphs" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2624">A glyphs buffer. Alternate glyphs associated with the glyph id.</doc> <array length="4" zero-terminated="0" c:type="hb_codepoint_t*"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_lookup_get_optical_bound" c:identifier="hb_ot_layout_lookup_get_optical_bound" version="5.3.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2668">Fetches the optical bound of a glyph positioned at the margin of text. The direction identifies which edge of the glyph to query.</doc> <source-position filename="src/hb-ot-layout.h" line="423"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2678">Adjustment value. Negative values mean the glyph will stick out of the margin.</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2670">a font.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="lookup_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2671">index of the feature lookup to query.</doc> <type name="guint" c:type="unsigned"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2672">edge of the glyph to query.</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="2673">a glyph id.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_layout_lookup_substitute_closure" c:identifier="hb_ot_layout_lookup_substitute_closure" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1577">Compute the transitive closure of glyphs needed for a specified lookup.</doc> <source-position filename="src/hb-ot-layout.h" line="394"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1579">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="lookup_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1580">index of the feature lookup to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="glyphs" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1581">Array of glyphs comprising the transitive closure of the lookup</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_lookup_would_substitute" c:identifier="hb_ot_layout_lookup_would_substitute" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1528">Tests whether a specified lookup in the specified face would trigger a substitution on the given glyph sequence.</doc> <source-position filename="src/hb-ot-layout.h" line="387"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1540">`true` if a substitution would be triggered, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1530">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="lookup_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1531">The index of the lookup to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="glyphs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1532">The sequence of glyphs to query for substitution</doc> <type name="codepoint_t" c:type="const hb_codepoint_t*"/> </parameter> <parameter name="glyphs_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1533">The length of the glyph sequence</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="zero_context" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1534">#hb_bool_t indicating whether pre-/post-context are disallowed in substitutions</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <function name="ot_layout_lookups_substitute_closure" c:identifier="hb_ot_layout_lookups_substitute_closure" version="1.8.1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1602">Compute the transitive closure of glyphs needed for all of the provided lookups.</doc> <source-position filename="src/hb-ot-layout.h" line="400"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1604">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="lookups" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1605">The set of lookups to query</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="glyphs" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1606">Array of glyphs comprising the transitive closure of the lookups</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_layout_script_find_language" c:identifier="hb_ot_layout_script_find_language" version="0.6.0" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="711">Fetches the index of a given language tag in the specified face's GSUB table or GPOS table, underneath the specified script tag.</doc> <source-position filename="src/hb-ot-deprecated.h" line="80"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="722">`true` if the language tag is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="713">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="714">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="715">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="716">The #hb_tag_t of the requested language</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="language_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="717">The index of the requested language</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_script_get_language_tags" c:identifier="hb_ot_layout_script_get_language_tags" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="678">Fetches a list of language tags in the given face's GSUB or GPOS table, underneath the specified script index. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="242"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="691">Total number of language tags.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="680">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="681">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="682">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="683">offset of the first language tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="684">Input = the maximum number of language tags to return; Output = the actual number of language tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="language_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="686">Array of language tags found in the table</doc> <array length="4" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_script_select_language" c:identifier="hb_ot_layout_script_select_language" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="804">Fetches the index of the first language tag fom @language_tags that is present in the specified face's GSUB or GPOS table, underneath the specified script index. If none of the given language tags is found, `false` is returned and @language_index is set to the default language index.</doc> <source-position filename="src/hb-ot-layout.h" line="250"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="820">`true` if one of the given language tags is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="806">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="807">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="808">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="809">The number of languages in the specified script</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_tags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="810">The array of language tags</doc> <type name="tag_t" c:type="const hb_tag_t*"/> </parameter> <parameter name="language_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="811">The index of the requested language</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_script_select_language2" c:identifier="hb_ot_layout_script_select_language2" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="744">Fetches the index of the first language tag fom @language_tags that is present in the specified face's GSUB or GPOS table, underneath the specified script index. If none of the given language tags is found, `false` is returned and @language_index is set to #HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX and @chosen_language is set to #HB_TAG_NONE.</doc> <source-position filename="src/hb-ot-layout.h" line="258"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="762">`true` if one of the given language tags is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="746">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="747">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="748">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="749">The number of languages in the specified script</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="language_tags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="750">The array of language tags</doc> <type name="tag_t" c:type="const hb_tag_t*"/> </parameter> <parameter name="language_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="751">The index of the chosen language</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="chosen_language" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="752">#hb_tag_t of the chosen language</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <function name="ot_layout_table_choose_script" c:identifier="hb_ot_layout_table_choose_script"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="513">Deprecated since 2.0.0</doc> <source-position filename="src/hb-ot-deprecated.h" line="72"/> <return-value transfer-ownership="none"> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="515">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="516">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_tags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="517">Array of #hb_tag_t script tags</doc> <type name="tag_t" c:type="const hb_tag_t*"/> </parameter> <parameter name="script_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="518">The index of the chosen script</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="chosen_script" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="519">#hb_tag_t of the chosen script</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <function name="ot_layout_table_find_feature_variations" c:identifier="hb_ot_layout_table_find_feature_variations" version="1.4.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1434">Fetches a list of feature variations in the specified face's GSUB table or GPOS table, at the specified variation coordinates.</doc> <source-position filename="src/hb-ot-layout.h" line="355"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1445">`true` if feature variations were found, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1436">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1437">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1438">The variation coordinates to query</doc> <type name="gint" c:type="const int*"/> </parameter> <parameter name="num_coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1439">The number of variation coordinates</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="variations_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1440">The array of feature variations found for the query</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_table_find_script" c:identifier="hb_ot_layout_table_find_script"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="469">Fetches the index if a given script tag in the specified face's GSUB table or GPOS table.</doc> <source-position filename="src/hb-ot-layout.h" line="221"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="479">`true` if the script is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="471">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="472">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="473">#hb_tag_t of the script tag requested</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_index" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="474">The index of the requested script tag</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_layout_table_get_feature_tags" c:identifier="hb_ot_layout_table_get_feature_tags" version="0.6.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="609">Fetches a list of all feature tags in the given face's GSUB or GPOS table. Note that there might be duplicate feature tags, belonging to different script/language-system pairs of the table.</doc> <source-position filename="src/hb-ot-layout.h" line="235"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="622">Total number of feature tags.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="611">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="612">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="613">offset of the first feature tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="feature_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="614">Input = the maximum number of feature tags to return; Output = the actual number of feature tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="feature_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="616">Array of feature tags found in the table</doc> <array length="3" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_table_get_lookup_count" c:identifier="hb_ot_layout_table_get_lookup_count" version="0.9.22"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1066">Fetches the total number of lookups enumerated in the specified face's GSUB table or GPOS table.</doc> <source-position filename="src/hb-ot-layout.h" line="316"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1074">Total number of lookups.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1068">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="1069">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> </parameters> </function> <function name="ot_layout_table_get_script_tags" c:identifier="hb_ot_layout_table_get_script_tags"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="440">Fetches a list of all scripts enumerated in the specified face's GSUB table or GPOS table. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-layout.h" line="214"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="452">Total number of script tags.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="442">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="443">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="444">offset of the first script tag to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="script_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="445">Input = the maximum number of script tags to return; Output = the actual number of script tags returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="script_tags" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="447">The array of #hb_tag_t script tags found for the query</doc> <array length="3" zero-terminated="0" c:type="hb_tag_t*"> <type name="tag_t" c:type="hb_tag_t"/> </array> </parameter> </parameters> </function> <function name="ot_layout_table_select_script" c:identifier="hb_ot_layout_table_select_script" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="536">Selects an OpenType script for @table_tag from the @script_tags array. If the table does not have any of the requested scripts, then `DFLT`, `dflt`, and `latn` tags are tried in that order. If the table still does not have any of these scripts, @script_index is set to #HB_OT_LAYOUT_NO_SCRIPT_INDEX and @chosen_script is set to #HB_TAG_NONE.</doc> <source-position filename="src/hb-ot-layout.h" line="227"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="552">`true` if one of the requested scripts is selected, `false` if a fallback script is selected or if no scripts are selected.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="538">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="539">#HB_OT_TAG_GSUB or #HB_OT_TAG_GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script_count" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="540">Number of script tags in the array</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="script_tags" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="541">Array of #hb_tag_t script tags</doc> <type name="tag_t" c:type="const hb_tag_t*"/> </parameter> <parameter name="script_index" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="542">The index of the requested script</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="chosen_script" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-layout.cc" line="543">#hb_tag_t of the requested script</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <enumeration name="ot_math_constant_t" version="1.3.3" glib:type-name="hb_ot_math_constant_t" glib:get-type="hb_gobject_ot_math_constant_get_type" c:type="hb_ot_math_constant_t"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="68">The 'MATH' table constants, refer to [OpenType documentation](https://docs.microsoft.com/en-us/typography/opentype/spec/math#mathconstants-table) For more explanations.</doc> <member name="script_percent_scale_down" value="0" c:identifier="HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN" glib:nick="script-percent-scale-down" glib:name="HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="70">scriptPercentScaleDown</doc> </member> <member name="script_script_percent_scale_down" value="1" c:identifier="HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN" glib:nick="script-script-percent-scale-down" glib:name="HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="71">scriptScriptPercentScaleDown</doc> </member> <member name="delimited_sub_formula_min_height" value="2" c:identifier="HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT" glib:nick="delimited-sub-formula-min-height" glib:name="HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="72">delimitedSubFormulaMinHeight</doc> </member> <member name="display_operator_min_height" value="3" c:identifier="HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT" glib:nick="display-operator-min-height" glib:name="HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="73">displayOperatorMinHeight</doc> </member> <member name="math_leading" value="4" c:identifier="HB_OT_MATH_CONSTANT_MATH_LEADING" glib:nick="math-leading" glib:name="HB_OT_MATH_CONSTANT_MATH_LEADING"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="74">mathLeading</doc> </member> <member name="axis_height" value="5" c:identifier="HB_OT_MATH_CONSTANT_AXIS_HEIGHT" glib:nick="axis-height" glib:name="HB_OT_MATH_CONSTANT_AXIS_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="75">axisHeight</doc> </member> <member name="accent_base_height" value="6" c:identifier="HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT" glib:nick="accent-base-height" glib:name="HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="76">accentBaseHeight</doc> </member> <member name="flattened_accent_base_height" value="7" c:identifier="HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT" glib:nick="flattened-accent-base-height" glib:name="HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="77">flattenedAccentBaseHeight</doc> </member> <member name="subscript_shift_down" value="8" c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN" glib:nick="subscript-shift-down" glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="78">subscriptShiftDown</doc> </member> <member name="subscript_top_max" value="9" c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX" glib:nick="subscript-top-max" glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="79">subscriptTopMax</doc> </member> <member name="subscript_baseline_drop_min" value="10" c:identifier="HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN" glib:nick="subscript-baseline-drop-min" glib:name="HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="80">subscriptBaselineDropMin</doc> </member> <member name="superscript_shift_up" value="11" c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP" glib:nick="superscript-shift-up" glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="81">superscriptShiftUp</doc> </member> <member name="superscript_shift_up_cramped" value="12" c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED" glib:nick="superscript-shift-up-cramped" glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="82">superscriptShiftUpCramped</doc> </member> <member name="superscript_bottom_min" value="13" c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN" glib:nick="superscript-bottom-min" glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="83">superscriptBottomMin</doc> </member> <member name="superscript_baseline_drop_max" value="14" c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX" glib:nick="superscript-baseline-drop-max" glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="84">superscriptBaselineDropMax</doc> </member> <member name="sub_superscript_gap_min" value="15" c:identifier="HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN" glib:nick="sub-superscript-gap-min" glib:name="HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="85">subSuperscriptGapMin</doc> </member> <member name="superscript_bottom_max_with_subscript" value="16" c:identifier="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT" glib:nick="superscript-bottom-max-with-subscript" glib:name="HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="86">superscriptBottomMaxWithSubscript</doc> </member> <member name="space_after_script" value="17" c:identifier="HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT" glib:nick="space-after-script" glib:name="HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="87">spaceAfterScript</doc> </member> <member name="upper_limit_gap_min" value="18" c:identifier="HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN" glib:nick="upper-limit-gap-min" glib:name="HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="88">upperLimitGapMin</doc> </member> <member name="upper_limit_baseline_rise_min" value="19" c:identifier="HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN" glib:nick="upper-limit-baseline-rise-min" glib:name="HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="89">upperLimitBaselineRiseMin</doc> </member> <member name="lower_limit_gap_min" value="20" c:identifier="HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN" glib:nick="lower-limit-gap-min" glib:name="HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="90">lowerLimitGapMin</doc> </member> <member name="lower_limit_baseline_drop_min" value="21" c:identifier="HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN" glib:nick="lower-limit-baseline-drop-min" glib:name="HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="91">lowerLimitBaselineDropMin</doc> </member> <member name="stack_top_shift_up" value="22" c:identifier="HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP" glib:nick="stack-top-shift-up" glib:name="HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="92">stackTopShiftUp</doc> </member> <member name="stack_top_display_style_shift_up" value="23" c:identifier="HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP" glib:nick="stack-top-display-style-shift-up" glib:name="HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="93">stackTopDisplayStyleShiftUp</doc> </member> <member name="stack_bottom_shift_down" value="24" c:identifier="HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN" glib:nick="stack-bottom-shift-down" glib:name="HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="94">stackBottomShiftDown</doc> </member> <member name="stack_bottom_display_style_shift_down" value="25" c:identifier="HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN" glib:nick="stack-bottom-display-style-shift-down" glib:name="HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="95">stackBottomDisplayStyleShiftDown</doc> </member> <member name="stack_gap_min" value="26" c:identifier="HB_OT_MATH_CONSTANT_STACK_GAP_MIN" glib:nick="stack-gap-min" glib:name="HB_OT_MATH_CONSTANT_STACK_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="96">stackGapMin</doc> </member> <member name="stack_display_style_gap_min" value="27" c:identifier="HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN" glib:nick="stack-display-style-gap-min" glib:name="HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="97">stackDisplayStyleGapMin</doc> </member> <member name="stretch_stack_top_shift_up" value="28" c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP" glib:nick="stretch-stack-top-shift-up" glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="98">stretchStackTopShiftUp</doc> </member> <member name="stretch_stack_bottom_shift_down" value="29" c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN" glib:nick="stretch-stack-bottom-shift-down" glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="99">stretchStackBottomShiftDown</doc> </member> <member name="stretch_stack_gap_above_min" value="30" c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN" glib:nick="stretch-stack-gap-above-min" glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="100">stretchStackGapAboveMin</doc> </member> <member name="stretch_stack_gap_below_min" value="31" c:identifier="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN" glib:nick="stretch-stack-gap-below-min" glib:name="HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="101">stretchStackGapBelowMin</doc> </member> <member name="fraction_numerator_shift_up" value="32" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP" glib:nick="fraction-numerator-shift-up" glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="102">fractionNumeratorShiftUp</doc> </member> <member name="fraction_numerator_display_style_shift_up" value="33" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP" glib:nick="fraction-numerator-display-style-shift-up" glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="103">fractionNumeratorDisplayStyleShiftUp</doc> </member> <member name="fraction_denominator_shift_down" value="34" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN" glib:nick="fraction-denominator-shift-down" glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="104">fractionDenominatorShiftDown</doc> </member> <member name="fraction_denominator_display_style_shift_down" value="35" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN" glib:nick="fraction-denominator-display-style-shift-down" glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="105">fractionDenominatorDisplayStyleShiftDown</doc> </member> <member name="fraction_numerator_gap_min" value="36" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN" glib:nick="fraction-numerator-gap-min" glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="106">fractionNumeratorGapMin</doc> </member> <member name="fraction_num_display_style_gap_min" value="37" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN" glib:nick="fraction-num-display-style-gap-min" glib:name="HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="107">fractionNumDisplayStyleGapMin</doc> </member> <member name="fraction_rule_thickness" value="38" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS" glib:nick="fraction-rule-thickness" glib:name="HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="108">fractionRuleThickness</doc> </member> <member name="fraction_denominator_gap_min" value="39" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN" glib:nick="fraction-denominator-gap-min" glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="109">fractionDenominatorGapMin</doc> </member> <member name="fraction_denom_display_style_gap_min" value="40" c:identifier="HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN" glib:nick="fraction-denom-display-style-gap-min" glib:name="HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="110">fractionDenomDisplayStyleGapMin</doc> </member> <member name="skewed_fraction_horizontal_gap" value="41" c:identifier="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP" glib:nick="skewed-fraction-horizontal-gap" glib:name="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="111">skewedFractionHorizontalGap</doc> </member> <member name="skewed_fraction_vertical_gap" value="42" c:identifier="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP" glib:nick="skewed-fraction-vertical-gap" glib:name="HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="112">skewedFractionVerticalGap</doc> </member> <member name="overbar_vertical_gap" value="43" c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP" glib:nick="overbar-vertical-gap" glib:name="HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="113">overbarVerticalGap</doc> </member> <member name="overbar_rule_thickness" value="44" c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS" glib:nick="overbar-rule-thickness" glib:name="HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="114">overbarRuleThickness</doc> </member> <member name="overbar_extra_ascender" value="45" c:identifier="HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER" glib:nick="overbar-extra-ascender" glib:name="HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="115">overbarExtraAscender</doc> </member> <member name="underbar_vertical_gap" value="46" c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP" glib:nick="underbar-vertical-gap" glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="116">underbarVerticalGap</doc> </member> <member name="underbar_rule_thickness" value="47" c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS" glib:nick="underbar-rule-thickness" glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="117">underbarRuleThickness</doc> </member> <member name="underbar_extra_descender" value="48" c:identifier="HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER" glib:nick="underbar-extra-descender" glib:name="HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="118">underbarExtraDescender</doc> </member> <member name="radical_vertical_gap" value="49" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP" glib:nick="radical-vertical-gap" glib:name="HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="119">radicalVerticalGap</doc> </member> <member name="radical_display_style_vertical_gap" value="50" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP" glib:nick="radical-display-style-vertical-gap" glib:name="HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="120">radicalDisplayStyleVerticalGap</doc> </member> <member name="radical_rule_thickness" value="51" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS" glib:nick="radical-rule-thickness" glib:name="HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="121">radicalRuleThickness</doc> </member> <member name="radical_extra_ascender" value="52" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER" glib:nick="radical-extra-ascender" glib:name="HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="122">radicalExtraAscender</doc> </member> <member name="radical_kern_before_degree" value="53" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE" glib:nick="radical-kern-before-degree" glib:name="HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="123">radicalKernBeforeDegree</doc> </member> <member name="radical_kern_after_degree" value="54" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE" glib:nick="radical-kern-after-degree" glib:name="HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="124">radicalKernAfterDegree</doc> </member> <member name="radical_degree_bottom_raise_percent" value="55" c:identifier="HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT" glib:nick="radical-degree-bottom-raise-percent" glib:name="HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="125">radicalDegreeBottomRaisePercent</doc> </member> </enumeration> <function name="ot_math_get_constant" c:identifier="hb_ot_math_get_constant" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="69">Fetches the specified math constant. For most constants, the value returned is an #hb_position_t. However, if the requested constant is #HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, #HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or #HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT, then the return value is an integer between 0 and 100 representing that percentage.</doc> <source-position filename="src/hb-ot-math.h" line="280"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="82">the requested constant or zero</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="71">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="constant" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="72">#hb_ot_math_constant_t the constant to retrieve</doc> <type name="ot_math_constant_t" c:type="hb_ot_math_constant_t"/> </parameter> </parameters> </function> <function name="ot_math_get_glyph_assembly" c:identifier="hb_ot_math_get_glyph_assembly" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="294">Fetches the GlyphAssembly for the specified font, glyph index, and direction. Returned are a list of #hb_ot_math_glyph_part_t glyph parts that can be used to draw the glyph and an italics-correction value (if one is defined in the font). <note>The @direction parameter is only used to select between horizontal or vertical directions for the construction. Even though all #hb_direction_t values are accepted, only the result of #HB_DIRECTION_IS_HORIZONTAL is considered.</note></doc> <source-position filename="src/hb-ot-math.h" line="322"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="315">the total number of parts in the glyph assembly</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="296">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="297">The index of the glyph to stretch</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="298">direction of the stretching (horizontal or vertical)</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="299">offset of the first glyph part to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="parts_count" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="300">Input = maximum number of glyph parts to return; Output = actual number of parts returned</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="parts" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="302">the glyph parts returned</doc> <array length="4" zero-terminated="0" c:type="hb_ot_math_glyph_part_t*"> <type name="ot_math_glyph_part_t" c:type="hb_ot_math_glyph_part_t"/> </array> </parameter> <parameter name="italics_correction" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="303">italics correction of the glyph assembly</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_math_get_glyph_italics_correction" c:identifier="hb_ot_math_get_glyph_italics_correction" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="93">Fetches an italics-correction value (if one exists) for the specified glyph index.</doc> <source-position filename="src/hb-ot-math.h" line="284"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="101">the italics correction of the glyph or zero</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="95">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="96">The glyph index from which to retrieve the value</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_math_get_glyph_kerning" c:identifier="hb_ot_math_get_glyph_kerning" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="156">Fetches the math kerning (cut-ins) value for the specified font, glyph index, and @kern. If the MathKern table is found, the function examines it to find a height value that is greater or equal to @correction_height. If such a height value is found, corresponding kerning value from the table is returned. If no such height value is found, the last kerning value is returned.</doc> <source-position filename="src/hb-ot-math.h" line="296"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="171">requested kerning value or zero</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="158">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="159">The glyph index from which to retrieve the value</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="kern" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="160">The #hb_ot_math_kern_t from which to retrieve the value</doc> <type name="ot_math_kern_t" c:type="hb_ot_math_kern_t"/> </parameter> <parameter name="correction_height" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="161">the correction height to use to determine the kerning.</doc> <type name="position_t" c:type="hb_position_t"/> </parameter> </parameters> </function> <function name="ot_math_get_glyph_kernings" c:identifier="hb_ot_math_get_glyph_kernings" version="3.4.0"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="187">Fetches the raw MathKern (cut-in) data for the specified font, glyph index, and @kern. The corresponding list of kern values and correction heights is returned as a list of #hb_ot_math_kern_entry_t structs. See also #hb_ot_math_get_glyph_kerning, which handles selecting the appropriate kern value for a given correction height. <note>For a glyph with @n defined kern values (where @n > 0), there are only @n−1 defined correction heights, as each correction height defines a boundary past which the next kern value should be selected. Therefore, only the #hb_ot_math_kern_entry_t.kern_value of the uppermost #hb_ot_math_kern_entry_t actually comes from the font; its corresponding #hb_ot_math_kern_entry_t.max_correction_height is always set to <code>INT32_MAX</code>.</note></doc> <source-position filename="src/hb-ot-math.h" line="302"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="212">the total number of kern values available or zero</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="189">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="190">The glyph index from which to retrieve the kernings</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="kern" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="191">The #hb_ot_math_kern_t from which to retrieve the kernings</doc> <type name="ot_math_kern_t" c:type="hb_ot_math_kern_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="192">offset of the first kern entry to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="entries_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="193">Input = the maximum number of kern entries to return; Output = the actual number of kern entries returned</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="kern_entries" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="195">array of kern entries returned</doc> <array length="4" zero-terminated="0" c:type="hb_ot_math_kern_entry_t*"> <type name="ot_math_kern_entry_t" c:type="hb_ot_math_kern_entry_t"/> </array> </parameter> </parameters> </function> <function name="ot_math_get_glyph_top_accent_attachment" c:identifier="hb_ot_math_get_glyph_top_accent_attachment" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="112">Fetches a top-accent-attachment value (if one exists) for the specified glyph index. For any glyph that does not have a top-accent-attachment value - that is, a glyph not covered by the `MathTopAccentAttachment` table (or, when @font has no `MathTopAccentAttachment` table or no `MATH` table, any glyph) - the function synthesizes a value, returning the position at one-half the glyph's advance width.</doc> <source-position filename="src/hb-ot-math.h" line="288"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="126">the top accent attachment of the glyph or 0.5 * the advance width of @glyph</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="114">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="115">The glyph index from which to retrieve the value</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="ot_math_get_glyph_variants" c:identifier="hb_ot_math_get_glyph_variants" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="232">Fetches the MathGlyphConstruction for the specified font, glyph index, and direction. The corresponding list of size variants is returned as a list of #hb_ot_math_glyph_variant_t structs. <note>The @direction parameter is only used to select between horizontal or vertical directions for the construction. Even though all #hb_direction_t values are accepted, only the result of #HB_DIRECTION_IS_HORIZONTAL is considered.</note></doc> <source-position filename="src/hb-ot-math.h" line="310"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="251">the total number of size variants available or zero</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="234">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="235">The index of the glyph to stretch</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="236">The direction of the stretching (horizontal or vertical)</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="237">offset of the first variant to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="variants_count" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="238">Input = the maximum number of variants to return; Output = the actual number of variants returned</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="variants" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="240">array of variants returned</doc> <array length="4" zero-terminated="0" c:type="hb_ot_math_glyph_variant_t*"> <type name="ot_math_glyph_variant_t" c:type="hb_ot_math_glyph_variant_t"/> </array> </parameter> </parameters> </function> <function name="ot_math_get_min_connector_overlap" c:identifier="hb_ot_math_get_min_connector_overlap" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="269">Fetches the MathVariants table for the specified font and returns the minimum overlap of connecting glyphs that are required to draw a glyph assembly in the specified direction. <note>The @direction parameter is only used to select between horizontal or vertical directions for the construction. Even though all #hb_direction_t values are accepted, only the result of #HB_DIRECTION_IS_HORIZONTAL is considered.</note></doc> <source-position filename="src/hb-ot-math.h" line="318"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="283">requested minimum connector overlap or zero</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="271">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="direction" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="272">direction of the stretching (horizontal or vertical)</doc> <type name="direction_t" c:type="hb_direction_t"/> </parameter> </parameters> </function> <bitfield name="ot_math_glyph_part_flags_t" version="1.3.3" glib:type-name="hb_ot_math_glyph_part_flags_t" glib:get-type="hb_gobject_ot_math_glyph_part_flags_get_type" c:type="hb_ot_math_glyph_part_flags_t"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="239">Flags for math glyph parts.</doc> <member name="extender" value="1" c:identifier="HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER" glib:nick="extender" glib:name="HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="241">This is an extender glyph part that can be repeated to reach the desired length.</doc> </member> </bitfield> <record name="ot_math_glyph_part_t" c:type="hb_ot_math_glyph_part_t" version="1.3.3" glib:type-name="hb_ot_math_glyph_part_t" glib:get-type="hb_gobject_ot_math_glyph_part_get_type" c:symbol-prefix="gobject_ot_math_glyph_part"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="252">Data type to hold information for a "part" component of a math-variant glyph. Large variants for stretchable math glyphs (such as parentheses) can be constructed on the fly from parts.</doc> <source-position filename="src/hb-ot-math.h" line="272"/> <field name="glyph" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="254">The glyph index of the variant part</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </field> <field name="start_connector_length" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="255">The length of the connector on the starting side of the variant part</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="end_connector_length" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="256">The length of the connector on the ending side of the variant part</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="full_advance" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="257">The total advance of the part</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="flags" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="258">#hb_ot_math_glyph_part_flags_t flags for the part</doc> <type name="ot_math_glyph_part_flags_t" c:type="hb_ot_math_glyph_part_flags_t"/> </field> </record> <record name="ot_math_glyph_variant_t" c:type="hb_ot_math_glyph_variant_t" version="1.3.3" glib:type-name="hb_ot_math_glyph_variant_t" glib:get-type="hb_gobject_ot_math_glyph_variant_get_type" c:symbol-prefix="gobject_ot_math_glyph_variant"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="225">Data type to hold math-variant information for a glyph.</doc> <source-position filename="src/hb-ot-math.h" line="237"/> <field name="glyph" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="227">The glyph index of the variant</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </field> <field name="advance" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="228">The advance width of the variant</doc> <type name="position_t" c:type="hb_position_t"/> </field> </record> <function name="ot_math_has_data" c:identifier="hb_ot_math_has_data" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="53">Tests whether a face has a `MATH` table.</doc> <source-position filename="src/hb-ot-math.h" line="277"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="59">`true` if the table is found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="55">#hb_face_t to test</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_math_is_glyph_extended_shape" c:identifier="hb_ot_math_is_glyph_extended_shape" version="1.3.3"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="138">Tests whether the given glyph index is an extended shape in the face.</doc> <source-position filename="src/hb-ot-math.h" line="292"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="145">`true` if the glyph is an extended shape, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="140">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-math.cc" line="141">The glyph index to test</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <record name="ot_math_kern_entry_t" c:type="hb_ot_math_kern_entry_t" version="3.4.0"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="211">Data type to hold math kerning (cut-in) information for a glyph.</doc> <source-position filename="src/hb-ot-math.h" line="223"/> <field name="max_correction_height" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="213">The maximum height at which this entry should be used</doc> <type name="position_t" c:type="hb_position_t"/> </field> <field name="kern_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="214">The kern value of the entry</doc> <type name="position_t" c:type="hb_position_t"/> </field> </record> <enumeration name="ot_math_kern_t" version="1.3.3" glib:type-name="hb_ot_math_kern_t" glib:get-type="hb_gobject_ot_math_kern_get_type" c:type="hb_ot_math_kern_t"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="192">The math kerning-table types defined for the four corners of a glyph.</doc> <member name="top_right" value="0" c:identifier="HB_OT_MATH_KERN_TOP_RIGHT" glib:nick="top-right" glib:name="HB_OT_MATH_KERN_TOP_RIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="194">The top right corner of the glyph.</doc> </member> <member name="top_left" value="1" c:identifier="HB_OT_MATH_KERN_TOP_LEFT" glib:nick="top-left" glib:name="HB_OT_MATH_KERN_TOP_LEFT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="195">The top left corner of the glyph.</doc> </member> <member name="bottom_right" value="2" c:identifier="HB_OT_MATH_KERN_BOTTOM_RIGHT" glib:nick="bottom-right" glib:name="HB_OT_MATH_KERN_BOTTOM_RIGHT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="196">The bottom right corner of the glyph.</doc> </member> <member name="bottom_left" value="3" c:identifier="HB_OT_MATH_KERN_BOTTOM_LEFT" glib:nick="bottom-left" glib:name="HB_OT_MATH_KERN_BOTTOM_LEFT"> <doc xml:space="preserve" filename="src/hb-ot-math.h" line="197">The bottom left corner of the glyph.</doc> </member> </enumeration> <function name="ot_meta_get_entry_tags" c:identifier="hb_ot_meta_get_entry_tags" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="40">Fetches all available feature types.</doc> <source-position filename="src/hb-ot-meta.h" line="62"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="49">Number of all available feature types.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="42">a face object</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="43">iteration's start offset</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="entries_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="44">buffer size as input, filled size as output</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="entries" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="45">entries tags buffer</doc> <array length="2" zero-terminated="0" c:type="hb_ot_meta_tag_t*"> <type name="ot_meta_tag_t" c:type="hb_ot_meta_tag_t"/> </array> </parameter> </parameters> </function> <function name="ot_meta_reference_entry" c:identifier="hb_ot_meta_reference_entry" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="62">It fetches metadata entry of a given tag from a font.</doc> <source-position filename="src/hb-ot-meta.h" line="68"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="69">A blob containing the blob.</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="64">a #hb_face_t object.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="meta_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-meta.cc" line="65">tag of metadata you like to have.</doc> <type name="ot_meta_tag_t" c:type="hb_ot_meta_tag_t"/> </parameter> </parameters> </function> <enumeration name="ot_meta_tag_t" version="2.6.0" glib:type-name="hb_ot_meta_tag_t" glib:get-type="hb_gobject_ot_meta_tag_get_type" c:type="hb_ot_meta_tag_t"> <doc xml:space="preserve" filename="src/hb-ot-meta.h" line="36">Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta</doc> <member name="design_languages" value="1684827751" c:identifier="HB_OT_META_TAG_DESIGN_LANGUAGES" glib:nick="design-languages" glib:name="HB_OT_META_TAG_DESIGN_LANGUAGES"> <doc xml:space="preserve" filename="src/hb-ot-meta.h" line="38">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.</doc> </member> <member name="supported_languages" value="1936485991" c:identifier="HB_OT_META_TAG_SUPPORTED_LANGUAGES" glib:nick="supported-languages" glib:name="HB_OT_META_TAG_SUPPORTED_LANGUAGES"> <doc xml:space="preserve" filename="src/hb-ot-meta.h" line="41">Supported languages. Text, using only Basic Latin (ASCII) characters. Indicates languages and/or scripts that the font is declared to be capable of supporting.</doc> </member> </enumeration> <function name="ot_metrics_get_position" c:identifier="hb_ot_metrics_get_position" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="125">Fetches metrics value corresponding to @metrics_tag from @font.</doc> <source-position filename="src/hb-ot-metrics.h" line="109"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="133">Whether found the requested metrics in the font.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="127">an #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="metrics_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="128">tag of metrics value you like to fetch.</doc> <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/> </parameter> <parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="129">result of metrics value from the font.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_metrics_get_position_with_fallback" c:identifier="hb_ot_metrics_get_position_with_fallback" version="4.0.0"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="241">Fetches metrics value corresponding to @metrics_tag from @font, and synthesizes a value if it the value is missing in the font.</doc> <source-position filename="src/hb-ot-metrics.h" line="114"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="243">an #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="metrics_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="244">tag of metrics value you like to fetch.</doc> <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/> </parameter> <parameter name="position" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="245">result of metrics value from the font.</doc> <type name="position_t" c:type="hb_position_t*"/> </parameter> </parameters> </function> <function name="ot_metrics_get_variation" c:identifier="hb_ot_metrics_get_variation" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="381">Fetches metrics value corresponding to @metrics_tag from @font with the current font variation settings applied.</doc> <source-position filename="src/hb-ot-metrics.h" line="119"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="389">The requested metric value.</doc> <type name="gfloat" c:type="float"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="383">an #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="metrics_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="384">tag of metrics value you like to fetch.</doc> <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/> </parameter> </parameters> </function> <function name="ot_metrics_get_x_variation" c:identifier="hb_ot_metrics_get_x_variation" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="399">Fetches horizontal metrics value corresponding to @metrics_tag from @font with the current font variation settings applied.</doc> <source-position filename="src/hb-ot-metrics.h" line="122"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="407">The requested metric value.</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="401">an #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="metrics_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="402">tag of metrics value you like to fetch.</doc> <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/> </parameter> </parameters> </function> <function name="ot_metrics_get_y_variation" c:identifier="hb_ot_metrics_get_y_variation" version="2.6.0"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="417">Fetches vertical metrics value corresponding to @metrics_tag from @font with the current font variation settings applied.</doc> <source-position filename="src/hb-ot-metrics.h" line="125"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="425">The requested metric value.</doc> <type name="position_t" c:type="hb_position_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="419">an #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="metrics_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-metrics.cc" line="420">tag of metrics value you like to fetch.</doc> <type name="ot_metrics_tag_t" c:type="hb_ot_metrics_tag_t"/> </parameter> </parameters> </function> <enumeration name="ot_metrics_tag_t" version="2.6.0" glib:type-name="hb_ot_metrics_tag_t" glib:get-type="hb_gobject_ot_metrics_tag_get_type" c:type="hb_ot_metrics_tag_t"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="38">Metric tags corresponding to [MVAR Value Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags)</doc> <member name="horizontal_ascender" value="1751216995" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER" glib:nick="horizontal-ascender" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="40">horizontal ascender.</doc> </member> <member name="horizontal_descender" value="1751413603" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER" glib:nick="horizontal-descender" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="41">horizontal descender.</doc> </member> <member name="horizontal_line_gap" value="1751934832" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP" glib:nick="horizontal-line-gap" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="42">horizontal line gap.</doc> </member> <member name="horizontal_clipping_ascent" value="1751346273" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT" glib:nick="horizontal-clipping-ascent" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="43">horizontal clipping ascent.</doc> </member> <member name="horizontal_clipping_descent" value="1751346276" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT" glib:nick="horizontal-clipping-descent" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="44">horizontal clipping descent.</doc> </member> <member name="vertical_ascender" value="1986098019" c:identifier="HB_OT_METRICS_TAG_VERTICAL_ASCENDER" glib:nick="vertical-ascender" glib:name="HB_OT_METRICS_TAG_VERTICAL_ASCENDER"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="45">vertical ascender.</doc> </member> <member name="vertical_descender" value="1986294627" c:identifier="HB_OT_METRICS_TAG_VERTICAL_DESCENDER" glib:nick="vertical-descender" glib:name="HB_OT_METRICS_TAG_VERTICAL_DESCENDER"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="46">vertical descender.</doc> </member> <member name="vertical_line_gap" value="1986815856" c:identifier="HB_OT_METRICS_TAG_VERTICAL_LINE_GAP" glib:nick="vertical-line-gap" glib:name="HB_OT_METRICS_TAG_VERTICAL_LINE_GAP"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="47">vertical line gap.</doc> </member> <member name="horizontal_caret_rise" value="1751347827" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE" glib:nick="horizontal-caret-rise" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="48">horizontal caret rise.</doc> </member> <member name="horizontal_caret_run" value="1751347822" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN" glib:nick="horizontal-caret-run" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="49">horizontal caret run.</doc> </member> <member name="horizontal_caret_offset" value="1751347046" c:identifier="HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET" glib:nick="horizontal-caret-offset" glib:name="HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="50">horizontal caret offset.</doc> </member> <member name="vertical_caret_rise" value="1986228851" c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_RISE" glib:nick="vertical-caret-rise" glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_RISE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="51">vertical caret rise.</doc> </member> <member name="vertical_caret_run" value="1986228846" c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_RUN" glib:nick="vertical-caret-run" glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_RUN"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="52">vertical caret run.</doc> </member> <member name="vertical_caret_offset" value="1986228070" c:identifier="HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET" glib:nick="vertical-caret-offset" glib:name="HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="53">vertical caret offset.</doc> </member> <member name="x_height" value="2020108148" c:identifier="HB_OT_METRICS_TAG_X_HEIGHT" glib:nick="x-height" glib:name="HB_OT_METRICS_TAG_X_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="54">x height.</doc> </member> <member name="cap_height" value="1668311156" c:identifier="HB_OT_METRICS_TAG_CAP_HEIGHT" glib:nick="cap-height" glib:name="HB_OT_METRICS_TAG_CAP_HEIGHT"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="55">cap height.</doc> </member> <member name="subscript_em_x_size" value="1935833203" c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE" glib:nick="subscript-em-x-size" glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="56">subscript em x size.</doc> </member> <member name="subscript_em_y_size" value="1935833459" c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE" glib:nick="subscript-em-y-size" glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="57">subscript em y size.</doc> </member> <member name="subscript_em_x_offset" value="1935833199" c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET" glib:nick="subscript-em-x-offset" glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="58">subscript em x offset.</doc> </member> <member name="subscript_em_y_offset" value="1935833455" c:identifier="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET" glib:nick="subscript-em-y-offset" glib:name="HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="59">subscript em y offset.</doc> </member> <member name="superscript_em_x_size" value="1936750707" c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE" glib:nick="superscript-em-x-size" glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="60">superscript em x size.</doc> </member> <member name="superscript_em_y_size" value="1936750963" c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE" glib:nick="superscript-em-y-size" glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="61">superscript em y size.</doc> </member> <member name="superscript_em_x_offset" value="1936750703" c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET" glib:nick="superscript-em-x-offset" glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="62">superscript em x offset.</doc> </member> <member name="superscript_em_y_offset" value="1936750959" c:identifier="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET" glib:nick="superscript-em-y-offset" glib:name="HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="63">superscript em y offset.</doc> </member> <member name="strikeout_size" value="1937011315" c:identifier="HB_OT_METRICS_TAG_STRIKEOUT_SIZE" glib:nick="strikeout-size" glib:name="HB_OT_METRICS_TAG_STRIKEOUT_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="64">strikeout size.</doc> </member> <member name="strikeout_offset" value="1937011311" c:identifier="HB_OT_METRICS_TAG_STRIKEOUT_OFFSET" glib:nick="strikeout-offset" glib:name="HB_OT_METRICS_TAG_STRIKEOUT_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="65">strikeout offset.</doc> </member> <member name="underline_size" value="1970168947" c:identifier="HB_OT_METRICS_TAG_UNDERLINE_SIZE" glib:nick="underline-size" glib:name="HB_OT_METRICS_TAG_UNDERLINE_SIZE"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="66">underline size.</doc> </member> <member name="underline_offset" value="1970168943" c:identifier="HB_OT_METRICS_TAG_UNDERLINE_OFFSET" glib:nick="underline-offset" glib:name="HB_OT_METRICS_TAG_UNDERLINE_OFFSET"> <doc xml:space="preserve" filename="src/hb-ot-metrics.h" line="67">underline offset.</doc> </member> </enumeration> <record name="ot_name_entry_t" c:type="hb_ot_name_entry_t" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="118">Structure representing a name ID in a particular language.</doc> <source-position filename="src/hb-ot-name.h" line="133"/> <field name="name_id" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="120">name ID</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </field> <field name="var" readable="0" private="1"> <type name="var_int_t" c:type="hb_var_int_t"/> </field> <field name="language" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="121">language</doc> <type name="language_t" c:type="hb_language_t"/> </field> </record> <function name="ot_name_get_utf16" c:identifier="hb_ot_name_get_utf16" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="130">Fetches a font name from the OpenType 'name' table. If @language is #HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-16 encoding. A NUL terminator is always written for convenience, and isn't included in the output @text_size.</doc> <source-position filename="src/hb-ot-name.h" line="148"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="144">full length of the requested string, or 0 if not found.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="132">font face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="name_id" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="133">OpenType name identifier to fetch.</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </parameter> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="134">language to fetch the name for.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="text_size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="135">input size of @text buffer, and output size of text written to buffer.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="text" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="137">buffer to write fetched name into.</doc> <array length="3" zero-terminated="0" c:type="uint16_t*"> <type name="guint16" c:type="uint16_t"/> </array> </parameter> </parameters> </function> <function name="ot_name_get_utf32" c:identifier="hb_ot_name_get_utf32" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="157">Fetches a font name from the OpenType 'name' table. If @language is #HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-32 encoding. A NUL terminator is always written for convenience, and isn't included in the output @text_size.</doc> <source-position filename="src/hb-ot-name.h" line="155"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="171">full length of the requested string, or 0 if not found.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="159">font face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="name_id" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="160">OpenType name identifier to fetch.</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </parameter> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="161">language to fetch the name for.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="text_size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="162">input size of @text buffer, and output size of text written to buffer.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="text" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="164">buffer to write fetched name into.</doc> <array length="3" zero-terminated="0" c:type="uint32_t*"> <type name="guint32" c:type="uint32_t"/> </array> </parameter> </parameters> </function> <function name="ot_name_get_utf8" c:identifier="hb_ot_name_get_utf8" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="102">Fetches a font name from the OpenType 'name' table. If @language is #HB_LANGUAGE_INVALID, English ("en") is assumed. Returns string in UTF-8 encoding. A NUL terminator is always written for convenience, and isn't included in the output @text_size.</doc> <source-position filename="src/hb-ot-name.h" line="141"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="116">full length of the requested string, or 0 if not found.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="104">font face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="name_id" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="105">OpenType name identifier to fetch.</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </parameter> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="106">language to fetch the name for.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="text_size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="107">input size of @text buffer, and output size of text written to buffer.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="text" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="109">buffer to write fetched name into.</doc> <array length="3" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> </parameters> </function> <enumeration name="ot_name_id_predefined_t" version="7.0.0" glib:type-name="hb_ot_name_id_predefined_t" glib:get-type="hb_gobject_ot_name_id_predefined_get_type" c:type="hb_ot_name_id_predefined_t"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="36">An enum type representing the pre-defined name IDs. For more information on these fields, see the [OpenType spec](https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids).</doc> <member name="copyright" value="0" c:identifier="HB_OT_NAME_ID_COPYRIGHT" glib:nick="copyright" glib:name="HB_OT_NAME_ID_COPYRIGHT"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="38">Copyright notice</doc> </member> <member name="font_family" value="1" c:identifier="HB_OT_NAME_ID_FONT_FAMILY" glib:nick="font-family" glib:name="HB_OT_NAME_ID_FONT_FAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="39">Font Family name</doc> </member> <member name="font_subfamily" value="2" c:identifier="HB_OT_NAME_ID_FONT_SUBFAMILY" glib:nick="font-subfamily" glib:name="HB_OT_NAME_ID_FONT_SUBFAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="40">Font Subfamily name</doc> </member> <member name="unique_id" value="3" c:identifier="HB_OT_NAME_ID_UNIQUE_ID" glib:nick="unique-id" glib:name="HB_OT_NAME_ID_UNIQUE_ID"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="41">Unique font identifier</doc> </member> <member name="full_name" value="4" c:identifier="HB_OT_NAME_ID_FULL_NAME" glib:nick="full-name" glib:name="HB_OT_NAME_ID_FULL_NAME"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="42">Full font name that reflects all family and relevant subfamily descriptors</doc> </member> <member name="version_string" value="5" c:identifier="HB_OT_NAME_ID_VERSION_STRING" glib:nick="version-string" glib:name="HB_OT_NAME_ID_VERSION_STRING"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="44">Version string</doc> </member> <member name="postscript_name" value="6" c:identifier="HB_OT_NAME_ID_POSTSCRIPT_NAME" glib:nick="postscript-name" glib:name="HB_OT_NAME_ID_POSTSCRIPT_NAME"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="45">PostScript name for the font</doc> </member> <member name="trademark" value="7" c:identifier="HB_OT_NAME_ID_TRADEMARK" glib:nick="trademark" glib:name="HB_OT_NAME_ID_TRADEMARK"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="46">Trademark</doc> </member> <member name="manufacturer" value="8" c:identifier="HB_OT_NAME_ID_MANUFACTURER" glib:nick="manufacturer" glib:name="HB_OT_NAME_ID_MANUFACTURER"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="47">Manufacturer Name</doc> </member> <member name="designer" value="9" c:identifier="HB_OT_NAME_ID_DESIGNER" glib:nick="designer" glib:name="HB_OT_NAME_ID_DESIGNER"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="48">Designer</doc> </member> <member name="description" value="10" c:identifier="HB_OT_NAME_ID_DESCRIPTION" glib:nick="description" glib:name="HB_OT_NAME_ID_DESCRIPTION"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="49">Description</doc> </member> <member name="vendor_url" value="11" c:identifier="HB_OT_NAME_ID_VENDOR_URL" glib:nick="vendor-url" glib:name="HB_OT_NAME_ID_VENDOR_URL"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="50">URL of font vendor</doc> </member> <member name="designer_url" value="12" c:identifier="HB_OT_NAME_ID_DESIGNER_URL" glib:nick="designer-url" glib:name="HB_OT_NAME_ID_DESIGNER_URL"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="51">URL of typeface designer</doc> </member> <member name="license" value="13" c:identifier="HB_OT_NAME_ID_LICENSE" glib:nick="license" glib:name="HB_OT_NAME_ID_LICENSE"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="52">License Description</doc> </member> <member name="license_url" value="14" c:identifier="HB_OT_NAME_ID_LICENSE_URL" glib:nick="license-url" glib:name="HB_OT_NAME_ID_LICENSE_URL"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="53">URL where additional licensing information can be found</doc> </member> <member name="typographic_family" value="16" c:identifier="HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY" glib:nick="typographic-family" glib:name="HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="55">Typographic Family name</doc> </member> <member name="typographic_subfamily" value="17" c:identifier="HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY" glib:nick="typographic-subfamily" glib:name="HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="56">Typographic Subfamily name</doc> </member> <member name="mac_full_name" value="18" c:identifier="HB_OT_NAME_ID_MAC_FULL_NAME" glib:nick="mac-full-name" glib:name="HB_OT_NAME_ID_MAC_FULL_NAME"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="57">Compatible Full Name for MacOS</doc> </member> <member name="sample_text" value="19" c:identifier="HB_OT_NAME_ID_SAMPLE_TEXT" glib:nick="sample-text" glib:name="HB_OT_NAME_ID_SAMPLE_TEXT"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="58">Sample text</doc> </member> <member name="cid_findfont_name" value="20" c:identifier="HB_OT_NAME_ID_CID_FINDFONT_NAME" glib:nick="cid-findfont-name" glib:name="HB_OT_NAME_ID_CID_FINDFONT_NAME"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="59">PostScript CID findfont name</doc> </member> <member name="wws_family" value="21" c:identifier="HB_OT_NAME_ID_WWS_FAMILY" glib:nick="wws-family" glib:name="HB_OT_NAME_ID_WWS_FAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="60">WWS Family Name</doc> </member> <member name="wws_subfamily" value="22" c:identifier="HB_OT_NAME_ID_WWS_SUBFAMILY" glib:nick="wws-subfamily" glib:name="HB_OT_NAME_ID_WWS_SUBFAMILY"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="61">WWS Subfamily Name</doc> </member> <member name="light_background" value="23" c:identifier="HB_OT_NAME_ID_LIGHT_BACKGROUND" glib:nick="light-background" glib:name="HB_OT_NAME_ID_LIGHT_BACKGROUND"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="62">Light Background Palette</doc> </member> <member name="dark_background" value="24" c:identifier="HB_OT_NAME_ID_DARK_BACKGROUND" glib:nick="dark-background" glib:name="HB_OT_NAME_ID_DARK_BACKGROUND"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="63">Dark Background Palette</doc> </member> <member name="variations_ps_prefix" value="25" c:identifier="HB_OT_NAME_ID_VARIATIONS_PS_PREFIX" glib:nick="variations-ps-prefix" glib:name="HB_OT_NAME_ID_VARIATIONS_PS_PREFIX"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="64">Variations PostScript Name Prefix</doc> </member> <member name="invalid" value="65535" c:identifier="HB_OT_NAME_ID_INVALID" glib:nick="invalid" glib:name="HB_OT_NAME_ID_INVALID"> <doc xml:space="preserve" filename="src/hb-ot-name.h" line="65">Value to represent a nonexistent name ID.</doc> </member> </enumeration> <function name="ot_name_list_names" c:identifier="hb_ot_name_list_names" version="2.1.0"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="46">Enumerates all available name IDs and language combinations. Returned array is owned by the @face and should not be modified. It can be used as long as @face is alive.</doc> <source-position filename="src/hb-ot-name.h" line="136"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="55">Array of available name entries.</doc> <array length="1" zero-terminated="0" c:type="const hb_ot_name_entry_t*"> <type name="ot_name_entry_t" c:type="hb_ot_name_entry_t"/> </array> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="48">font face.</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="num_entries" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-name.cc" line="49">number of returned entries.</doc> <type name="guint" c:type="unsigned int*"/> </parameter> </parameters> </function> <function name="ot_shape_glyphs_closure" c:identifier="hb_ot_shape_glyphs_closure" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1300">Computes the transitive closure of glyphs needed for a specified input buffer under the given font and feature list. The closure is computed as a set, not as a list.</doc> <source-position filename="src/hb-ot-shape.h" line="40"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1302">#hb_font_t to work upon</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1303">The input buffer to compute from</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1304">The features enabled on the buffer</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1305">The number of features enabled on the buffer</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="glyphs" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1306">The #hb_set_t set of glyphs comprising the transitive closure of the query</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_shape_plan_collect_lookups" c:identifier="hb_ot_shape_plan_collect_lookups" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1260">Computes the complete set of GSUB or GPOS lookups that are applicable under a given @shape_plan.</doc> <source-position filename="src/hb-ot-shape.h" line="47"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1262">#hb_shape_plan_t to query</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> <parameter name="table_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1263">GSUB or GPOS</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="lookup_indexes" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-shape.cc" line="1264">The #hb_set_t set of lookups returned</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="ot_tag_from_language" c:identifier="hb_ot_tag_from_language" version="0.6.0" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="263">Converts an #hb_language_t to an #hb_tag_t.</doc> <doc-deprecated xml:space="preserve">use hb_ot_tags_from_script_and_language() instead</doc-deprecated> <source-position filename="src/hb-ot-deprecated.h" line="94"/> <return-value transfer-ownership="none"> <type name="tag_t" c:type="hb_tag_t"/> </return-value> <parameters> <parameter name="language" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="265">an #hb_language_t to convert.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> </parameters> </function> <function name="ot_tag_to_language" c:identifier="hb_ot_tag_to_language" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="487">Converts a language tag to an #hb_language_t.</doc> <source-position filename="src/hb-ot-layout.h" line="121"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="493"> The #hb_language_t corresponding to @tag.</doc> <type name="language_t" c:type="hb_language_t"/> </return-value> <parameters> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="489">an language tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> </parameters> </function> <function name="ot_tag_to_script" c:identifier="hb_ot_tag_to_script"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="181">Converts a script tag to an #hb_script_t.</doc> <source-position filename="src/hb-ot-layout.h" line="118"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="187">The #hb_script_t corresponding to @tag.</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="183">a script tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> </parameters> </function> <function name="ot_tags_from_script" c:identifier="hb_ot_tags_from_script" version="0.6.0" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="122">Converts an #hb_script_t to script tags.</doc> <doc-deprecated xml:space="preserve">use hb_ot_tags_from_script_and_language() instead</doc-deprecated> <source-position filename="src/hb-ot-deprecated.h" line="88"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="124">an #hb_script_t to convert.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> <parameter name="script_tag_1" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="125">output #hb_tag_t.</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> <parameter name="script_tag_2" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="126">output #hb_tag_t.</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <function name="ot_tags_from_script_and_language" c:identifier="hb_ot_tags_from_script_and_language" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="412">Converts an #hb_script_t and an #hb_language_t to script and language tags.</doc> <source-position filename="src/hb-ot-layout.h" line="110"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="414">an #hb_script_t to convert.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> <parameter name="language" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="415">an #hb_language_t to convert.</doc> <type name="language_t" c:type="hb_language_t"/> </parameter> <parameter name="script_count" direction="inout" caller-allocates="0" transfer-ownership="full" optional="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="416">maximum number of script tags to retrieve (IN) and actual number of script tags retrieved (OUT)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="script_tags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="418">array of size at least @script_count to store the script tag results</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> <parameter name="language_count" direction="inout" caller-allocates="0" transfer-ownership="full" optional="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="420">maximum number of language tags to retrieve (IN) and actual number of language tags retrieved (OUT)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="language_tags" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="422">array of size at least @language_count to store the language tag results</doc> <type name="tag_t" c:type="hb_tag_t*"/> </parameter> </parameters> </function> <function name="ot_tags_to_script_and_language" c:identifier="hb_ot_tags_to_script_and_language" version="2.0.0"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="555">Converts a script tag and a language tag to an #hb_script_t and an #hb_language_t.</doc> <source-position filename="src/hb-ot-layout.h" line="124"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="script_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="557">a script tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="language_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="558">a language tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="script" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="559">the #hb_script_t corresponding to @script_tag.</doc> <type name="script_t" c:type="hb_script_t*"/> </parameter> <parameter name="language" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-tag.cc" line="560">the #hb_language_t corresponding to @script_tag and @language_tag.</doc> <type name="language_t" c:type="hb_language_t*"/> </parameter> </parameters> </function> <bitfield name="ot_var_axis_flags_t" version="2.2.0" glib:type-name="hb_ot_var_axis_flags_t" glib:get-type="hb_gobject_ot_var_axis_flags_get_type" c:type="hb_ot_var_axis_flags_t"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="91">Flags for #hb_ot_var_axis_info_t.</doc> <member name="hidden" value="1" c:identifier="HB_OT_VAR_AXIS_FLAG_HIDDEN" glib:nick="hidden" glib:name="HB_OT_VAR_AXIS_FLAG_HIDDEN"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="93">The axis should not be exposed directly in user interfaces.</doc> </member> </bitfield> <record name="ot_var_axis_info_t" c:type="hb_ot_var_axis_info_t" version="2.2.0" glib:type-name="hb_ot_var_axis_info_t" glib:get-type="hb_gobject_ot_var_axis_info_get_type" c:symbol-prefix="gobject_ot_var_axis_info"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="106">Data type for holding variation-axis values. The minimum, default, and maximum values are in un-normalized, user scales. <note>Note: at present, the only flag defined for @flags is #HB_OT_VAR_AXIS_FLAG_HIDDEN.</note></doc> <source-position filename="src/hb-ot-var.h" line="135"/> <field name="axis_index" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="108">Index of the axis in the variation-axis array</doc> <type name="guint" c:type="unsigned int"/> </field> <field name="tag" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="109">The #hb_tag_t tag identifying the design variation of the axis</doc> <type name="tag_t" c:type="hb_tag_t"/> </field> <field name="name_id" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="110">The `name` table Name ID that provides display names for the axis</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </field> <field name="flags" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="111">The #hb_ot_var_axis_flags_t flags for the axis</doc> <type name="ot_var_axis_flags_t" c:type="hb_ot_var_axis_flags_t"/> </field> <field name="min_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="112">The minimum value on the variation axis that the font covers</doc> <type name="gfloat" c:type="float"/> </field> <field name="default_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="113">The position on the variation axis corresponding to the font's defaults</doc> <type name="gfloat" c:type="float"/> </field> <field name="max_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-var.h" line="114">The maximum value on the variation axis that the font covers</doc> <type name="gfloat" c:type="float"/> </field> <field name="reserved" readable="0" private="1"> <type name="guint" c:type="unsigned int"/> </field> </record> <record name="ot_var_axis_t" c:type="hb_ot_var_axis_t" version="1.4.2" deprecated="1" deprecated-version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="107">Use #hb_ot_var_axis_info_t instead.</doc> <source-position filename="src/hb-ot-deprecated.h" line="126"/> <field name="tag" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="109">axis tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </field> <field name="name_id" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="110">axis name identifier</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </field> <field name="min_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="111">minimum value of the axis</doc> <type name="gfloat" c:type="float"/> </field> <field name="default_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="112">default value of the axis</doc> <type name="gfloat" c:type="float"/> </field> <field name="max_value" writable="1"> <doc xml:space="preserve" filename="src/hb-ot-deprecated.h" line="113">maximum value of the axis</doc> <type name="gfloat" c:type="float"/> </field> </record> <function name="ot_var_find_axis" c:identifier="hb_ot_var_find_axis" version="1.4.2" deprecated="1" deprecated-version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="109">Fetches the variation-axis information corresponding to the specified axis tag in the specified face.</doc> <doc-deprecated xml:space="preserve">- use hb_ot_var_find_axis_info() instead</doc-deprecated> <source-position filename="src/hb-ot-deprecated.h" line="137"/> <return-value transfer-ownership="none"> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="111">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="axis_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="112">The #hb_tag_t of the variation axis to query</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="axis_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="113">The index of the variation axis</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="axis_info" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="114">The #hb_ot_var_axis_info_t of the axis tag queried</doc> <type name="ot_var_axis_t" c:type="hb_ot_var_axis_t*"/> </parameter> </parameters> </function> <function name="ot_var_find_axis_info" c:identifier="hb_ot_var_find_axis_info" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="156">Fetches the variation-axis information corresponding to the specified axis tag in the specified face.</doc> <source-position filename="src/hb-ot-var.h" line="144"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="165">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="158">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="axis_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="159">The #hb_tag_t of the variation axis to query</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="axis_info" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="160">The #hb_ot_var_axis_info_t of the axis tag queried</doc> <type name="ot_var_axis_info_t" c:type="hb_ot_var_axis_info_t*"/> </parameter> </parameters> </function> <function name="ot_var_get_axes" c:identifier="hb_ot_var_get_axes" version="1.4.2" deprecated="1" deprecated-version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="86">Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.</doc> <doc-deprecated xml:space="preserve">use hb_ot_var_get_axis_infos() instead</doc-deprecated> <source-position filename="src/hb-ot-deprecated.h" line="130"/> <return-value transfer-ownership="none"> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="88">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="89">offset of the first lookup to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="axes_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="90">Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="axes_array" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="92">The array of variation axes found</doc> <array length="2" zero-terminated="0" c:type="hb_ot_var_axis_t*"> <type name="ot_var_axis_t" c:type="hb_ot_var_axis_t"/> </array> </parameter> </parameters> </function> <function name="ot_var_get_axis_count" c:identifier="hb_ot_var_get_axis_count" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="69">Fetches the number of OpenType variation axes included in the face.</doc> <source-position filename="src/hb-ot-var.h" line="89"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="75">the number of variation axes defined</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="71">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_var_get_axis_infos" c:identifier="hb_ot_var_get_axis_infos" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="132">Fetches a list of all variation axes in the specified face. The list returned will begin at the offset provided.</doc> <source-position filename="src/hb-ot-var.h" line="138"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="143">the number of variation axes in the face</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="134">#hb_face_t to work upon</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="start_offset" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="135">offset of the first lookup to retrieve</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="axes_count" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="136">Input = the maximum number of variation axes to return; Output = the actual number of variation axes returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="axes_array" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="138">The array of variation axes found</doc> <array length="2" zero-terminated="0" c:type="hb_ot_var_axis_info_t*"> <type name="ot_var_axis_info_t" c:type="hb_ot_var_axis_info_t"/> </array> </parameter> </parameters> </function> <function name="ot_var_get_named_instance_count" c:identifier="hb_ot_var_get_named_instance_count" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="182">Fetches the number of named instances included in the face.</doc> <source-position filename="src/hb-ot-var.h" line="154"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="188">the number of named instances defined</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="184">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_var_has_data" c:identifier="hb_ot_var_has_data" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="53">Tests whether a face includes any OpenType variation data in the `fvar` table.</doc> <source-position filename="src/hb-ot-var.h" line="80"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="59">`true` if data found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="55">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> </parameters> </function> <function name="ot_var_named_instance_get_design_coords" c:identifier="hb_ot_var_named_instance_get_design_coords" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="236">Fetches the design-space coordinates corresponding to the given named instance in the face.</doc> <source-position filename="src/hb-ot-var.h" line="165"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="247">the number of variation axes in the face</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="238">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="instance_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="239">The index of the named instance to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="coords_length" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="240">Input = the maximum number of coordinates to return; Output = the actual number of coordinates returned (may be zero)</doc> <type name="guint" c:type="unsigned int*"/> </parameter> <parameter name="coords" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="242">The array of coordinates found for the query</doc> <array length="2" zero-terminated="0" c:type="float*"> <type name="gfloat" c:type="float"/> </array> </parameter> </parameters> </function> <function name="ot_var_named_instance_get_postscript_name_id" c:identifier="hb_ot_var_named_instance_get_postscript_name_id" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="217">Fetches the `name` table Name ID that provides display names for the "PostScript name" defined for the given named instance in the face.</doc> <source-position filename="src/hb-ot-var.h" line="161"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="225">the Name ID found for the PostScript name</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="219">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="instance_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="220">The index of the named instance to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="ot_var_named_instance_get_subfamily_name_id" c:identifier="hb_ot_var_named_instance_get_subfamily_name_id" version="2.2.0"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="198">Fetches the `name` table Name ID that provides display names for the "Subfamily name" defined for the given named instance in the face.</doc> <source-position filename="src/hb-ot-var.h" line="157"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="206">the Name ID found for the Subfamily name</doc> <type name="ot_name_id_t" c:type="hb_ot_name_id_t"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="200">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="instance_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="201">The index of the named instance to query</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="ot_var_normalize_coords" c:identifier="hb_ot_var_normalize_coords" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="295">Normalizes the given design-space coordinates. The minimum and maximum values for the axis are mapped to the interval [-1,1], with the default axis value mapped to 0. The normalized values have 14 bits of fixed-point sub-integer precision as per OpenType specification. Any additional scaling defined in the face's `avar` table is also applied, as described at https://docs.microsoft.com/en-us/typography/opentype/spec/avar</doc> <source-position filename="src/hb-ot-var.h" line="183"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="297">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="coords_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="298">The length of the coordinate array</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="design_coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="299">The design-space coordinates to normalize</doc> <type name="gfloat" c:type="const float*"/> </parameter> <parameter name="normalized_coords" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="300">The normalized coordinates</doc> <type name="gint" c:type="int*"/> </parameter> </parameters> </function> <function name="ot_var_normalize_variations" c:identifier="hb_ot_var_normalize_variations" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="261">Normalizes all of the coordinates in the given list of variation axes.</doc> <source-position filename="src/hb-ot-var.h" line="176"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="263">The #hb_face_t to work on</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="variations" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="264">The array of variations to normalize</doc> <type name="variation_t" c:type="const hb_variation_t*"/> </parameter> <parameter name="variations_length" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="265">The number of variations to normalize</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="coords" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="266">The array of normalized coordinates</doc> <array length="4" zero-terminated="0" c:type="int*"> <type name="gint" c:type="int"/> </array> </parameter> <parameter name="coords_length" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-ot-var.cc" line="267">The length of the coordinate array</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="paint_color" c:identifier="hb_paint_color" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="555">Perform a "color" paint operation.</doc> <source-position filename="src/hb-paint.h" line="981"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="557">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="558">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="is_foreground" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="559">whether the color is the foreground</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="560">The color to use</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> </parameters> </function> <callback name="paint_color_func_t" c:type="hb_paint_color_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="229">A virtual method for the #hb_paint_funcs_t to paint a color everywhere within the current clip.</doc> <source-position filename="src/hb-paint.h" line="242"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="231">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="232">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="is_foreground" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="233">whether the color is the foreground</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> <parameter name="color" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="234">The color to use, unpremultiplied</doc> <type name="color_t" c:type="hb_color_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-paint.h" line="235">User data pointer passed to hb_paint_funcs_set_color_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_color_glyph" c:identifier="hb_paint_color_glyph" version="8.2.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="482">Perform a "color-glyph" paint operation.</doc> <source-position filename="src/hb-paint.h" line="963"/> <return-value transfer-ownership="none"> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="484">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="485">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="486">the glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="487">the font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <callback name="paint_color_glyph_func_t" c:type="hb_paint_color_glyph_func_t" version="8.2.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="139">A virtual method for the #hb_paint_funcs_t to render a color glyph by glyph index.</doc> <source-position filename="src/hb-paint.h" line="153"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="149">`true` if the glyph was painted, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="141">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="142">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="143">the glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="144">the font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-paint.h" line="145">User data pointer passed to hb_paint_funcs_set_color_glyph_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <enumeration name="paint_composite_mode_t" version="7.0.0" glib:type-name="hb_paint_composite_mode_t" glib:get-type="hb_gobject_paint_composite_mode_get_type" c:type="hb_paint_composite_mode_t"> <doc xml:space="preserve" filename="src/hb-paint.h" line="543">The values of this enumeration describe the compositing modes that can be used when combining temporary redirected drawing with the backdrop. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details.</doc> <member name="clear" value="0" c:identifier="HB_PAINT_COMPOSITE_MODE_CLEAR" glib:nick="clear" glib:name="HB_PAINT_COMPOSITE_MODE_CLEAR"> <doc xml:space="preserve" filename="src/hb-paint.h" line="545">clear destination layer (bounded)</doc> </member> <member name="src" value="1" c:identifier="HB_PAINT_COMPOSITE_MODE_SRC" glib:nick="src" glib:name="HB_PAINT_COMPOSITE_MODE_SRC"> <doc xml:space="preserve" filename="src/hb-paint.h" line="546">replace destination layer (bounded)</doc> </member> <member name="dest" value="2" c:identifier="HB_PAINT_COMPOSITE_MODE_DEST" glib:nick="dest" glib:name="HB_PAINT_COMPOSITE_MODE_DEST"> <doc xml:space="preserve" filename="src/hb-paint.h" line="555">ignore the source</doc> </member> <member name="src_over" value="3" c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_OVER" glib:nick="src-over" glib:name="HB_PAINT_COMPOSITE_MODE_SRC_OVER"> <doc xml:space="preserve" filename="src/hb-paint.h" line="547">draw source layer on top of destination layer (bounded)</doc> </member> <member name="dest_over" value="4" c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_OVER" glib:nick="dest-over" glib:name="HB_PAINT_COMPOSITE_MODE_DEST_OVER"> <doc xml:space="preserve" filename="src/hb-paint.h" line="556">draw destination on top of source</doc> </member> <member name="src_in" value="5" c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_IN" glib:nick="src-in" glib:name="HB_PAINT_COMPOSITE_MODE_SRC_IN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="549">draw source where there was destination content (unbounded)</doc> </member> <member name="dest_in" value="6" c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_IN" glib:nick="dest-in" glib:name="HB_PAINT_COMPOSITE_MODE_DEST_IN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="557">leave destination only where there was source content (unbounded)</doc> </member> <member name="src_out" value="7" c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_OUT" glib:nick="src-out" glib:name="HB_PAINT_COMPOSITE_MODE_SRC_OUT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="551">draw source where there was no destination content (unbounded)</doc> </member> <member name="dest_out" value="8" c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_OUT" glib:nick="dest-out" glib:name="HB_PAINT_COMPOSITE_MODE_DEST_OUT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="559">leave destination only where there was no source content</doc> </member> <member name="src_atop" value="9" c:identifier="HB_PAINT_COMPOSITE_MODE_SRC_ATOP" glib:nick="src-atop" glib:name="HB_PAINT_COMPOSITE_MODE_SRC_ATOP"> <doc xml:space="preserve" filename="src/hb-paint.h" line="553">draw source on top of destination content and only there</doc> </member> <member name="dest_atop" value="10" c:identifier="HB_PAINT_COMPOSITE_MODE_DEST_ATOP" glib:nick="dest-atop" glib:name="HB_PAINT_COMPOSITE_MODE_DEST_ATOP"> <doc xml:space="preserve" filename="src/hb-paint.h" line="561">leave destination on top of source content and only there (unbounded)</doc> </member> <member name="xor" value="11" c:identifier="HB_PAINT_COMPOSITE_MODE_XOR" glib:nick="xor" glib:name="HB_PAINT_COMPOSITE_MODE_XOR"> <doc xml:space="preserve" filename="src/hb-paint.h" line="563">source and destination are shown where there is only one of them</doc> </member> <member name="plus" value="12" c:identifier="HB_PAINT_COMPOSITE_MODE_PLUS" glib:nick="plus" glib:name="HB_PAINT_COMPOSITE_MODE_PLUS"> <doc xml:space="preserve" filename="src/hb-paint.h" line="565">source and destination layers are accumulated</doc> </member> <member name="screen" value="13" c:identifier="HB_PAINT_COMPOSITE_MODE_SCREEN" glib:nick="screen" glib:name="HB_PAINT_COMPOSITE_MODE_SCREEN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="568">source and destination are complemented and multiplied. This causes the result to be at least as light as the lighter inputs.</doc> </member> <member name="overlay" value="14" c:identifier="HB_PAINT_COMPOSITE_MODE_OVERLAY" glib:nick="overlay" glib:name="HB_PAINT_COMPOSITE_MODE_OVERLAY"> <doc xml:space="preserve" filename="src/hb-paint.h" line="571">multiplies or screens, depending on the lightness of the destination color.</doc> </member> <member name="darken" value="15" c:identifier="HB_PAINT_COMPOSITE_MODE_DARKEN" glib:nick="darken" glib:name="HB_PAINT_COMPOSITE_MODE_DARKEN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="573">replaces the destination with the source if it is darker, otherwise keeps the source.</doc> </member> <member name="lighten" value="16" c:identifier="HB_PAINT_COMPOSITE_MODE_LIGHTEN" glib:nick="lighten" glib:name="HB_PAINT_COMPOSITE_MODE_LIGHTEN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="575">replaces the destination with the source if it is lighter, otherwise keeps the source.</doc> </member> <member name="color_dodge" value="17" c:identifier="HB_PAINT_COMPOSITE_MODE_COLOR_DODGE" glib:nick="color-dodge" glib:name="HB_PAINT_COMPOSITE_MODE_COLOR_DODGE"> <doc xml:space="preserve" filename="src/hb-paint.h" line="577">brightens the destination color to reflect the source color.</doc> </member> <member name="color_burn" value="18" c:identifier="HB_PAINT_COMPOSITE_MODE_COLOR_BURN" glib:nick="color-burn" glib:name="HB_PAINT_COMPOSITE_MODE_COLOR_BURN"> <doc xml:space="preserve" filename="src/hb-paint.h" line="579">darkens the destination color to reflect the source color.</doc> </member> <member name="hard_light" value="19" c:identifier="HB_PAINT_COMPOSITE_MODE_HARD_LIGHT" glib:nick="hard-light" glib:name="HB_PAINT_COMPOSITE_MODE_HARD_LIGHT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="581">Multiplies or screens, dependent on source color.</doc> </member> <member name="soft_light" value="20" c:identifier="HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT" glib:nick="soft-light" glib:name="HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="583">Darkens or lightens, dependent on source color.</doc> </member> <member name="difference" value="21" c:identifier="HB_PAINT_COMPOSITE_MODE_DIFFERENCE" glib:nick="difference" glib:name="HB_PAINT_COMPOSITE_MODE_DIFFERENCE"> <doc xml:space="preserve" filename="src/hb-paint.h" line="585">Takes the difference of the source and destination color.</doc> </member> <member name="exclusion" value="22" c:identifier="HB_PAINT_COMPOSITE_MODE_EXCLUSION" glib:nick="exclusion" glib:name="HB_PAINT_COMPOSITE_MODE_EXCLUSION"> <doc xml:space="preserve" filename="src/hb-paint.h" line="587">Produces an effect similar to difference, but with lower contrast.</doc> </member> <member name="multiply" value="23" c:identifier="HB_PAINT_COMPOSITE_MODE_MULTIPLY" glib:nick="multiply" glib:name="HB_PAINT_COMPOSITE_MODE_MULTIPLY"> <doc xml:space="preserve" filename="src/hb-paint.h" line="566">source and destination layers are multiplied. This causes the result to be at least as dark as the darker inputs.</doc> </member> <member name="hsl_hue" value="24" c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_HUE" glib:nick="hsl-hue" glib:name="HB_PAINT_COMPOSITE_MODE_HSL_HUE"> <doc xml:space="preserve" filename="src/hb-paint.h" line="589">Creates a color with the hue of the source and the saturation and luminosity of the target.</doc> </member> <member name="hsl_saturation" value="25" c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_SATURATION" glib:nick="hsl-saturation" glib:name="HB_PAINT_COMPOSITE_MODE_HSL_SATURATION"> <doc xml:space="preserve" filename="src/hb-paint.h" line="591">Creates a color with the saturation of the source and the hue and luminosity of the target. Painting with this mode onto a gray area produces no change.</doc> </member> <member name="hsl_color" value="26" c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_COLOR" glib:nick="hsl-color" glib:name="HB_PAINT_COMPOSITE_MODE_HSL_COLOR"> <doc xml:space="preserve" filename="src/hb-paint.h" line="594">Creates a color with the hue and saturation of the source and the luminosity of the target. This preserves the gray levels of the target and is useful for coloring monochrome images or tinting color images.</doc> </member> <member name="hsl_luminosity" value="27" c:identifier="HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY" glib:nick="hsl-luminosity" glib:name="HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY"> <doc xml:space="preserve" filename="src/hb-paint.h" line="598">Creates a color with the luminosity of the source and the hue and saturation of the target. This produces an inverse effect to @HB_PAINT_COMPOSITE_MODE_HSL_COLOR.</doc> </member> </enumeration> <function name="paint_custom_palette_color" c:identifier="hb_paint_custom_palette_color" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="707">Gets the custom palette color for @color_index.</doc> <source-position filename="src/hb-paint.h" line="1023"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="716">`true` if found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="709">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="710">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="711">color index</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="color" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="712">fetched color</doc> <type name="color_t" c:type="hb_color_t*"/> </parameter> </parameters> </function> <callback name="paint_custom_palette_color_func_t" c:type="hb_paint_custom_palette_color_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="683">A virtual method for the #hb_paint_funcs_t to fetch a color from the custom color palette. Custom palette colors override the colors from the fonts selected color palette. It is not necessary to override all palette entries; for entries that should be taken from the font palette, return `false`. This function might get called multiple times, but the custom palette is expected to remain unchanged for duration of a hb_font_paint_glyph() call.</doc> <source-position filename="src/hb-paint.h" line="705"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="701">`true` if found, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="685">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="686">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_index" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="687">the color index</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="color" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-paint.h" line="688">fetched color</doc> <type name="color_t" c:type="hb_color_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-paint.h" line="689">User data pointer passed to hb_paint_funcs_set_pop_group_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <enumeration name="paint_extend_t" version="7.0.0" glib:type-name="hb_paint_extend_t" glib:get-type="hb_gobject_paint_extend_get_type" c:type="hb_paint_extend_t"> <doc xml:space="preserve" filename="src/hb-paint.h" line="336">The values of this enumeration determine how color values outside the minimum and maximum defined offset on a #hb_color_line_t are determined. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details.</doc> <member name="pad" value="0" c:identifier="HB_PAINT_EXTEND_PAD" glib:nick="pad" glib:name="HB_PAINT_EXTEND_PAD"> <doc xml:space="preserve" filename="src/hb-paint.h" line="338">Outside the defined interval, the color of the closest color stop is used.</doc> </member> <member name="repeat" value="1" c:identifier="HB_PAINT_EXTEND_REPEAT" glib:nick="repeat" glib:name="HB_PAINT_EXTEND_REPEAT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="340">The color line is repeated over repeated multiples of the defined interval</doc> </member> <member name="reflect" value="2" c:identifier="HB_PAINT_EXTEND_REFLECT" glib:nick="reflect" glib:name="HB_PAINT_EXTEND_REFLECT"> <doc xml:space="preserve" filename="src/hb-paint.h" line="342">The color line is repeated over repeated intervals, as for the repeat mode. However, in each repeated interval, the ordering of color stops is the reverse of the adjacent interval.</doc> </member> </enumeration> <function name="paint_funcs_create" c:identifier="hb_paint_funcs_create" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="213">Creates a new #hb_paint_funcs_t structure of paint functions. The initial reference count of 1 should be released with hb_paint_funcs_destroy() when you are done using the #hb_paint_funcs_t. This function never returns `NULL`. If memory cannot be allocated, a special singleton #hb_paint_funcs_t object will be returned.</doc> <source-position filename="src/hb-paint.h" line="66"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="223">the paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </return-value> </function> <function name="paint_funcs_destroy" c:identifier="hb_paint_funcs_destroy" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="284">Decreases the reference count on a paint-functions structure. When the reference count reaches zero, the structure is destroyed, freeing all memory.</doc> <source-position filename="src/hb-paint.h" line="75"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="286">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> </parameters> </function> <function name="paint_funcs_get_empty" c:identifier="hb_paint_funcs_get_empty" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="250">Fetches the singleton empty paint-functions structure.</doc> <source-position filename="src/hb-paint.h" line="69"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="255">The empty paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </return-value> </function> <function name="paint_funcs_get_user_data" c:identifier="hb_paint_funcs_get_user_data" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="337">Fetches the user-data associated with the specified key, attached to the specified paint-functions structure.</doc> <source-position filename="src/hb-paint.h" line="86"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="345">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="339">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="const hb_paint_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="340">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="paint_funcs_is_immutable" c:identifier="hb_paint_funcs_is_immutable" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="376">Tests whether a paint-functions structure is immutable.</doc> <source-position filename="src/hb-paint.h" line="93"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="382">`true` if @funcs is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="378">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> </parameters> </function> <function name="paint_funcs_make_immutable" c:identifier="hb_paint_funcs_make_immutable" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="356">Makes a paint-functions structure immutable. After this call, all attempts to set one of the callbacks on @funcs will fail.</doc> <source-position filename="src/hb-paint.h" line="90"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="358">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> </parameters> </function> <function name="paint_funcs_reference" c:identifier="hb_paint_funcs_reference" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="265">Increases the reference count on a paint-functions structure. This prevents @funcs from being destroyed until a matching call to hb_paint_funcs_destroy() is made.</doc> <source-position filename="src/hb-paint.h" line="72"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="274">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="267">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> </parameters> </function> <function name="paint_funcs_set_color_func" c:identifier="hb_paint_funcs_set_color_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="814">Sets the paint-color callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="826"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="816">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="817">The paint-color callback</doc> <type name="paint_color_func_t" c:type="hb_paint_color_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="818">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="819">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_color_glyph_func" c:identifier="hb_paint_funcs_set_color_glyph_func" version="8.2.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="746">Sets the color-glyph callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="758"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="748">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="749">The color-glyph callback</doc> <type name="paint_color_glyph_func_t" c:type="hb_paint_color_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="750">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="751">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_custom_palette_color_func" c:identifier="hb_paint_funcs_set_custom_palette_color_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="933">Sets the custom-palette-color callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="945"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="935">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="936">The custom-palette-color callback</doc> <type name="paint_custom_palette_color_func_t" c:type="hb_paint_custom_palette_color_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="937">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="938">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_image_func" c:identifier="hb_paint_funcs_set_image_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="831">Sets the paint-image callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="843"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="833">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="834">The paint-image callback</doc> <type name="paint_image_func_t" c:type="hb_paint_image_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="835">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="836">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_linear_gradient_func" c:identifier="hb_paint_funcs_set_linear_gradient_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="848">Sets the linear-gradient callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="860"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="850">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="851">The linear-gradient callback</doc> <type name="paint_linear_gradient_func_t" c:type="hb_paint_linear_gradient_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="852">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="853">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_pop_clip_func" c:identifier="hb_paint_funcs_set_pop_clip_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="797">Sets the pop-clip callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="809"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="799">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="800">The pop-clip callback</doc> <type name="paint_pop_clip_func_t" c:type="hb_paint_pop_clip_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="801">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="802">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_pop_group_func" c:identifier="hb_paint_funcs_set_pop_group_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="916">Sets the pop-group callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="928"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="918">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="919">The pop-group callback</doc> <type name="paint_pop_group_func_t" c:type="hb_paint_pop_group_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="920">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="921">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_pop_transform_func" c:identifier="hb_paint_funcs_set_pop_transform_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="729">Sets the pop-transform callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="741"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="731">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="732">The pop-transform callback</doc> <type name="paint_pop_transform_func_t" c:type="hb_paint_pop_transform_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="733">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="734">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_push_clip_glyph_func" c:identifier="hb_paint_funcs_set_push_clip_glyph_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="763">Sets the push-clip-glyph callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="775"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="765">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="766">The push-clip-glyph callback</doc> <type name="paint_push_clip_glyph_func_t" c:type="hb_paint_push_clip_glyph_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="767">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="768">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_push_clip_rectangle_func" c:identifier="hb_paint_funcs_set_push_clip_rectangle_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="780">Sets the push-clip-rect callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="792"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="782">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="783">The push-clip-rectangle callback</doc> <type name="paint_push_clip_rectangle_func_t" c:type="hb_paint_push_clip_rectangle_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="784">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="785">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_push_group_func" c:identifier="hb_paint_funcs_set_push_group_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="899">Sets the push-group callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="911"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="901">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="902">The push-group callback</doc> <type name="paint_push_group_func_t" c:type="hb_paint_push_group_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="903">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="904">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_push_transform_func" c:identifier="hb_paint_funcs_set_push_transform_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="712">Sets the push-transform callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="724"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="714">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="715">The push-transform callback</doc> <type name="paint_push_transform_func_t" c:type="hb_paint_push_transform_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="716">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="717">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_radial_gradient_func" c:identifier="hb_paint_funcs_set_radial_gradient_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="865">Sets the radial-gradient callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="877"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="867">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="868">The radial-gradient callback</doc> <type name="paint_radial_gradient_func_t" c:type="hb_paint_radial_gradient_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="869">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="870">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_sweep_gradient_func" c:identifier="hb_paint_funcs_set_sweep_gradient_func" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="882">Sets the sweep-gradient callback on the paint functions struct.</doc> <source-position filename="src/hb-paint.h" line="894"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="884">A paint functions struct</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="885">The sweep-gradient callback</doc> <type name="paint_sweep_gradient_func_t" c:type="hb_paint_sweep_gradient_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="886">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-paint.h" line="887">Function to call when @user_data is no longer needed</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="paint_funcs_set_user_data" c:identifier="hb_paint_funcs_set_user_data" version="7.0.0" introspectable="0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="313">Attaches a user-data key/data pair to the specified paint-functions structure.</doc> <source-position filename="src/hb-paint.h" line="78"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="323">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="315">The paint-functions structure</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="316">The user-data key</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="317">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="318">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="319">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="paint_funcs_t" c:type="hb_paint_funcs_t" opaque="1" version="7.0.0" glib:type-name="hb_paint_funcs_t" glib:get-type="hb_gobject_paint_funcs_get_type" c:symbol-prefix="gobject_paint_funcs"> <doc xml:space="preserve" filename="src/hb-paint.h" line="37">Glyph paint callbacks. The callbacks assume that the caller maintains a stack of current transforms, clips and intermediate surfaces, as evidenced by the pairs of push/pop callbacks. The push/pop calls will be properly nested, so it is fine to store the different kinds of object on a single stack. Not all callbacks are required for all kinds of glyphs. For rendering COLRv0 or non-color outline glyphs, the gradient callbacks are not needed, and the composite callback only needs to handle simple alpha compositing (#HB_PAINT_COMPOSITE_MODE_SRC_OVER). The paint-image callback is only needed for glyphs with image blobs in the CBDT, sbix or SVG tables. The custom-palette-color callback is only necessary if you want to override colors from the font palette with custom colors.</doc> <source-position filename="src/hb-paint.h" line="63"/> </record> <function name="paint_image" c:identifier="hb_paint_image" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="574">Perform a "image" paint operation.</doc> <source-position filename="src/hb-paint.h" line="986"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="576">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="577">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="image" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="578">image data</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="width" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="579">width of the raster image in pixels, or 0</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="height" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="580">height of the raster image in pixels, or 0</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="581">the image format as a tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="slant" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="582">the synthetic slant ratio to be applied to the image during rendering</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="extents" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="583">the extents of the glyph</doc> <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/> </parameter> </parameters> </function> <callback name="paint_image_func_t" c:type="hb_paint_image_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="276">A virtual method for the #hb_paint_funcs_t to paint a glyph image. This method is called for glyphs with image blobs in the CBDT, sbix or SVG tables. The @format identifies the kind of data that is contained in @image. Possible values include #HB_PAINT_IMAGE_FORMAT_PNG, #HB_PAINT_IMAGE_FORMAT_SVG and #HB_PAINT_IMAGE_FORMAT_BGRA. The image dimensions and glyph extents are provided if available, and should be used to size and position the image.</doc> <source-position filename="src/hb-paint.h" line="302"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="298">Whether the operation was successful.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="278">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="279">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="image" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="280">the image data</doc> <type name="blob_t" c:type="hb_blob_t*"/> </parameter> <parameter name="width" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="281">width of the raster image in pixels, or 0</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="height" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="282">height of the raster image in pixels, or 0</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="format" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="283">the image format as a tag</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="slant" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="284">the synthetic slant ratio to be applied to the image during rendering</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="extents" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="285">glyph extents for desired rendering</doc> <type name="glyph_extents_t" c:type="hb_glyph_extents_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="8"> <doc xml:space="preserve" filename="src/hb-paint.h" line="286">User data pointer passed to hb_paint_funcs_set_image_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_linear_gradient" c:identifier="hb_paint_linear_gradient" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="601">Perform a "linear-gradient" paint operation.</doc> <source-position filename="src/hb-paint.h" line="995"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="603">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="604">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="605">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="606">X coordinate of the first point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="607">Y coordinate of the first point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="608">X coordinate of the second point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="609">Y coordinate of the second point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x2" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="610">X coordinate of the third point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y2" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="611">Y coordinate of the third point</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="paint_linear_gradient_func_t" c:type="hb_paint_linear_gradient_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="438">A virtual method for the #hb_paint_funcs_t to paint a linear gradient everywhere within the current clip. The @color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around. The coordinates of the points are interpreted according to the current transform. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details on how the points define the direction of the gradient, and how to interpret the @color_line.</doc> <source-position filename="src/hb-paint.h" line="466"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="440">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="441">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="442">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="443">X coordinate of the first point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="444">Y coordinate of the first point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="445">X coordinate of the second point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="446">Y coordinate of the second point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x2" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="447">X coordinate of the third point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y2" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="448">Y coordinate of the third point</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="9"> <doc xml:space="preserve" filename="src/hb-paint.h" line="449">User data pointer passed to hb_paint_funcs_set_linear_gradient_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_pop_clip" c:identifier="hb_paint_pop_clip" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="540">Perform a "pop-clip" paint operation.</doc> <source-position filename="src/hb-paint.h" line="978"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="542">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="543">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </function> <callback name="paint_pop_clip_func_t" c:type="hb_paint_pop_clip_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="213">A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_clip_glyph_func_t or #hb_paint_funcs_push_clip_rectangle_func_t vfuncs.</doc> <source-position filename="src/hb-paint.h" line="225"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="215">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="216">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-paint.h" line="217">User data pointer passed to hb_paint_funcs_set_pop_clip_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_pop_group" c:identifier="hb_paint_pop_group" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="690">Perform a "pop-group" paint operation.</doc> <source-position filename="src/hb-paint.h" line="1019"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="692">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="693">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="mode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="694">the compositing mode to use</doc> <type name="paint_composite_mode_t" c:type="hb_paint_composite_mode_t"/> </parameter> </parameters> </function> <callback name="paint_pop_group_func_t" c:type="hb_paint_pop_group_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="661">A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_group_func_t vfunc. This call stops the redirection to the intermediate surface, and then composites it on the previous surface, using the compositing mode passed to this call.</doc> <source-position filename="src/hb-paint.h" line="678"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="663">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="664">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="mode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="665">the compositing mode to use</doc> <type name="paint_composite_mode_t" c:type="hb_paint_composite_mode_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-paint.h" line="666">User data pointer passed to hb_paint_funcs_set_pop_group_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_pop_transform" c:identifier="hb_paint_pop_transform" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="467">Perform a "pop-transform" paint operation.</doc> <source-position filename="src/hb-paint.h" line="960"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="469">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="470">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </function> <callback name="paint_pop_transform_func_t" c:type="hb_paint_pop_transform_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="123">A virtual method for the #hb_paint_funcs_t to undo the effect of a prior call to the #hb_paint_funcs_push_transform_func_t vfunc.</doc> <source-position filename="src/hb-paint.h" line="135"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="125">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="126">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-paint.h" line="127">User data pointer passed to hb_paint_funcs_set_pop_transform_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_push_clip_glyph" c:identifier="hb_paint_push_clip_glyph" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="501">Perform a "push-clip-glyph" paint operation.</doc> <source-position filename="src/hb-paint.h" line="968"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="503">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="504">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="505">the glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="506">the font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> </parameters> </function> <callback name="paint_push_clip_glyph_func_t" c:type="hb_paint_push_clip_glyph_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="159">A virtual method for the #hb_paint_funcs_t to clip subsequent paint calls to the outline of a glyph. The coordinates of the glyph outline are interpreted according to the current transform. This clip is applied in addition to the current clip, and remains in effect until a matching call to the #hb_paint_funcs_pop_clip_func_t vfunc.</doc> <source-position filename="src/hb-paint.h" line="179"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="161">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="162">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="glyph" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="163">the glyph ID</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="164">the font</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-paint.h" line="165">User data pointer passed to hb_paint_funcs_set_push_clip_glyph_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_push_clip_rectangle" c:identifier="hb_paint_push_clip_rectangle" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="520">Perform a "push-clip-rect" paint operation.</doc> <source-position filename="src/hb-paint.h" line="973"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="522">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="523">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="xmin" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="524">min X for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="ymin" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="525">min Y for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="xmax" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="526">max X for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="ymax" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="527">max Y for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="paint_push_clip_rectangle_func_t" c:type="hb_paint_push_clip_rectangle_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="185">A virtual method for the #hb_paint_funcs_t to clip subsequent paint calls to a rectangle. The coordinates of the rectangle are interpreted according to the current transform. This clip is applied in addition to the current clip, and remains in effect until a matching call to the #hb_paint_funcs_pop_clip_func_t vfunc.</doc> <source-position filename="src/hb-paint.h" line="207"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="187">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="188">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="xmin" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="189">min X for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="ymin" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="190">min Y for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="xmax" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="191">max X for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="ymax" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="192">max Y for the rectangle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="6"> <doc xml:space="preserve" filename="src/hb-paint.h" line="193">User data pointer passed to hb_paint_funcs_set_push_clip_rectangle_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_push_group" c:identifier="hb_paint_push_group" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="675">Perform a "push-group" paint operation.</doc> <source-position filename="src/hb-paint.h" line="1016"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="677">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="678">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </function> <callback name="paint_push_group_func_t" c:type="hb_paint_push_group_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="642">A virtual method for the #hb_paint_funcs_t to use an intermediate surface for subsequent paint calls. The drawing will be redirected to an intermediate surface until a matching call to the #hb_paint_funcs_pop_group_func_t vfunc.</doc> <source-position filename="src/hb-paint.h" line="657"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="644">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="645">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-paint.h" line="646">User data pointer passed to hb_paint_funcs_set_push_group_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_push_transform" c:identifier="hb_paint_push_transform" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="443">Perform a "push-transform" paint operation.</doc> <source-position filename="src/hb-paint.h" line="954"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="445">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="446">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="xx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="447">xx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="yx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="448">yx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="xy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="449">xy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="yy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="450">yy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="dx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="451">dx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="dy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="452">dy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="paint_push_transform_func_t" c:type="hb_paint_push_transform_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="95">A virtual method for the #hb_paint_funcs_t to apply a transform to subsequent paint calls. This transform is applied after the current transform, and remains in effect until a matching call to the #hb_paint_funcs_pop_transform_func_t vfunc.</doc> <source-position filename="src/hb-paint.h" line="116"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="97">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="98">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="xx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="99">xx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="yx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="100">yx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="xy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="101">xy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="yy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="102">yy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="dx" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="103">dx component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="dy" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="104">dy component of the transform matrix</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="8"> <doc xml:space="preserve" filename="src/hb-paint.h" line="105">User data pointer passed to hb_paint_funcs_set_push_transform_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_radial_gradient" c:identifier="hb_paint_radial_gradient" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="627">Perform a "radial-gradient" paint operation.</doc> <source-position filename="src/hb-paint.h" line="1002"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="629">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="630">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="631">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="632">X coordinate of the first circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="633">Y coordinate of the first circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="r0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="634">radius of the first circle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="635">X coordinate of the second circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="636">Y coordinate of the second circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="r1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="637">radius of the second circle</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="paint_radial_gradient_func_t" c:type="hb_paint_radial_gradient_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="474">A virtual method for the #hb_paint_funcs_t to paint a radial gradient everywhere within the current clip. The @color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around. The coordinates of the points are interpreted according to the current transform. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details on how the points define the direction of the gradient, and how to interpret the @color_line.</doc> <source-position filename="src/hb-paint.h" line="502"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="476">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="477">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="478">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="479">X coordinate of the first circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="480">Y coordinate of the first circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="r0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="481">radius of the first circle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="x1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="482">X coordinate of the second circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="483">Y coordinate of the second circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="r1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="484">radius of the second circle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="9"> <doc xml:space="preserve" filename="src/hb-paint.h" line="485">User data pointer passed to hb_paint_funcs_set_radial_gradient_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="paint_sweep_gradient" c:identifier="hb_paint_sweep_gradient" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="652">Perform a "sweep-gradient" paint operation.</doc> <source-position filename="src/hb-paint.h" line="1010"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="654">paint functions</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="655">associated data passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="656">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="657">X coordinate of the circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="658">Y coordinate of the circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="start_angle" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="659">the start angle</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="end_angle" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.cc" line="660">the end angle</doc> <type name="gfloat" c:type="float"/> </parameter> </parameters> </function> <callback name="paint_sweep_gradient_func_t" c:type="hb_paint_sweep_gradient_func_t" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-paint.h" line="509">A virtual method for the #hb_paint_funcs_t to paint a sweep gradient everywhere within the current clip. The @color_line object contains information about the colors of the gradients. It is only valid for the duration of the callback, you cannot keep it around. The coordinates of the points are interpreted according to the current transform. See the OpenType spec [COLR](https://learn.microsoft.com/en-us/typography/opentype/spec/colr) section for details on how the points define the direction of the gradient, and how to interpret the @color_line.</doc> <source-position filename="src/hb-paint.h" line="535"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="funcs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="511">paint functions object</doc> <type name="paint_funcs_t" c:type="hb_paint_funcs_t*"/> </parameter> <parameter name="paint_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-paint.h" line="512">The data accompanying the paint functions in hb_font_paint_glyph()</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="color_line" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="513">Color information for the gradient</doc> <type name="color_line_t" c:type="hb_color_line_t*"/> </parameter> <parameter name="x0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="514">X coordinate of the circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="y0" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="515">Y coordinate of the circle's center</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="start_angle" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="516">the start angle, in radians</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="end_angle" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-paint.h" line="517">the end angle, in radians</doc> <type name="gfloat" c:type="float"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="7"> <doc xml:space="preserve" filename="src/hb-paint.h" line="518">User data pointer passed to hb_paint_funcs_set_sweep_gradient_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <callback name="reference_table_func_t" c:type="hb_reference_table_func_t" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-face.h" line="70">Callback function for hb_face_create_for_tables().</doc> <source-position filename="src/hb-face.h" line="83"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-face.h" line="78">A pointer to the @tag table within @face</doc> <type name="blob_t" c:type="hb_blob_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.h" line="72">an #hb_face_t to reference table for</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-face.h" line="73">the tag of the table to reference</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-face.h" line="74">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="script_from_iso15924_tag" c:identifier="hb_script_from_iso15924_tag" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="453">Converts an ISO 15924 script tag to a corresponding #hb_script_t.</doc> <source-position filename="src/hb-common.h" line="775"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="459">An #hb_script_t corresponding to the ISO 15924 tag.</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="455">an #hb_tag_t representing an ISO 15924 tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> </parameters> </function> <function name="script_from_string" c:identifier="hb_script_from_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="503">Converts a string @str representing an ISO 15924 script tag to a corresponding #hb_script_t. Shorthand for hb_tag_from_string() then hb_script_from_iso15924_tag().</doc> <source-position filename="src/hb-common.h" line="778"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="513">An #hb_script_t corresponding to the ISO 15924 tag.</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="505">a string representing an ISO 15924 tag.</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="507">length of the @str, or -1 if it is `NULL`-terminated.</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="script_get_horizontal_direction" c:identifier="hb_script_get_horizontal_direction" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="541">Fetches the #hb_direction_t of a script when it is set horizontally. All right-to-left scripts will return #HB_DIRECTION_RTL. All left-to-right scripts will return #HB_DIRECTION_LTR. Scripts that can be written either horizontally or vertically will return #HB_DIRECTION_INVALID. Unknown scripts will return #HB_DIRECTION_LTR.</doc> <source-position filename="src/hb-common.h" line="784"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="552">The horizontal #hb_direction_t of @script</doc> <type name="direction_t" c:type="hb_direction_t"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="543">The #hb_script_t to query</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> </parameters> </function> <enumeration name="script_t" glib:type-name="hb_script_t" glib:get-type="hb_gobject_script_get_type" c:type="hb_script_t"> <doc xml:space="preserve" filename="src/hb-common.h" line="340">Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/). See also the Script (sc) property of the Unicode Character Database.</doc> <member name="common" value="1517910393" c:identifier="HB_SCRIPT_COMMON" glib:nick="common" glib:name="HB_SCRIPT_COMMON"> <doc xml:space="preserve" filename="src/hb-common.h" line="342">`Zyyy`</doc> </member> <member name="inherited" value="1516858984" c:identifier="HB_SCRIPT_INHERITED" glib:nick="inherited" glib:name="HB_SCRIPT_INHERITED"> <doc xml:space="preserve" filename="src/hb-common.h" line="343">`Zinh`</doc> </member> <member name="unknown" value="1517976186" c:identifier="HB_SCRIPT_UNKNOWN" glib:nick="unknown" glib:name="HB_SCRIPT_UNKNOWN"> <doc xml:space="preserve" filename="src/hb-common.h" line="344">`Zzzz`</doc> </member> <member name="arabic" value="1098015074" c:identifier="HB_SCRIPT_ARABIC" glib:nick="arabic" glib:name="HB_SCRIPT_ARABIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="345">`Arab`</doc> </member> <member name="armenian" value="1098018158" c:identifier="HB_SCRIPT_ARMENIAN" glib:nick="armenian" glib:name="HB_SCRIPT_ARMENIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="346">`Armn`</doc> </member> <member name="bengali" value="1113943655" c:identifier="HB_SCRIPT_BENGALI" glib:nick="bengali" glib:name="HB_SCRIPT_BENGALI"> <doc xml:space="preserve" filename="src/hb-common.h" line="347">`Beng`</doc> </member> <member name="cyrillic" value="1132032620" c:identifier="HB_SCRIPT_CYRILLIC" glib:nick="cyrillic" glib:name="HB_SCRIPT_CYRILLIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="348">`Cyrl`</doc> </member> <member name="devanagari" value="1147500129" c:identifier="HB_SCRIPT_DEVANAGARI" glib:nick="devanagari" glib:name="HB_SCRIPT_DEVANAGARI"> <doc xml:space="preserve" filename="src/hb-common.h" line="349">`Deva`</doc> </member> <member name="georgian" value="1197830002" c:identifier="HB_SCRIPT_GEORGIAN" glib:nick="georgian" glib:name="HB_SCRIPT_GEORGIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="350">`Geor`</doc> </member> <member name="greek" value="1198679403" c:identifier="HB_SCRIPT_GREEK" glib:nick="greek" glib:name="HB_SCRIPT_GREEK"> <doc xml:space="preserve" filename="src/hb-common.h" line="351">`Grek`</doc> </member> <member name="gujarati" value="1198877298" c:identifier="HB_SCRIPT_GUJARATI" glib:nick="gujarati" glib:name="HB_SCRIPT_GUJARATI"> <doc xml:space="preserve" filename="src/hb-common.h" line="352">`Gujr`</doc> </member> <member name="gurmukhi" value="1198879349" c:identifier="HB_SCRIPT_GURMUKHI" glib:nick="gurmukhi" glib:name="HB_SCRIPT_GURMUKHI"> <doc xml:space="preserve" filename="src/hb-common.h" line="353">`Guru`</doc> </member> <member name="hangul" value="1214344807" c:identifier="HB_SCRIPT_HANGUL" glib:nick="hangul" glib:name="HB_SCRIPT_HANGUL"> <doc xml:space="preserve" filename="src/hb-common.h" line="354">`Hang`</doc> </member> <member name="han" value="1214344809" c:identifier="HB_SCRIPT_HAN" glib:nick="han" glib:name="HB_SCRIPT_HAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="355">`Hani`</doc> </member> <member name="hebrew" value="1214603890" c:identifier="HB_SCRIPT_HEBREW" glib:nick="hebrew" glib:name="HB_SCRIPT_HEBREW"> <doc xml:space="preserve" filename="src/hb-common.h" line="356">`Hebr`</doc> </member> <member name="hiragana" value="1214870113" c:identifier="HB_SCRIPT_HIRAGANA" glib:nick="hiragana" glib:name="HB_SCRIPT_HIRAGANA"> <doc xml:space="preserve" filename="src/hb-common.h" line="357">`Hira`</doc> </member> <member name="kannada" value="1265525857" c:identifier="HB_SCRIPT_KANNADA" glib:nick="kannada" glib:name="HB_SCRIPT_KANNADA"> <doc xml:space="preserve" filename="src/hb-common.h" line="358">`Knda`</doc> </member> <member name="katakana" value="1264676449" c:identifier="HB_SCRIPT_KATAKANA" glib:nick="katakana" glib:name="HB_SCRIPT_KATAKANA"> <doc xml:space="preserve" filename="src/hb-common.h" line="359">`Kana`</doc> </member> <member name="lao" value="1281453935" c:identifier="HB_SCRIPT_LAO" glib:nick="lao" glib:name="HB_SCRIPT_LAO"> <doc xml:space="preserve" filename="src/hb-common.h" line="360">`Laoo`</doc> </member> <member name="latin" value="1281455214" c:identifier="HB_SCRIPT_LATIN" glib:nick="latin" glib:name="HB_SCRIPT_LATIN"> <doc xml:space="preserve" filename="src/hb-common.h" line="361">`Latn`</doc> </member> <member name="malayalam" value="1298954605" c:identifier="HB_SCRIPT_MALAYALAM" glib:nick="malayalam" glib:name="HB_SCRIPT_MALAYALAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="362">`Mlym`</doc> </member> <member name="oriya" value="1332902241" c:identifier="HB_SCRIPT_ORIYA" glib:nick="oriya" glib:name="HB_SCRIPT_ORIYA"> <doc xml:space="preserve" filename="src/hb-common.h" line="363">`Orya`</doc> </member> <member name="tamil" value="1415671148" c:identifier="HB_SCRIPT_TAMIL" glib:nick="tamil" glib:name="HB_SCRIPT_TAMIL"> <doc xml:space="preserve" filename="src/hb-common.h" line="364">`Taml`</doc> </member> <member name="telugu" value="1415933045" c:identifier="HB_SCRIPT_TELUGU" glib:nick="telugu" glib:name="HB_SCRIPT_TELUGU"> <doc xml:space="preserve" filename="src/hb-common.h" line="365">`Telu`</doc> </member> <member name="thai" value="1416126825" c:identifier="HB_SCRIPT_THAI" glib:nick="thai" glib:name="HB_SCRIPT_THAI"> <doc xml:space="preserve" filename="src/hb-common.h" line="366">`Thai`</doc> </member> <member name="tibetan" value="1416192628" c:identifier="HB_SCRIPT_TIBETAN" glib:nick="tibetan" glib:name="HB_SCRIPT_TIBETAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="367">`Tibt`</doc> </member> <member name="bopomofo" value="1114599535" c:identifier="HB_SCRIPT_BOPOMOFO" glib:nick="bopomofo" glib:name="HB_SCRIPT_BOPOMOFO"> <doc xml:space="preserve" filename="src/hb-common.h" line="368">`Bopo`</doc> </member> <member name="braille" value="1114792297" c:identifier="HB_SCRIPT_BRAILLE" glib:nick="braille" glib:name="HB_SCRIPT_BRAILLE"> <doc xml:space="preserve" filename="src/hb-common.h" line="369">`Brai`</doc> </member> <member name="canadian_syllabics" value="1130458739" c:identifier="HB_SCRIPT_CANADIAN_SYLLABICS" glib:nick="canadian-syllabics" glib:name="HB_SCRIPT_CANADIAN_SYLLABICS"> <doc xml:space="preserve" filename="src/hb-common.h" line="370">`Cans`</doc> </member> <member name="cherokee" value="1130915186" c:identifier="HB_SCRIPT_CHEROKEE" glib:nick="cherokee" glib:name="HB_SCRIPT_CHEROKEE"> <doc xml:space="preserve" filename="src/hb-common.h" line="371">`Cher`</doc> </member> <member name="ethiopic" value="1165256809" c:identifier="HB_SCRIPT_ETHIOPIC" glib:nick="ethiopic" glib:name="HB_SCRIPT_ETHIOPIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="372">`Ethi`</doc> </member> <member name="khmer" value="1265134962" c:identifier="HB_SCRIPT_KHMER" glib:nick="khmer" glib:name="HB_SCRIPT_KHMER"> <doc xml:space="preserve" filename="src/hb-common.h" line="373">`Khmr`</doc> </member> <member name="mongolian" value="1299148391" c:identifier="HB_SCRIPT_MONGOLIAN" glib:nick="mongolian" glib:name="HB_SCRIPT_MONGOLIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="374">`Mong`</doc> </member> <member name="myanmar" value="1299803506" c:identifier="HB_SCRIPT_MYANMAR" glib:nick="myanmar" glib:name="HB_SCRIPT_MYANMAR"> <doc xml:space="preserve" filename="src/hb-common.h" line="375">`Mymr`</doc> </member> <member name="ogham" value="1332175213" c:identifier="HB_SCRIPT_OGHAM" glib:nick="ogham" glib:name="HB_SCRIPT_OGHAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="376">`Ogam`</doc> </member> <member name="runic" value="1383427698" c:identifier="HB_SCRIPT_RUNIC" glib:nick="runic" glib:name="HB_SCRIPT_RUNIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="377">`Runr`</doc> </member> <member name="sinhala" value="1399418472" c:identifier="HB_SCRIPT_SINHALA" glib:nick="sinhala" glib:name="HB_SCRIPT_SINHALA"> <doc xml:space="preserve" filename="src/hb-common.h" line="378">`Sinh`</doc> </member> <member name="syriac" value="1400468067" c:identifier="HB_SCRIPT_SYRIAC" glib:nick="syriac" glib:name="HB_SCRIPT_SYRIAC"> <doc xml:space="preserve" filename="src/hb-common.h" line="379">`Syrc`</doc> </member> <member name="thaana" value="1416126817" c:identifier="HB_SCRIPT_THAANA" glib:nick="thaana" glib:name="HB_SCRIPT_THAANA"> <doc xml:space="preserve" filename="src/hb-common.h" line="380">`Thaa`</doc> </member> <member name="yi" value="1500080489" c:identifier="HB_SCRIPT_YI" glib:nick="yi" glib:name="HB_SCRIPT_YI"> <doc xml:space="preserve" filename="src/hb-common.h" line="381">`Yiii`</doc> </member> <member name="deseret" value="1148416628" c:identifier="HB_SCRIPT_DESERET" glib:nick="deseret" glib:name="HB_SCRIPT_DESERET"> <doc xml:space="preserve" filename="src/hb-common.h" line="382">`Dsrt`</doc> </member> <member name="gothic" value="1198486632" c:identifier="HB_SCRIPT_GOTHIC" glib:nick="gothic" glib:name="HB_SCRIPT_GOTHIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="383">`Goth`</doc> </member> <member name="old_italic" value="1232363884" c:identifier="HB_SCRIPT_OLD_ITALIC" glib:nick="old-italic" glib:name="HB_SCRIPT_OLD_ITALIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="384">`Ital`</doc> </member> <member name="buhid" value="1114990692" c:identifier="HB_SCRIPT_BUHID" glib:nick="buhid" glib:name="HB_SCRIPT_BUHID"> <doc xml:space="preserve" filename="src/hb-common.h" line="385">`Buhd`</doc> </member> <member name="hanunoo" value="1214344815" c:identifier="HB_SCRIPT_HANUNOO" glib:nick="hanunoo" glib:name="HB_SCRIPT_HANUNOO"> <doc xml:space="preserve" filename="src/hb-common.h" line="386">`Hano`</doc> </member> <member name="tagalog" value="1416064103" c:identifier="HB_SCRIPT_TAGALOG" glib:nick="tagalog" glib:name="HB_SCRIPT_TAGALOG"> <doc xml:space="preserve" filename="src/hb-common.h" line="387">`Tglg`</doc> </member> <member name="tagbanwa" value="1415669602" c:identifier="HB_SCRIPT_TAGBANWA" glib:nick="tagbanwa" glib:name="HB_SCRIPT_TAGBANWA"> <doc xml:space="preserve" filename="src/hb-common.h" line="388">`Tagb`</doc> </member> <member name="cypriot" value="1131442804" c:identifier="HB_SCRIPT_CYPRIOT" glib:nick="cypriot" glib:name="HB_SCRIPT_CYPRIOT"> <doc xml:space="preserve" filename="src/hb-common.h" line="389">`Cprt`</doc> </member> <member name="limbu" value="1281977698" c:identifier="HB_SCRIPT_LIMBU" glib:nick="limbu" glib:name="HB_SCRIPT_LIMBU"> <doc xml:space="preserve" filename="src/hb-common.h" line="390">`Limb`</doc> </member> <member name="linear_b" value="1281977954" c:identifier="HB_SCRIPT_LINEAR_B" glib:nick="linear-b" glib:name="HB_SCRIPT_LINEAR_B"> <doc xml:space="preserve" filename="src/hb-common.h" line="391">`Linb`</doc> </member> <member name="osmanya" value="1332964705" c:identifier="HB_SCRIPT_OSMANYA" glib:nick="osmanya" glib:name="HB_SCRIPT_OSMANYA"> <doc xml:space="preserve" filename="src/hb-common.h" line="392">`Osma`</doc> </member> <member name="shavian" value="1399349623" c:identifier="HB_SCRIPT_SHAVIAN" glib:nick="shavian" glib:name="HB_SCRIPT_SHAVIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="393">`Shaw`</doc> </member> <member name="tai_le" value="1415670885" c:identifier="HB_SCRIPT_TAI_LE" glib:nick="tai-le" glib:name="HB_SCRIPT_TAI_LE"> <doc xml:space="preserve" filename="src/hb-common.h" line="394">`Tale`</doc> </member> <member name="ugaritic" value="1432838514" c:identifier="HB_SCRIPT_UGARITIC" glib:nick="ugaritic" glib:name="HB_SCRIPT_UGARITIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="395">`Ugar`</doc> </member> <member name="buginese" value="1114990441" c:identifier="HB_SCRIPT_BUGINESE" glib:nick="buginese" glib:name="HB_SCRIPT_BUGINESE"> <doc xml:space="preserve" filename="src/hb-common.h" line="396">`Bugi`</doc> </member> <member name="coptic" value="1131376756" c:identifier="HB_SCRIPT_COPTIC" glib:nick="coptic" glib:name="HB_SCRIPT_COPTIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="397">`Copt`</doc> </member> <member name="glagolitic" value="1198285159" c:identifier="HB_SCRIPT_GLAGOLITIC" glib:nick="glagolitic" glib:name="HB_SCRIPT_GLAGOLITIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="398">`Glag`</doc> </member> <member name="kharoshthi" value="1265131890" c:identifier="HB_SCRIPT_KHAROSHTHI" glib:nick="kharoshthi" glib:name="HB_SCRIPT_KHAROSHTHI"> <doc xml:space="preserve" filename="src/hb-common.h" line="399">`Khar`</doc> </member> <member name="new_tai_lue" value="1415670901" c:identifier="HB_SCRIPT_NEW_TAI_LUE" glib:nick="new-tai-lue" glib:name="HB_SCRIPT_NEW_TAI_LUE"> <doc xml:space="preserve" filename="src/hb-common.h" line="400">`Talu`</doc> </member> <member name="old_persian" value="1483761007" c:identifier="HB_SCRIPT_OLD_PERSIAN" glib:nick="old-persian" glib:name="HB_SCRIPT_OLD_PERSIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="401">`Xpeo`</doc> </member> <member name="syloti_nagri" value="1400466543" c:identifier="HB_SCRIPT_SYLOTI_NAGRI" glib:nick="syloti-nagri" glib:name="HB_SCRIPT_SYLOTI_NAGRI"> <doc xml:space="preserve" filename="src/hb-common.h" line="402">`Sylo`</doc> </member> <member name="tifinagh" value="1415999079" c:identifier="HB_SCRIPT_TIFINAGH" glib:nick="tifinagh" glib:name="HB_SCRIPT_TIFINAGH"> <doc xml:space="preserve" filename="src/hb-common.h" line="403">`Tfng`</doc> </member> <member name="balinese" value="1113681001" c:identifier="HB_SCRIPT_BALINESE" glib:nick="balinese" glib:name="HB_SCRIPT_BALINESE"> <doc xml:space="preserve" filename="src/hb-common.h" line="404">`Bali`</doc> </member> <member name="cuneiform" value="1483961720" c:identifier="HB_SCRIPT_CUNEIFORM" glib:nick="cuneiform" glib:name="HB_SCRIPT_CUNEIFORM"> <doc xml:space="preserve" filename="src/hb-common.h" line="405">`Xsux`</doc> </member> <member name="nko" value="1315663727" c:identifier="HB_SCRIPT_NKO" glib:nick="nko" glib:name="HB_SCRIPT_NKO"> <doc xml:space="preserve" filename="src/hb-common.h" line="406">`Nkoo`</doc> </member> <member name="phags_pa" value="1349017959" c:identifier="HB_SCRIPT_PHAGS_PA" glib:nick="phags-pa" glib:name="HB_SCRIPT_PHAGS_PA"> <doc xml:space="preserve" filename="src/hb-common.h" line="407">`Phag`</doc> </member> <member name="phoenician" value="1349021304" c:identifier="HB_SCRIPT_PHOENICIAN" glib:nick="phoenician" glib:name="HB_SCRIPT_PHOENICIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="408">`Phnx`</doc> </member> <member name="carian" value="1130459753" c:identifier="HB_SCRIPT_CARIAN" glib:nick="carian" glib:name="HB_SCRIPT_CARIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="409">`Cari`</doc> </member> <member name="cham" value="1130914157" c:identifier="HB_SCRIPT_CHAM" glib:nick="cham" glib:name="HB_SCRIPT_CHAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="410">`Cham`</doc> </member> <member name="kayah_li" value="1264675945" c:identifier="HB_SCRIPT_KAYAH_LI" glib:nick="kayah-li" glib:name="HB_SCRIPT_KAYAH_LI"> <doc xml:space="preserve" filename="src/hb-common.h" line="411">`Kali`</doc> </member> <member name="lepcha" value="1281716323" c:identifier="HB_SCRIPT_LEPCHA" glib:nick="lepcha" glib:name="HB_SCRIPT_LEPCHA"> <doc xml:space="preserve" filename="src/hb-common.h" line="412">`Lepc`</doc> </member> <member name="lycian" value="1283023721" c:identifier="HB_SCRIPT_LYCIAN" glib:nick="lycian" glib:name="HB_SCRIPT_LYCIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="413">`Lyci`</doc> </member> <member name="lydian" value="1283023977" c:identifier="HB_SCRIPT_LYDIAN" glib:nick="lydian" glib:name="HB_SCRIPT_LYDIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="414">`Lydi`</doc> </member> <member name="ol_chiki" value="1332503403" c:identifier="HB_SCRIPT_OL_CHIKI" glib:nick="ol-chiki" glib:name="HB_SCRIPT_OL_CHIKI"> <doc xml:space="preserve" filename="src/hb-common.h" line="415">`Olck`</doc> </member> <member name="rejang" value="1382706791" c:identifier="HB_SCRIPT_REJANG" glib:nick="rejang" glib:name="HB_SCRIPT_REJANG"> <doc xml:space="preserve" filename="src/hb-common.h" line="416">`Rjng`</doc> </member> <member name="saurashtra" value="1398895986" c:identifier="HB_SCRIPT_SAURASHTRA" glib:nick="saurashtra" glib:name="HB_SCRIPT_SAURASHTRA"> <doc xml:space="preserve" filename="src/hb-common.h" line="417">`Saur`</doc> </member> <member name="sundanese" value="1400204900" c:identifier="HB_SCRIPT_SUNDANESE" glib:nick="sundanese" glib:name="HB_SCRIPT_SUNDANESE"> <doc xml:space="preserve" filename="src/hb-common.h" line="418">`Sund`</doc> </member> <member name="vai" value="1449224553" c:identifier="HB_SCRIPT_VAI" glib:nick="vai" glib:name="HB_SCRIPT_VAI"> <doc xml:space="preserve" filename="src/hb-common.h" line="419">`Vaii`</doc> </member> <member name="avestan" value="1098281844" c:identifier="HB_SCRIPT_AVESTAN" glib:nick="avestan" glib:name="HB_SCRIPT_AVESTAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="420">`Avst`</doc> </member> <member name="bamum" value="1113681269" c:identifier="HB_SCRIPT_BAMUM" glib:nick="bamum" glib:name="HB_SCRIPT_BAMUM"> <doc xml:space="preserve" filename="src/hb-common.h" line="421">`Bamu`</doc> </member> <member name="egyptian_hieroglyphs" value="1164409200" c:identifier="HB_SCRIPT_EGYPTIAN_HIEROGLYPHS" glib:nick="egyptian-hieroglyphs" glib:name="HB_SCRIPT_EGYPTIAN_HIEROGLYPHS"> <doc xml:space="preserve" filename="src/hb-common.h" line="422">`Egyp`</doc> </member> <member name="imperial_aramaic" value="1098018153" c:identifier="HB_SCRIPT_IMPERIAL_ARAMAIC" glib:nick="imperial-aramaic" glib:name="HB_SCRIPT_IMPERIAL_ARAMAIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="423">`Armi`</doc> </member> <member name="inscriptional_pahlavi" value="1349020777" c:identifier="HB_SCRIPT_INSCRIPTIONAL_PAHLAVI" glib:nick="inscriptional-pahlavi" glib:name="HB_SCRIPT_INSCRIPTIONAL_PAHLAVI"> <doc xml:space="preserve" filename="src/hb-common.h" line="424">`Phli`</doc> </member> <member name="inscriptional_parthian" value="1349678185" c:identifier="HB_SCRIPT_INSCRIPTIONAL_PARTHIAN" glib:nick="inscriptional-parthian" glib:name="HB_SCRIPT_INSCRIPTIONAL_PARTHIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="425">`Prti`</doc> </member> <member name="javanese" value="1247901281" c:identifier="HB_SCRIPT_JAVANESE" glib:nick="javanese" glib:name="HB_SCRIPT_JAVANESE"> <doc xml:space="preserve" filename="src/hb-common.h" line="426">`Java`</doc> </member> <member name="kaithi" value="1265920105" c:identifier="HB_SCRIPT_KAITHI" glib:nick="kaithi" glib:name="HB_SCRIPT_KAITHI"> <doc xml:space="preserve" filename="src/hb-common.h" line="427">`Kthi`</doc> </member> <member name="lisu" value="1281979253" c:identifier="HB_SCRIPT_LISU" glib:nick="lisu" glib:name="HB_SCRIPT_LISU"> <doc xml:space="preserve" filename="src/hb-common.h" line="428">`Lisu`</doc> </member> <member name="meetei_mayek" value="1299473769" c:identifier="HB_SCRIPT_MEETEI_MAYEK" glib:nick="meetei-mayek" glib:name="HB_SCRIPT_MEETEI_MAYEK"> <doc xml:space="preserve" filename="src/hb-common.h" line="429">`Mtei`</doc> </member> <member name="old_south_arabian" value="1398895202" c:identifier="HB_SCRIPT_OLD_SOUTH_ARABIAN" glib:nick="old-south-arabian" glib:name="HB_SCRIPT_OLD_SOUTH_ARABIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="430">`Sarb`</doc> </member> <member name="old_turkic" value="1332898664" c:identifier="HB_SCRIPT_OLD_TURKIC" glib:nick="old-turkic" glib:name="HB_SCRIPT_OLD_TURKIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="431">`Orkh`</doc> </member> <member name="samaritan" value="1398893938" c:identifier="HB_SCRIPT_SAMARITAN" glib:nick="samaritan" glib:name="HB_SCRIPT_SAMARITAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="432">`Samr`</doc> </member> <member name="tai_tham" value="1281453665" c:identifier="HB_SCRIPT_TAI_THAM" glib:nick="tai-tham" glib:name="HB_SCRIPT_TAI_THAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="433">`Lana`</doc> </member> <member name="tai_viet" value="1415673460" c:identifier="HB_SCRIPT_TAI_VIET" glib:nick="tai-viet" glib:name="HB_SCRIPT_TAI_VIET"> <doc xml:space="preserve" filename="src/hb-common.h" line="434">`Tavt`</doc> </member> <member name="batak" value="1113683051" c:identifier="HB_SCRIPT_BATAK" glib:nick="batak" glib:name="HB_SCRIPT_BATAK"> <doc xml:space="preserve" filename="src/hb-common.h" line="435">`Batk`</doc> </member> <member name="brahmi" value="1114792296" c:identifier="HB_SCRIPT_BRAHMI" glib:nick="brahmi" glib:name="HB_SCRIPT_BRAHMI"> <doc xml:space="preserve" filename="src/hb-common.h" line="436">`Brah`</doc> </member> <member name="mandaic" value="1298230884" c:identifier="HB_SCRIPT_MANDAIC" glib:nick="mandaic" glib:name="HB_SCRIPT_MANDAIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="437">`Mand`</doc> </member> <member name="chakma" value="1130457965" c:identifier="HB_SCRIPT_CHAKMA" glib:nick="chakma" glib:name="HB_SCRIPT_CHAKMA"> <doc xml:space="preserve" filename="src/hb-common.h" line="438">`Cakm`</doc> </member> <member name="meroitic_cursive" value="1298494051" c:identifier="HB_SCRIPT_MEROITIC_CURSIVE" glib:nick="meroitic-cursive" glib:name="HB_SCRIPT_MEROITIC_CURSIVE"> <doc xml:space="preserve" filename="src/hb-common.h" line="439">`Merc`</doc> </member> <member name="meroitic_hieroglyphs" value="1298494063" c:identifier="HB_SCRIPT_MEROITIC_HIEROGLYPHS" glib:nick="meroitic-hieroglyphs" glib:name="HB_SCRIPT_MEROITIC_HIEROGLYPHS"> <doc xml:space="preserve" filename="src/hb-common.h" line="440">`Mero`</doc> </member> <member name="miao" value="1349284452" c:identifier="HB_SCRIPT_MIAO" glib:nick="miao" glib:name="HB_SCRIPT_MIAO"> <doc xml:space="preserve" filename="src/hb-common.h" line="441">`Plrd`</doc> </member> <member name="sharada" value="1399353956" c:identifier="HB_SCRIPT_SHARADA" glib:nick="sharada" glib:name="HB_SCRIPT_SHARADA"> <doc xml:space="preserve" filename="src/hb-common.h" line="442">`Shrd`</doc> </member> <member name="sora_sompeng" value="1399812705" c:identifier="HB_SCRIPT_SORA_SOMPENG" glib:nick="sora-sompeng" glib:name="HB_SCRIPT_SORA_SOMPENG"> <doc xml:space="preserve" filename="src/hb-common.h" line="443">`Sora`</doc> </member> <member name="takri" value="1415670642" c:identifier="HB_SCRIPT_TAKRI" glib:nick="takri" glib:name="HB_SCRIPT_TAKRI"> <doc xml:space="preserve" filename="src/hb-common.h" line="444">`Takr`</doc> </member> <member name="bassa_vah" value="1113682803" c:identifier="HB_SCRIPT_BASSA_VAH" glib:nick="bassa-vah" glib:name="HB_SCRIPT_BASSA_VAH"> <doc xml:space="preserve" filename="src/hb-common.h" line="445">`Bass`, Since: 0.9.30</doc> </member> <member name="caucasian_albanian" value="1097295970" c:identifier="HB_SCRIPT_CAUCASIAN_ALBANIAN" glib:nick="caucasian-albanian" glib:name="HB_SCRIPT_CAUCASIAN_ALBANIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="446">`Aghb`, Since: 0.9.30</doc> </member> <member name="duployan" value="1148547180" c:identifier="HB_SCRIPT_DUPLOYAN" glib:nick="duployan" glib:name="HB_SCRIPT_DUPLOYAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="447">`Dupl`, Since: 0.9.30</doc> </member> <member name="elbasan" value="1164730977" c:identifier="HB_SCRIPT_ELBASAN" glib:nick="elbasan" glib:name="HB_SCRIPT_ELBASAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="448">`Elba`, Since: 0.9.30</doc> </member> <member name="grantha" value="1198678382" c:identifier="HB_SCRIPT_GRANTHA" glib:nick="grantha" glib:name="HB_SCRIPT_GRANTHA"> <doc xml:space="preserve" filename="src/hb-common.h" line="449">`Gran`, Since: 0.9.30</doc> </member> <member name="khojki" value="1265135466" c:identifier="HB_SCRIPT_KHOJKI" glib:nick="khojki" glib:name="HB_SCRIPT_KHOJKI"> <doc xml:space="preserve" filename="src/hb-common.h" line="450">`Khoj`, Since: 0.9.30</doc> </member> <member name="khudawadi" value="1399418468" c:identifier="HB_SCRIPT_KHUDAWADI" glib:nick="khudawadi" glib:name="HB_SCRIPT_KHUDAWADI"> <doc xml:space="preserve" filename="src/hb-common.h" line="451">`Sind`, Since: 0.9.30</doc> </member> <member name="linear_a" value="1281977953" c:identifier="HB_SCRIPT_LINEAR_A" glib:nick="linear-a" glib:name="HB_SCRIPT_LINEAR_A"> <doc xml:space="preserve" filename="src/hb-common.h" line="452">`Lina`, Since: 0.9.30</doc> </member> <member name="mahajani" value="1298229354" c:identifier="HB_SCRIPT_MAHAJANI" glib:nick="mahajani" glib:name="HB_SCRIPT_MAHAJANI"> <doc xml:space="preserve" filename="src/hb-common.h" line="453">`Mahj`, Since: 0.9.30</doc> </member> <member name="manichaean" value="1298230889" c:identifier="HB_SCRIPT_MANICHAEAN" glib:nick="manichaean" glib:name="HB_SCRIPT_MANICHAEAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="454">`Mani`, Since: 0.9.30</doc> </member> <member name="mende_kikakui" value="1298493028" c:identifier="HB_SCRIPT_MENDE_KIKAKUI" glib:nick="mende-kikakui" glib:name="HB_SCRIPT_MENDE_KIKAKUI"> <doc xml:space="preserve" filename="src/hb-common.h" line="455">`Mend`, Since: 0.9.30</doc> </member> <member name="modi" value="1299145833" c:identifier="HB_SCRIPT_MODI" glib:nick="modi" glib:name="HB_SCRIPT_MODI"> <doc xml:space="preserve" filename="src/hb-common.h" line="456">`Modi`, Since: 0.9.30</doc> </member> <member name="mro" value="1299345263" c:identifier="HB_SCRIPT_MRO" glib:nick="mro" glib:name="HB_SCRIPT_MRO"> <doc xml:space="preserve" filename="src/hb-common.h" line="457">`Mroo`, Since: 0.9.30</doc> </member> <member name="nabataean" value="1315070324" c:identifier="HB_SCRIPT_NABATAEAN" glib:nick="nabataean" glib:name="HB_SCRIPT_NABATAEAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="458">`Nbat`, Since: 0.9.30</doc> </member> <member name="old_north_arabian" value="1315009122" c:identifier="HB_SCRIPT_OLD_NORTH_ARABIAN" glib:nick="old-north-arabian" glib:name="HB_SCRIPT_OLD_NORTH_ARABIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="459">`Narb`, Since: 0.9.30</doc> </member> <member name="old_permic" value="1348825709" c:identifier="HB_SCRIPT_OLD_PERMIC" glib:nick="old-permic" glib:name="HB_SCRIPT_OLD_PERMIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="460">`Perm`, Since: 0.9.30</doc> </member> <member name="pahawh_hmong" value="1215131239" c:identifier="HB_SCRIPT_PAHAWH_HMONG" glib:nick="pahawh-hmong" glib:name="HB_SCRIPT_PAHAWH_HMONG"> <doc xml:space="preserve" filename="src/hb-common.h" line="461">`Hmng`, Since: 0.9.30</doc> </member> <member name="palmyrene" value="1348562029" c:identifier="HB_SCRIPT_PALMYRENE" glib:nick="palmyrene" glib:name="HB_SCRIPT_PALMYRENE"> <doc xml:space="preserve" filename="src/hb-common.h" line="462">`Palm`, Since: 0.9.30</doc> </member> <member name="pau_cin_hau" value="1348564323" c:identifier="HB_SCRIPT_PAU_CIN_HAU" glib:nick="pau-cin-hau" glib:name="HB_SCRIPT_PAU_CIN_HAU"> <doc xml:space="preserve" filename="src/hb-common.h" line="463">`Pauc`, Since: 0.9.30</doc> </member> <member name="psalter_pahlavi" value="1349020784" c:identifier="HB_SCRIPT_PSALTER_PAHLAVI" glib:nick="psalter-pahlavi" glib:name="HB_SCRIPT_PSALTER_PAHLAVI"> <doc xml:space="preserve" filename="src/hb-common.h" line="464">`Phlp`, Since: 0.9.30</doc> </member> <member name="siddham" value="1399415908" c:identifier="HB_SCRIPT_SIDDHAM" glib:nick="siddham" glib:name="HB_SCRIPT_SIDDHAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="465">`Sidd`, Since: 0.9.30</doc> </member> <member name="tirhuta" value="1416196712" c:identifier="HB_SCRIPT_TIRHUTA" glib:nick="tirhuta" glib:name="HB_SCRIPT_TIRHUTA"> <doc xml:space="preserve" filename="src/hb-common.h" line="466">`Tirh`, Since: 0.9.30</doc> </member> <member name="warang_citi" value="1466004065" c:identifier="HB_SCRIPT_WARANG_CITI" glib:nick="warang-citi" glib:name="HB_SCRIPT_WARANG_CITI"> <doc xml:space="preserve" filename="src/hb-common.h" line="467">`Wara`, Since: 0.9.30</doc> </member> <member name="ahom" value="1097363309" c:identifier="HB_SCRIPT_AHOM" glib:nick="ahom" glib:name="HB_SCRIPT_AHOM"> <doc xml:space="preserve" filename="src/hb-common.h" line="468">`Ahom`, Since: 0.9.30</doc> </member> <member name="anatolian_hieroglyphs" value="1215067511" c:identifier="HB_SCRIPT_ANATOLIAN_HIEROGLYPHS" glib:nick="anatolian-hieroglyphs" glib:name="HB_SCRIPT_ANATOLIAN_HIEROGLYPHS"> <doc xml:space="preserve" filename="src/hb-common.h" line="469">`Hluw`, Since: 0.9.30</doc> </member> <member name="hatran" value="1214346354" c:identifier="HB_SCRIPT_HATRAN" glib:nick="hatran" glib:name="HB_SCRIPT_HATRAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="470">`Hatr`, Since: 0.9.30</doc> </member> <member name="multani" value="1299541108" c:identifier="HB_SCRIPT_MULTANI" glib:nick="multani" glib:name="HB_SCRIPT_MULTANI"> <doc xml:space="preserve" filename="src/hb-common.h" line="471">`Mult`, Since: 0.9.30</doc> </member> <member name="old_hungarian" value="1215655527" c:identifier="HB_SCRIPT_OLD_HUNGARIAN" glib:nick="old-hungarian" glib:name="HB_SCRIPT_OLD_HUNGARIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="472">`Hung`, Since: 0.9.30</doc> </member> <member name="signwriting" value="1399287415" c:identifier="HB_SCRIPT_SIGNWRITING" glib:nick="signwriting" glib:name="HB_SCRIPT_SIGNWRITING"> <doc xml:space="preserve" filename="src/hb-common.h" line="473">`Sgnw`, Since: 0.9.30</doc> </member> <member name="adlam" value="1097100397" c:identifier="HB_SCRIPT_ADLAM" glib:nick="adlam" glib:name="HB_SCRIPT_ADLAM"> <doc xml:space="preserve" filename="src/hb-common.h" line="474">`Adlm`, Since: 1.3.0</doc> </member> <member name="bhaiksuki" value="1114139507" c:identifier="HB_SCRIPT_BHAIKSUKI" glib:nick="bhaiksuki" glib:name="HB_SCRIPT_BHAIKSUKI"> <doc xml:space="preserve" filename="src/hb-common.h" line="475">`Bhks`, Since: 1.3.0</doc> </member> <member name="marchen" value="1298231907" c:identifier="HB_SCRIPT_MARCHEN" glib:nick="marchen" glib:name="HB_SCRIPT_MARCHEN"> <doc xml:space="preserve" filename="src/hb-common.h" line="476">`Marc`, Since: 1.3.0</doc> </member> <member name="osage" value="1332963173" c:identifier="HB_SCRIPT_OSAGE" glib:nick="osage" glib:name="HB_SCRIPT_OSAGE"> <doc xml:space="preserve" filename="src/hb-common.h" line="477">`Osge`, Since: 1.3.0</doc> </member> <member name="tangut" value="1415671399" c:identifier="HB_SCRIPT_TANGUT" glib:nick="tangut" glib:name="HB_SCRIPT_TANGUT"> <doc xml:space="preserve" filename="src/hb-common.h" line="478">`Tang`, Since: 1.3.0</doc> </member> <member name="newa" value="1315272545" c:identifier="HB_SCRIPT_NEWA" glib:nick="newa" glib:name="HB_SCRIPT_NEWA"> <doc xml:space="preserve" filename="src/hb-common.h" line="479">`Newa`, Since: 1.3.0</doc> </member> <member name="masaram_gondi" value="1198485101" c:identifier="HB_SCRIPT_MASARAM_GONDI" glib:nick="masaram-gondi" glib:name="HB_SCRIPT_MASARAM_GONDI"> <doc xml:space="preserve" filename="src/hb-common.h" line="480">`Gonm`, Since: 1.6.0</doc> </member> <member name="nushu" value="1316186229" c:identifier="HB_SCRIPT_NUSHU" glib:nick="nushu" glib:name="HB_SCRIPT_NUSHU"> <doc xml:space="preserve" filename="src/hb-common.h" line="481">`Nshu`, Since: 1.6.0</doc> </member> <member name="soyombo" value="1399814511" c:identifier="HB_SCRIPT_SOYOMBO" glib:nick="soyombo" glib:name="HB_SCRIPT_SOYOMBO"> <doc xml:space="preserve" filename="src/hb-common.h" line="482">`Soyo`, Since: 1.6.0</doc> </member> <member name="zanabazar_square" value="1516334690" c:identifier="HB_SCRIPT_ZANABAZAR_SQUARE" glib:nick="zanabazar-square" glib:name="HB_SCRIPT_ZANABAZAR_SQUARE"> <doc xml:space="preserve" filename="src/hb-common.h" line="483">`Zanb`, Since: 1.6.0</doc> </member> <member name="dogra" value="1148151666" c:identifier="HB_SCRIPT_DOGRA" glib:nick="dogra" glib:name="HB_SCRIPT_DOGRA"> <doc xml:space="preserve" filename="src/hb-common.h" line="484">`Dogr`, Since: 1.8.0</doc> </member> <member name="gunjala_gondi" value="1198485095" c:identifier="HB_SCRIPT_GUNJALA_GONDI" glib:nick="gunjala-gondi" glib:name="HB_SCRIPT_GUNJALA_GONDI"> <doc xml:space="preserve" filename="src/hb-common.h" line="485">`Gong`, Since: 1.8.0</doc> </member> <member name="hanifi_rohingya" value="1383032935" c:identifier="HB_SCRIPT_HANIFI_ROHINGYA" glib:nick="hanifi-rohingya" glib:name="HB_SCRIPT_HANIFI_ROHINGYA"> <doc xml:space="preserve" filename="src/hb-common.h" line="486">`Rohg`, Since: 1.8.0</doc> </member> <member name="makasar" value="1298230113" c:identifier="HB_SCRIPT_MAKASAR" glib:nick="makasar" glib:name="HB_SCRIPT_MAKASAR"> <doc xml:space="preserve" filename="src/hb-common.h" line="487">`Maka`, Since: 1.8.0</doc> </member> <member name="medefaidrin" value="1298490470" c:identifier="HB_SCRIPT_MEDEFAIDRIN" glib:nick="medefaidrin" glib:name="HB_SCRIPT_MEDEFAIDRIN"> <doc xml:space="preserve" filename="src/hb-common.h" line="488">`Medf`, Since: 1.8.0</doc> </member> <member name="old_sogdian" value="1399809903" c:identifier="HB_SCRIPT_OLD_SOGDIAN" glib:nick="old-sogdian" glib:name="HB_SCRIPT_OLD_SOGDIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="489">`Sogo`, Since: 1.8.0</doc> </member> <member name="sogdian" value="1399809892" c:identifier="HB_SCRIPT_SOGDIAN" glib:nick="sogdian" glib:name="HB_SCRIPT_SOGDIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="490">`Sogd`, Since: 1.8.0</doc> </member> <member name="elymaic" value="1164736877" c:identifier="HB_SCRIPT_ELYMAIC" glib:nick="elymaic" glib:name="HB_SCRIPT_ELYMAIC"> <doc xml:space="preserve" filename="src/hb-common.h" line="491">`Elym`, Since: 2.4.0</doc> </member> <member name="nandinagari" value="1315008100" c:identifier="HB_SCRIPT_NANDINAGARI" glib:nick="nandinagari" glib:name="HB_SCRIPT_NANDINAGARI"> <doc xml:space="preserve" filename="src/hb-common.h" line="492">`Nand`, Since: 2.4.0</doc> </member> <member name="nyiakeng_puachue_hmong" value="1215131248" c:identifier="HB_SCRIPT_NYIAKENG_PUACHUE_HMONG" glib:nick="nyiakeng-puachue-hmong" glib:name="HB_SCRIPT_NYIAKENG_PUACHUE_HMONG"> <doc xml:space="preserve" filename="src/hb-common.h" line="493">`Hmnp`, Since: 2.4.0</doc> </member> <member name="wancho" value="1466132591" c:identifier="HB_SCRIPT_WANCHO" glib:nick="wancho" glib:name="HB_SCRIPT_WANCHO"> <doc xml:space="preserve" filename="src/hb-common.h" line="494">`Wcho`, Since: 2.4.0</doc> </member> <member name="chorasmian" value="1130918515" c:identifier="HB_SCRIPT_CHORASMIAN" glib:nick="chorasmian" glib:name="HB_SCRIPT_CHORASMIAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="495">`Chrs`, Since: 2.6.7</doc> </member> <member name="dives_akuru" value="1147756907" c:identifier="HB_SCRIPT_DIVES_AKURU" glib:nick="dives-akuru" glib:name="HB_SCRIPT_DIVES_AKURU"> <doc xml:space="preserve" filename="src/hb-common.h" line="496">`Diak`, Since: 2.6.7</doc> </member> <member name="khitan_small_script" value="1265202291" c:identifier="HB_SCRIPT_KHITAN_SMALL_SCRIPT" glib:nick="khitan-small-script" glib:name="HB_SCRIPT_KHITAN_SMALL_SCRIPT"> <doc xml:space="preserve" filename="src/hb-common.h" line="497">`Kits`, Since: 2.6.7</doc> </member> <member name="yezidi" value="1499822697" c:identifier="HB_SCRIPT_YEZIDI" glib:nick="yezidi" glib:name="HB_SCRIPT_YEZIDI"> <doc xml:space="preserve" filename="src/hb-common.h" line="498">`Yezi`, Since: 2.6.7</doc> </member> <member name="cypro_minoan" value="1131441518" c:identifier="HB_SCRIPT_CYPRO_MINOAN" glib:nick="cypro-minoan" glib:name="HB_SCRIPT_CYPRO_MINOAN"> <doc xml:space="preserve" filename="src/hb-common.h" line="499">`Cpmn`, Since: 3.0.0</doc> </member> <member name="old_uyghur" value="1333094258" c:identifier="HB_SCRIPT_OLD_UYGHUR" glib:nick="old-uyghur" glib:name="HB_SCRIPT_OLD_UYGHUR"> <doc xml:space="preserve" filename="src/hb-common.h" line="500">`Ougr`, Since: 3.0.0</doc> </member> <member name="tangsa" value="1416524641" c:identifier="HB_SCRIPT_TANGSA" glib:nick="tangsa" glib:name="HB_SCRIPT_TANGSA"> <doc xml:space="preserve" filename="src/hb-common.h" line="501">`Tnsa`, Since: 3.0.0</doc> </member> <member name="toto" value="1416590447" c:identifier="HB_SCRIPT_TOTO" glib:nick="toto" glib:name="HB_SCRIPT_TOTO"> <doc xml:space="preserve" filename="src/hb-common.h" line="502">`Toto`, Since: 3.0.0</doc> </member> <member name="vithkuqi" value="1449751656" c:identifier="HB_SCRIPT_VITHKUQI" glib:nick="vithkuqi" glib:name="HB_SCRIPT_VITHKUQI"> <doc xml:space="preserve" filename="src/hb-common.h" line="503">`Vith`, Since: 3.0.0</doc> </member> <member name="math" value="1517122664" c:identifier="HB_SCRIPT_MATH" glib:nick="math" glib:name="HB_SCRIPT_MATH"> <doc xml:space="preserve" filename="src/hb-common.h" line="504">`Zmth`, Since: 3.4.0</doc> </member> <member name="kawi" value="1264678761" c:identifier="HB_SCRIPT_KAWI" glib:nick="kawi" glib:name="HB_SCRIPT_KAWI"> <doc xml:space="preserve" filename="src/hb-common.h" line="505">`Kawi`, Since: 5.2.0</doc> </member> <member name="nag_mundari" value="1315006317" c:identifier="HB_SCRIPT_NAG_MUNDARI" glib:nick="nag-mundari" glib:name="HB_SCRIPT_NAG_MUNDARI"> <doc xml:space="preserve" filename="src/hb-common.h" line="506">`Nagm`, Since: 5.2.0</doc> </member> <member name="garay" value="1197568609" c:identifier="HB_SCRIPT_GARAY" glib:nick="garay" glib:name="HB_SCRIPT_GARAY"> <doc xml:space="preserve" filename="src/hb-common.h" line="507">`Gara`, Since: 10.0.0</doc> </member> <member name="gurung_khema" value="1198877544" c:identifier="HB_SCRIPT_GURUNG_KHEMA" glib:nick="gurung-khema" glib:name="HB_SCRIPT_GURUNG_KHEMA"> <doc xml:space="preserve" filename="src/hb-common.h" line="508">`Gukh`, Since: 10.0.0</doc> </member> <member name="kirat_rai" value="1265787241" c:identifier="HB_SCRIPT_KIRAT_RAI" glib:nick="kirat-rai" glib:name="HB_SCRIPT_KIRAT_RAI"> <doc xml:space="preserve" filename="src/hb-common.h" line="509">`Krai`, Since: 10.0.0</doc> </member> <member name="ol_onal" value="1332633967" c:identifier="HB_SCRIPT_OL_ONAL" glib:nick="ol-onal" glib:name="HB_SCRIPT_OL_ONAL"> <doc xml:space="preserve" filename="src/hb-common.h" line="510">`Onao`, Since: 10.0.0</doc> </member> <member name="sunuwar" value="1400204917" c:identifier="HB_SCRIPT_SUNUWAR" glib:nick="sunuwar" glib:name="HB_SCRIPT_SUNUWAR"> <doc xml:space="preserve" filename="src/hb-common.h" line="511">`Sunu`, Since: 10.0.0</doc> </member> <member name="todhri" value="1416586354" c:identifier="HB_SCRIPT_TODHRI" glib:nick="todhri" glib:name="HB_SCRIPT_TODHRI"> <doc xml:space="preserve" filename="src/hb-common.h" line="512">`Todr`, Since: 10.0.0</doc> </member> <member name="tulu_tigalari" value="1416983655" c:identifier="HB_SCRIPT_TULU_TIGALARI" glib:nick="tulu-tigalari" glib:name="HB_SCRIPT_TULU_TIGALARI"> <doc xml:space="preserve" filename="src/hb-common.h" line="513">`Tutg`, Since: 10.0.0</doc> </member> <member name="invalid" value="0" c:identifier="HB_SCRIPT_INVALID" glib:nick="invalid" glib:name="HB_SCRIPT_INVALID"> <doc xml:space="preserve" filename="src/hb-common.h" line="514">No script set</doc> </member> </enumeration> <function name="script_to_iso15924_tag" c:identifier="hb_script_to_iso15924_tag" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="524">Converts an #hb_script_t to a corresponding ISO 15924 script tag.</doc> <source-position filename="src/hb-common.h" line="781"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="530">An #hb_tag_t representing an ISO 15924 script tag.</doc> <type name="tag_t" c:type="hb_tag_t"/> </return-value> <parameters> <parameter name="script" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="526">an #hb_script_t to convert.</doc> <type name="script_t" c:type="hb_script_t"/> </parameter> </parameters> </function> <function name="segment_properties_equal" c:identifier="hb_segment_properties_equal" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="51">Checks the equality of two #hb_segment_properties_t's.</doc> <source-position filename="src/hb-buffer.h" line="232"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="58">`true` if all properties of @a equal those of @b, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="a" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="53">first #hb_segment_properties_t to compare.</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> <parameter name="b" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="54">second #hb_segment_properties_t to compare.</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> </parameters> </function> <function name="segment_properties_hash" c:identifier="hb_segment_properties_hash" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="75">Creates a hash representing @p.</doc> <source-position filename="src/hb-buffer.h" line="236"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="81">A hash of @p.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="p" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="77">#hb_segment_properties_t to hash.</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> </parameters> </function> <function name="segment_properties_overlay" c:identifier="hb_segment_properties_overlay" version="3.3.0"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="94">Fills in missing fields of @p from @src in a considered manner. First, if @p does not have direction set, direction is copied from @src. Next, if @p and @src have the same direction (which can be unset), if @p does not have script set, script is copied from @src. Finally, if @p and @src have the same direction and script (which either can be unset), if @p does not have language set, language is copied from @src.</doc> <source-position filename="src/hb-buffer.h" line="239"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="p" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="96">#hb_segment_properties_t to fill in.</doc> <type name="segment_properties_t" c:type="hb_segment_properties_t*"/> </parameter> <parameter name="src" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-buffer.cc" line="97">#hb_segment_properties_t to fill in from.</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> </parameters> </function> <record name="segment_properties_t" c:type="hb_segment_properties_t" glib:type-name="hb_segment_properties_t" glib:get-type="hb_gobject_segment_properties_get_type" c:symbol-prefix="gobject_segment_properties"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="201">The structure that holds various text properties of an #hb_buffer_t. Can be set and retrieved using hb_buffer_set_segment_properties() and hb_buffer_get_segment_properties(), respectively.</doc> <source-position filename="src/hb-buffer.h" line="218"/> <field name="direction" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="203">the #hb_direction_t of the buffer, see hb_buffer_set_direction().</doc> <type name="direction_t" c:type="hb_direction_t"/> </field> <field name="script" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="204">the #hb_script_t of the buffer, see hb_buffer_set_script().</doc> <type name="script_t" c:type="hb_script_t"/> </field> <field name="language" writable="1"> <doc xml:space="preserve" filename="src/hb-buffer.h" line="205">the #hb_language_t of the buffer, see hb_buffer_set_language().</doc> <type name="language_t" c:type="hb_language_t"/> </field> <field name="reserved1" readable="0" private="1"> <type name="gpointer" c:type="void*"/> </field> <field name="reserved2" readable="0" private="1"> <type name="gpointer" c:type="void*"/> </field> </record> <function name="set_add" c:identifier="hb_set_add" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="241">Adds @codepoint to @set.</doc> <source-position filename="src/hb-set.h" line="108"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="243">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="codepoint" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="244">The element to add to @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="set_add_range" c:identifier="hb_set_add_range" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="281">Adds all of the elements from @first to @last (inclusive) to @set.</doc> <source-position filename="src/hb-set.h" line="112"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="283">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="first" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="284">The first element to add to @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="last" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="285">The final element to add to @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="set_add_sorted_array" c:identifier="hb_set_add_sorted_array" version="4.1.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="258">Adds @num_codepoints codepoints to a set at once. The codepoints array must be in increasing order, with size at least @num_codepoints.</doc> <source-position filename="src/hb-set.h" line="117"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="260">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="sorted_codepoints" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="261">Array of codepoints to add</doc> <array length="2" zero-terminated="0" c:type="const hb_codepoint_t*"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </array> </parameter> <parameter name="num_codepoints" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="262">Length of @sorted_codepoints</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="set_allocation_successful" c:identifier="hb_set_allocation_successful" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="155">Tests whether memory allocation for a set was successful.</doc> <source-position filename="src/hb-set.h" line="86"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="161">`true` if allocation succeeded, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="157">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_clear" c:identifier="hb_set_clear" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="192">Clears out the contents of a set.</doc> <source-position filename="src/hb-set.h" line="92"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="194">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="set_copy" c:identifier="hb_set_copy" version="2.8.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="171">Allocate a copy of @set.</doc> <source-position filename="src/hb-set.h" line="89"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="177">Newly-allocated set.</doc> <type name="set_t" c:type="hb_set_t*"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="173">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_create" c:identifier="hb_set_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="42">Creates a new, initially empty set.</doc> <source-position filename="src/hb-set.h" line="61"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="47">The new #hb_set_t</doc> <type name="set_t" c:type="hb_set_t*"/> </return-value> </function> <function name="set_del" c:identifier="hb_set_del" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="301">Removes @codepoint from @set.</doc> <source-position filename="src/hb-set.h" line="122"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="303">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="codepoint" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="304">Removes @codepoint from @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="set_del_range" c:identifier="hb_set_del_range" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="318">Removes all of the elements from @first to @last (inclusive) from @set. If @last is #HB_SET_VALUE_INVALID, then all values greater than or equal to @first are removed.</doc> <source-position filename="src/hb-set.h" line="126"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="320">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="first" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="321">The first element to remove from @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="last" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="322">The final element to remove from @set</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="set_destroy" c:identifier="hb_set_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="93">Decreases the reference count on a set. When the reference count reaches zero, the set is destroyed, freeing all memory.</doc> <source-position filename="src/hb-set.h" line="70"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="95">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="set_get_empty" c:identifier="hb_set_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="62">Fetches the singleton empty #hb_set_t.</doc> <source-position filename="src/hb-set.h" line="64"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="67">The empty #hb_set_t</doc> <type name="set_t" c:type="hb_set_t*"/> </return-value> </function> <function name="set_get_max" c:identifier="hb_set_get_max" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="544">Finds the largest element in the set.</doc> <source-position filename="src/hb-set.h" line="170"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="550">maximum of @set, or #HB_SET_VALUE_INVALID if @set is empty.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="546">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_get_min" c:identifier="hb_set_get_min" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="528">Finds the smallest element in the set.</doc> <source-position filename="src/hb-set.h" line="166"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="534">minimum of @set, or #HB_SET_VALUE_INVALID if @set is empty.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="530">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_get_population" c:identifier="hb_set_get_population" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="512">Returns the number of elements in the set.</doc> <source-position filename="src/hb-set.h" line="162"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="518">The population of @set</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="514">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_get_user_data" c:identifier="hb_set_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="135">Fetches the user data associated with the specified key, attached to the specified set.</doc> <source-position filename="src/hb-set.h" line="80"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-set.cc" line="143">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="137">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="138">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="set_has" c:identifier="hb_set_has" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="223">Tests whether @codepoint belongs to @set.</doc> <source-position filename="src/hb-set.h" line="104"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="230">`true` if @codepoint is in @set, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="225">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="codepoint" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="226">The element to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <function name="set_hash" c:identifier="hb_set_hash" version="4.4.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="360">Creates a hash representing @set.</doc> <source-position filename="src/hb-set.h" line="135"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="366">A hash of @set.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="362">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_intersect" c:identifier="hb_set_intersect" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="429">Makes @set the intersection of @set and @other.</doc> <source-position filename="src/hb-set.h" line="150"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="431">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="432">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_invert" c:identifier="hb_set_invert" version="3.0.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="481">Inverts the contents of @set.</doc> <source-position filename="src/hb-set.h" line="98"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="483">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="set_is_empty" c:identifier="hb_set_is_empty" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="207">Tests whether a set is empty (contains no elements).</doc> <source-position filename="src/hb-set.h" line="95"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="213">`true` if @set is empty</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="209">a set.</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_is_equal" c:identifier="hb_set_is_equal" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="341">Tests whether @set and @other are equal (contain the same elements).</doc> <source-position filename="src/hb-set.h" line="131"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="349">`true` if the two sets are equal, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="343">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="344">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_is_inverted" c:identifier="hb_set_is_inverted" version="7.0.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="496">Returns whether the set is inverted.</doc> <source-position filename="src/hb-set.h" line="101"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="502">`true` if the set is inverted, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="498">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_is_subset" c:identifier="hb_set_is_subset" version="1.8.1"> <doc xml:space="preserve" filename="src/hb-set.cc" line="377">Tests whether @set is a subset of @larger_set.</doc> <source-position filename="src/hb-set.h" line="138"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="384">`true` if the @set is a subset of (or equal to) @larger_set, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="379">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="larger_set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="380">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_next" c:identifier="hb_set_next" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="560">Fetches the next element in @set that is greater than current value of @codepoint. Set @codepoint to #HB_SET_VALUE_INVALID to get started.</doc> <source-position filename="src/hb-set.h" line="174"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="570">`true` if there was a next value, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="562">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="codepoint" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="563">Input = Code point to query Output = Code point retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="set_next_many" c:identifier="hb_set_next_many" version="4.2.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="650">Finds the next element in @set that is greater than @codepoint. Writes out codepoints to @out, until either the set runs out of elements, or @size codepoints are written, whichever comes first.</doc> <source-position filename="src/hb-set.h" line="196"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="662">the number of values written.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="652">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="codepoint" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="653">Outputting codepoints starting after this one. Use #HB_SET_VALUE_INVALID to get started.</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="out" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="655">An array of codepoints to write to.</doc> <array length="3" zero-terminated="0" c:type="hb_codepoint_t*"> <type name="codepoint_t" c:type="hb_codepoint_t"/> </array> </parameter> <parameter name="size" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="656">The maximum number of codepoints to write out.</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="set_next_range" c:identifier="hb_set_next_range" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-set.cc" line="602">Fetches the next consecutive range of elements in @set that are greater than current value of @last. Set @last to #HB_SET_VALUE_INVALID to get started.</doc> <source-position filename="src/hb-set.h" line="184"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="614">`true` if there was a next range, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="604">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="first" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="605">The first code point in the range</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="last" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="606">Input = The current last code point in the range Output = The last code point in the range</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="set_previous" c:identifier="hb_set_previous" version="1.8.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="581">Fetches the previous element in @set that is lower than current value of @codepoint. Set @codepoint to #HB_SET_VALUE_INVALID to get started.</doc> <source-position filename="src/hb-set.h" line="179"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="591">`true` if there was a previous value, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="583">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="codepoint" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="584">Input = Code point to query Output = Code point retrieved</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="set_previous_range" c:identifier="hb_set_previous_range" version="1.8.0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="626">Fetches the previous consecutive range of elements in @set that are greater than current value of @last. Set @first to #HB_SET_VALUE_INVALID to get started.</doc> <source-position filename="src/hb-set.h" line="190"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="638">`true` if there was a previous range, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="628">A set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> <parameter name="first" direction="inout" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="629">Input = The current first code point in the range Output = The first code point in the range</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="last" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="631">The last code point in the range</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="set_reference" c:identifier="hb_set_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="77">Increases the reference count on a set.</doc> <source-position filename="src/hb-set.h" line="67"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-set.cc" line="83">The set</doc> <type name="set_t" c:type="hb_set_t*"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="79">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> </parameters> </function> <function name="set_set" c:identifier="hb_set_set" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="395">Makes the contents of @set equal to the contents of @other.</doc> <source-position filename="src/hb-set.h" line="142"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="397">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="398">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_set_user_data" c:identifier="hb_set_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-set.cc" line="111">Attaches a user-data key/data pair to the specified set.</doc> <source-position filename="src/hb-set.h" line="73"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="121">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="113">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="114">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-set.cc" line="115">A pointer to the user data to set</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-set.cc" line="116">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="117">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <function name="set_subtract" c:identifier="hb_set_subtract" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="446">Subtracts the contents of @other from @set.</doc> <source-position filename="src/hb-set.h" line="154"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="448">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="449">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="set_symmetric_difference" c:identifier="hb_set_symmetric_difference" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="463">Makes @set the symmetric difference of @set and @other.</doc> <source-position filename="src/hb-set.h" line="158"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="465">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="466">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <record name="set_t" c:type="hb_set_t" opaque="1" glib:type-name="hb_set_t" glib:get-type="hb_gobject_set_get_type" c:symbol-prefix="gobject_set"> <doc xml:space="preserve" filename="src/hb-set.h" line="48">Data type for holding a set of integers. #hb_set_t's are used to gather and contain glyph IDs, Unicode code points, and various other collections of discrete values.</doc> <source-position filename="src/hb-set.h" line="57"/> </record> <function name="set_union" c:identifier="hb_set_union" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-set.cc" line="412">Makes @set the union of @set and @other.</doc> <source-position filename="src/hb-set.h" line="146"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="set" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="414">A set</doc> <type name="set_t" c:type="hb_set_t*"/> </parameter> <parameter name="other" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-set.cc" line="415">Another set</doc> <type name="set_t" c:type="const hb_set_t*"/> </parameter> </parameters> </function> <function name="shape" c:identifier="hb_shape" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="173">Shapes @buffer using @font turning its Unicode characters content to positioned glyphs. If @features is not `NULL`, it will be used to control the features applied during shaping. If two @features have the same tag but overlapping ranges the value of the feature with the higher index takes precedence.</doc> <source-position filename="src/hb-shape.h" line="44"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="175">an #hb_font_t to use for shaping</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="176">an #hb_buffer_t to shape</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="features" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="177">an array of user specified #hb_feature_t or `NULL`</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="179">the length of @features array</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="shape_full" c:identifier="hb_shape_full" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="106">See hb_shape() for details. If @shaper_list is not `NULL`, the specified shapers will be used in the given order, otherwise the default shapers list will be used.</doc> <source-position filename="src/hb-shape.h" line="50"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="120">false if all shapers failed, true otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="108">an #hb_font_t to use for shaping</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="109">an #hb_buffer_t to shape</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="features" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="110">an array of user specified #hb_feature_t or `NULL`</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="112">the length of @features array</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="shaper_list" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="113">a `NULL`-terminated array of shapers to use or `NULL`</doc> <array c:type="const char* const*"> <type name="utf8" c:type="char*"/> </array> </parameter> </parameters> </function> <function name="shape_list_shapers" c:identifier="hb_shape_list_shapers" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="89">Retrieves the list of shapers supported by HarfBuzz.</doc> <source-position filename="src/hb-shape.h" line="71"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape.cc" line="94">an array of constant strings</doc> <array c:type="const char**"> <type name="utf8"/> </array> </return-value> </function> <function name="shape_plan_create" c:identifier="hb_shape_plan_create" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="174">Constructs a shaping plan for a combination of @face, @user_features, @props, and @shaper_list.</doc> <source-position filename="src/hb-shape-plan.h" line="56"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="185">The shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="176">#hb_face_t to use</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="props" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="177">The #hb_segment_properties_t of the segment</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> <parameter name="user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="178">The list of user-selected features</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="179">The number of user-selected features</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="shaper_list" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="180">List of shapers to try</doc> <array c:type="const char* const*"> <type name="utf8" c:type="char*"/> </array> </parameter> </parameters> </function> <function name="shape_plan_create2" c:identifier="hb_shape_plan_create2" version="1.4.0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="202">The variable-font version of #hb_shape_plan_create. Constructs a shaping plan for a combination of @face, @user_features, @props, and @shaper_list, plus the variation-space coordinates @coords.</doc> <source-position filename="src/hb-shape-plan.h" line="70"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="216">The shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="204">#hb_face_t to use</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="props" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="205">The #hb_segment_properties_t of the segment</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> <parameter name="user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="206">The list of user-selected features</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="207">The number of user-selected features</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="208">The list of variation-space coordinates</doc> <array length="5" zero-terminated="0" c:type="const int*"> <type name="gint" c:type="int"/> </array> </parameter> <parameter name="num_coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="209">The number of variation-space coordinates</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="shaper_list" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="210">List of shapers to try</doc> <array c:type="const char* const*"> <type name="utf8" c:type="char*"/> </array> </parameter> </parameters> </function> <function name="shape_plan_create_cached" c:identifier="hb_shape_plan_create_cached" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="466">Creates a cached shaping plan suitable for reuse, for a combination of @face, @user_features, @props, and @shaper_list.</doc> <source-position filename="src/hb-shape-plan.h" line="63"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="477">The shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="468">#hb_face_t to use</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="props" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="469">The #hb_segment_properties_t of the segment</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> <parameter name="user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="470">The list of user-selected features</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="471">The number of user-selected features</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="shaper_list" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="472">List of shapers to try</doc> <array c:type="const char* const*"> <type name="utf8" c:type="char*"/> </array> </parameter> </parameters> </function> <function name="shape_plan_create_cached2" c:identifier="hb_shape_plan_create_cached2" version="1.4.0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="494">The variable-font version of #hb_shape_plan_create_cached. Creates a cached shaping plan suitable for reuse, for a combination of @face, @user_features, @props, and @shaper_list, plus the variation-space coordinates @coords.</doc> <source-position filename="src/hb-shape-plan.h" line="79"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="509">The shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> <parameters> <parameter name="face" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="496">#hb_face_t to use</doc> <type name="face_t" c:type="hb_face_t*"/> </parameter> <parameter name="props" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="497">The #hb_segment_properties_t of the segment</doc> <type name="segment_properties_t" c:type="const hb_segment_properties_t*"/> </parameter> <parameter name="user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="498">The list of user-selected features</doc> <array length="3" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_user_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="499">The number of user-selected features</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="500">The list of variation-space coordinates</doc> <array length="5" zero-terminated="0" c:type="const int*"> <type name="gint" c:type="int"/> </array> </parameter> <parameter name="num_coords" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="501">The number of variation-space coordinates</doc> <type name="guint" c:type="unsigned int"/> </parameter> <parameter name="shaper_list" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="502">List of shapers to try</doc> <array c:type="const char* const*"> <type name="utf8" c:type="char*"/> </array> </parameter> </parameters> </function> <function name="shape_plan_destroy" c:identifier="hb_shape_plan_destroy" version="0.9.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="308">Decreases the reference count on the given shaping plan. When the reference count reaches zero, the shaping plan is destroyed, freeing all memory.</doc> <source-position filename="src/hb-shape-plan.h" line="95"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="310">A shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> </parameters> </function> <function name="shape_plan_execute" c:identifier="hb_shape_plan_execute" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="430">Executes the given shaping plan on the specified buffer, using the given @font and @features.</doc> <source-position filename="src/hb-shape-plan.h" line="110"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="441">`true` if success, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="432">A shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="433">The #hb_font_t to use</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="buffer" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="434">The #hb_buffer_t to work upon</doc> <type name="buffer_t" c:type="hb_buffer_t*"/> </parameter> <parameter name="features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="435">Features to enable</doc> <array length="4" zero-terminated="0" c:type="const hb_feature_t*"> <type name="feature_t" c:type="hb_feature_t"/> </array> </parameter> <parameter name="num_features" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="436">The number of features to enable</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> <function name="shape_plan_get_empty" c:identifier="hb_shape_plan_get_empty" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="277">Fetches the singleton empty shaping plan.</doc> <source-position filename="src/hb-shape-plan.h" line="89"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="282">The empty shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> </function> <function name="shape_plan_get_shaper" c:identifier="hb_shape_plan_get_shaper" version="0.9.7"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="369">Fetches the shaper from a given shaping plan.</doc> <source-position filename="src/hb-shape-plan.h" line="117"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="375">The shaper</doc> <type name="utf8" c:type="const char*"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="371">A shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> </parameters> </function> <function name="shape_plan_get_user_data" c:identifier="hb_shape_plan_get_user_data" version="0.9.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="350">Fetches the user data associated with the specified key, attached to the specified shaping plan.</doc> <source-position filename="src/hb-shape-plan.h" line="105"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="358">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="352">A shaping plan</doc> <type name="shape_plan_t" c:type="const hb_shape_plan_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="353">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="shape_plan_reference" c:identifier="hb_shape_plan_reference" version="0.9.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="292">Increases the reference count on the given shaping plan.</doc> <source-position filename="src/hb-shape-plan.h" line="92"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="298">@shape_plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="294">A shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> </parameters> </function> <function name="shape_plan_set_user_data" c:identifier="hb_shape_plan_set_user_data" version="0.9.7" introspectable="0"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="326">Attaches a user-data key/data pair to the given shaping plan.</doc> <source-position filename="src/hb-shape-plan.h" line="98"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="336">`true` if success, `false` otherwise.</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="shape_plan" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="328">A shaping plan</doc> <type name="shape_plan_t" c:type="hb_shape_plan_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="329">The user-data key to set</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="330">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="331">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-shape-plan.cc" line="332">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="shape_plan_t" c:type="hb_shape_plan_t" opaque="1" glib:type-name="hb_shape_plan_t" glib:get-type="hb_gobject_shape_plan_get_type" c:symbol-prefix="gobject_shape_plan"> <doc xml:space="preserve" filename="src/hb-shape-plan.h" line="39">Data type for holding a shaping plan. Shape plans contain information about how HarfBuzz will shape a particular text segment, based on the segment's properties and the capabilities in the font face in use. Shape plans can be queried about how shaping will perform, given a set of specific input parameters (script, language, direction, features, etc.).</doc> <source-position filename="src/hb-shape-plan.h" line="53"/> </record> <function name="style_get_value" c:identifier="hb_style_get_value" version="3.0.0"> <doc xml:space="preserve" filename="src/hb-style.cc" line="58">Searches variation axes of a #hb_font_t object for a specific axis first, if not set, first tries to get default style values in `STAT` table then tries to polyfill from different tables of the font.</doc> <source-position filename="src/hb-style.h" line="77"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-style.cc" line="67">Corresponding axis or default value to a style tag.</doc> <type name="gfloat" c:type="float"/> </return-value> <parameters> <parameter name="font" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-style.cc" line="60">a #hb_font_t object.</doc> <type name="font_t" c:type="hb_font_t*"/> </parameter> <parameter name="style_tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-style.cc" line="61">a style tag.</doc> <type name="style_tag_t" c:type="hb_style_tag_t"/> </parameter> </parameters> </function> <enumeration name="style_tag_t" version="3.0.0" glib:type-name="hb_style_tag_t" glib:get-type="hb_gobject_style_tag_get_type" c:type="hb_style_tag_t"> <doc xml:space="preserve" filename="src/hb-style.h" line="36">Defined by [OpenType Design-Variation Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).</doc> <member name="italic" value="1769234796" c:identifier="HB_STYLE_TAG_ITALIC" glib:nick="italic" glib:name="HB_STYLE_TAG_ITALIC"> <doc xml:space="preserve" filename="src/hb-style.h" line="38">Used to vary between non-italic and italic. A value of 0 can be interpreted as "Roman" (non-italic); a value of 1 can be interpreted as (fully) italic.</doc> </member> <member name="optical_size" value="1869640570" c:identifier="HB_STYLE_TAG_OPTICAL_SIZE" glib:nick="optical-size" glib:name="HB_STYLE_TAG_OPTICAL_SIZE"> <doc xml:space="preserve" filename="src/hb-style.h" line="41">Used to vary design to suit different text sizes. Non-zero. Values can be interpreted as text size, in points.</doc> </member> <member name="slant_angle" value="1936486004" c:identifier="HB_STYLE_TAG_SLANT_ANGLE" glib:nick="slant-angle" glib:name="HB_STYLE_TAG_SLANT_ANGLE"> <doc xml:space="preserve" filename="src/hb-style.h" line="43">Used to vary between upright and slanted text. Values must be greater than -90 and less than +90. Values can be interpreted as the angle, in counter-clockwise degrees, of oblique slant from whatever the designer considers to be upright for that font design. Typical right-leaning Italic fonts have a negative slant angle (typically around -12)</doc> </member> <member name="slant_ratio" value="1399615092" c:identifier="HB_STYLE_TAG_SLANT_RATIO" glib:nick="slant-ratio" glib:name="HB_STYLE_TAG_SLANT_RATIO"> <doc xml:space="preserve" filename="src/hb-style.h" line="48">same as @HB_STYLE_TAG_SLANT_ANGLE expression as ratio. Typical right-leaning Italic fonts have a positive slant ratio (typically around 0.2)</doc> </member> <member name="width" value="2003072104" c:identifier="HB_STYLE_TAG_WIDTH" glib:nick="width" glib:name="HB_STYLE_TAG_WIDTH"> <doc xml:space="preserve" filename="src/hb-style.h" line="50">Used to vary width of text from narrower to wider. Non-zero. Values can be interpreted as a percentage of whatever the font designer considers “normal width” for that font design.</doc> </member> <member name="weight" value="2003265652" c:identifier="HB_STYLE_TAG_WEIGHT" glib:nick="weight" glib:name="HB_STYLE_TAG_WEIGHT"> <doc xml:space="preserve" filename="src/hb-style.h" line="53">Used to vary stroke thicknesses or other design details to give variation from lighter to blacker. Values can be interpreted in direct comparison to values for usWeightClass in the OS/2 table, or the CSS font-weight property.</doc> </member> </enumeration> <function name="tag_from_string" c:identifier="hb_tag_from_string" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="82">Converts a string into an #hb_tag_t. Valid tags are four characters. Shorter input strings will be padded with spaces. Longer input strings will be truncated.</doc> <source-position filename="src/hb-common.h" line="214"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="92">The #hb_tag_t corresponding to @str</doc> <type name="tag_t" c:type="hb_tag_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="84">String to convert</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="85">Length of @str, or -1 if it is `NULL`-terminated</doc> <type name="gint" c:type="int"/> </parameter> </parameters> </function> <function name="tag_to_string" c:identifier="hb_tag_to_string" version="0.9.5"> <doc xml:space="preserve" filename="src/hb-common.cc" line="115">Converts an #hb_tag_t to a string and returns it in @buf. Strings will be four characters long.</doc> <source-position filename="src/hb-common.h" line="218"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="tag" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="117">#hb_tag_t to convert</doc> <type name="tag_t" c:type="hb_tag_t"/> </parameter> <parameter name="buf" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="118">Converted string</doc> <array zero-terminated="0" c:type="char*" fixed-size="4"> <type name="guint8"/> </array> </parameter> </parameters> </function> <function name="unicode_combining_class" c:identifier="hb_unicode_combining_class" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="565">Retrieves the Canonical Combining Class (ccc) property of code point @unicode.</doc> <source-position filename="src/hb-unicode.h" line="578"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="573">The #hb_unicode_combining_class_t of @unicode</doc> <type name="unicode_combining_class_t" c:type="hb_unicode_combining_class_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="567">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="568">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <callback name="unicode_combining_class_func_t" c:type="hb_unicode_combining_class_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="340">A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the Canonical Combining Class (ccc) property for a specified Unicode code point.</doc> <source-position filename="src/hb-unicode.h" line="354"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="351">The #hb_unicode_combining_class_t of @unicode</doc> <type name="unicode_combining_class_t" c:type="hb_unicode_combining_class_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="342">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="343">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="344">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <enumeration name="unicode_combining_class_t" glib:type-name="hb_unicode_combining_class_t" glib:get-type="hb_gobject_unicode_combining_class_get_type" c:type="hb_unicode_combining_class_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="125">Data type for the Canonical_Combining_Class (ccc) property from the Unicode Character Database. <note>Note: newer versions of Unicode may add new values. Client programs should be ready to handle any value in the 0..254 range being returned from hb_unicode_combining_class().</note></doc> <member name="not_reordered" value="0" c:identifier="HB_UNICODE_COMBINING_CLASS_NOT_REORDERED" glib:nick="not-reordered" glib:name="HB_UNICODE_COMBINING_CLASS_NOT_REORDERED"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="127">Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing</doc> </member> <member name="overlay" value="1" c:identifier="HB_UNICODE_COMBINING_CLASS_OVERLAY" glib:nick="overlay" glib:name="HB_UNICODE_COMBINING_CLASS_OVERLAY"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="128">Marks which overlay a base letter or symbol</doc> </member> <member name="nukta" value="7" c:identifier="HB_UNICODE_COMBINING_CLASS_NUKTA" glib:nick="nukta" glib:name="HB_UNICODE_COMBINING_CLASS_NUKTA"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="129">Diacritic nukta marks in Brahmi-derived scripts</doc> </member> <member name="kana_voicing" value="8" c:identifier="HB_UNICODE_COMBINING_CLASS_KANA_VOICING" glib:nick="kana-voicing" glib:name="HB_UNICODE_COMBINING_CLASS_KANA_VOICING"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="130">Hiragana/Katakana voicing marks</doc> </member> <member name="virama" value="9" c:identifier="HB_UNICODE_COMBINING_CLASS_VIRAMA" glib:nick="virama" glib:name="HB_UNICODE_COMBINING_CLASS_VIRAMA"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="131">Viramas</doc> </member> <member name="ccc10" value="10" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC10" glib:nick="ccc10" glib:name="HB_UNICODE_COMBINING_CLASS_CCC10"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="132">[Hebrew]</doc> </member> <member name="ccc11" value="11" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC11" glib:nick="ccc11" glib:name="HB_UNICODE_COMBINING_CLASS_CCC11"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="133">[Hebrew]</doc> </member> <member name="ccc12" value="12" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC12" glib:nick="ccc12" glib:name="HB_UNICODE_COMBINING_CLASS_CCC12"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="134">[Hebrew]</doc> </member> <member name="ccc13" value="13" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC13" glib:nick="ccc13" glib:name="HB_UNICODE_COMBINING_CLASS_CCC13"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="135">[Hebrew]</doc> </member> <member name="ccc14" value="14" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC14" glib:nick="ccc14" glib:name="HB_UNICODE_COMBINING_CLASS_CCC14"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="136">[Hebrew]</doc> </member> <member name="ccc15" value="15" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC15" glib:nick="ccc15" glib:name="HB_UNICODE_COMBINING_CLASS_CCC15"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="137">[Hebrew]</doc> </member> <member name="ccc16" value="16" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC16" glib:nick="ccc16" glib:name="HB_UNICODE_COMBINING_CLASS_CCC16"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="138">[Hebrew]</doc> </member> <member name="ccc17" value="17" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC17" glib:nick="ccc17" glib:name="HB_UNICODE_COMBINING_CLASS_CCC17"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="139">[Hebrew]</doc> </member> <member name="ccc18" value="18" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC18" glib:nick="ccc18" glib:name="HB_UNICODE_COMBINING_CLASS_CCC18"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="140">[Hebrew]</doc> </member> <member name="ccc19" value="19" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC19" glib:nick="ccc19" glib:name="HB_UNICODE_COMBINING_CLASS_CCC19"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="141">[Hebrew]</doc> </member> <member name="ccc20" value="20" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC20" glib:nick="ccc20" glib:name="HB_UNICODE_COMBINING_CLASS_CCC20"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="142">[Hebrew]</doc> </member> <member name="ccc21" value="21" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC21" glib:nick="ccc21" glib:name="HB_UNICODE_COMBINING_CLASS_CCC21"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="143">[Hebrew]</doc> </member> <member name="ccc22" value="22" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC22" glib:nick="ccc22" glib:name="HB_UNICODE_COMBINING_CLASS_CCC22"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="144">[Hebrew]</doc> </member> <member name="ccc23" value="23" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC23" glib:nick="ccc23" glib:name="HB_UNICODE_COMBINING_CLASS_CCC23"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="145">[Hebrew]</doc> </member> <member name="ccc24" value="24" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC24" glib:nick="ccc24" glib:name="HB_UNICODE_COMBINING_CLASS_CCC24"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="146">[Hebrew]</doc> </member> <member name="ccc25" value="25" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC25" glib:nick="ccc25" glib:name="HB_UNICODE_COMBINING_CLASS_CCC25"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="147">[Hebrew]</doc> </member> <member name="ccc26" value="26" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC26" glib:nick="ccc26" glib:name="HB_UNICODE_COMBINING_CLASS_CCC26"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="148">[Hebrew]</doc> </member> <member name="ccc27" value="27" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC27" glib:nick="ccc27" glib:name="HB_UNICODE_COMBINING_CLASS_CCC27"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="149">[Arabic]</doc> </member> <member name="ccc28" value="28" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC28" glib:nick="ccc28" glib:name="HB_UNICODE_COMBINING_CLASS_CCC28"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="150">[Arabic]</doc> </member> <member name="ccc29" value="29" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC29" glib:nick="ccc29" glib:name="HB_UNICODE_COMBINING_CLASS_CCC29"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="151">[Arabic]</doc> </member> <member name="ccc30" value="30" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC30" glib:nick="ccc30" glib:name="HB_UNICODE_COMBINING_CLASS_CCC30"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="152">[Arabic]</doc> </member> <member name="ccc31" value="31" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC31" glib:nick="ccc31" glib:name="HB_UNICODE_COMBINING_CLASS_CCC31"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="153">[Arabic]</doc> </member> <member name="ccc32" value="32" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC32" glib:nick="ccc32" glib:name="HB_UNICODE_COMBINING_CLASS_CCC32"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="154">[Arabic]</doc> </member> <member name="ccc33" value="33" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC33" glib:nick="ccc33" glib:name="HB_UNICODE_COMBINING_CLASS_CCC33"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="155">[Arabic]</doc> </member> <member name="ccc34" value="34" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC34" glib:nick="ccc34" glib:name="HB_UNICODE_COMBINING_CLASS_CCC34"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="156">[Arabic]</doc> </member> <member name="ccc35" value="35" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC35" glib:nick="ccc35" glib:name="HB_UNICODE_COMBINING_CLASS_CCC35"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="157">[Arabic]</doc> </member> <member name="ccc36" value="36" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC36" glib:nick="ccc36" glib:name="HB_UNICODE_COMBINING_CLASS_CCC36"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="158">[Syriac]</doc> </member> <member name="ccc84" value="84" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC84" glib:nick="ccc84" glib:name="HB_UNICODE_COMBINING_CLASS_CCC84"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="159">[Telugu]</doc> </member> <member name="ccc91" value="91" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC91" glib:nick="ccc91" glib:name="HB_UNICODE_COMBINING_CLASS_CCC91"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="160">[Telugu]</doc> </member> <member name="ccc103" value="103" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC103" glib:nick="ccc103" glib:name="HB_UNICODE_COMBINING_CLASS_CCC103"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="161">[Thai]</doc> </member> <member name="ccc107" value="107" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC107" glib:nick="ccc107" glib:name="HB_UNICODE_COMBINING_CLASS_CCC107"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="162">[Thai]</doc> </member> <member name="ccc118" value="118" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC118" glib:nick="ccc118" glib:name="HB_UNICODE_COMBINING_CLASS_CCC118"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="163">[Lao]</doc> </member> <member name="ccc122" value="122" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC122" glib:nick="ccc122" glib:name="HB_UNICODE_COMBINING_CLASS_CCC122"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="164">[Lao]</doc> </member> <member name="ccc129" value="129" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC129" glib:nick="ccc129" glib:name="HB_UNICODE_COMBINING_CLASS_CCC129"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="165">[Tibetan]</doc> </member> <member name="ccc130" value="130" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC130" glib:nick="ccc130" glib:name="HB_UNICODE_COMBINING_CLASS_CCC130"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="166">[Tibetan]</doc> </member> <member name="ccc132" value="132" c:identifier="HB_UNICODE_COMBINING_CLASS_CCC132" glib:nick="ccc132" glib:name="HB_UNICODE_COMBINING_CLASS_CCC132"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="167">[Tibetan] Since: 7.2.0</doc> </member> <member name="attached_below_left" value="200" c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT" glib:nick="attached-below-left" glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="168">Marks attached at the bottom left</doc> </member> <member name="attached_below" value="202" c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW" glib:nick="attached-below" glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="169">Marks attached directly below</doc> </member> <member name="attached_above" value="214" c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE" glib:nick="attached-above" glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="170">Marks attached directly above</doc> </member> <member name="attached_above_right" value="216" c:identifier="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT" glib:nick="attached-above-right" glib:name="HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="171">Marks attached at the top right</doc> </member> <member name="below_left" value="218" c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW_LEFT" glib:nick="below-left" glib:name="HB_UNICODE_COMBINING_CLASS_BELOW_LEFT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="172">Distinct marks at the bottom left</doc> </member> <member name="below" value="220" c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW" glib:nick="below" glib:name="HB_UNICODE_COMBINING_CLASS_BELOW"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="173">Distinct marks directly below</doc> </member> <member name="below_right" value="222" c:identifier="HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT" glib:nick="below-right" glib:name="HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="174">Distinct marks at the bottom right</doc> </member> <member name="left" value="224" c:identifier="HB_UNICODE_COMBINING_CLASS_LEFT" glib:nick="left" glib:name="HB_UNICODE_COMBINING_CLASS_LEFT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="175">Distinct marks to the left</doc> </member> <member name="right" value="226" c:identifier="HB_UNICODE_COMBINING_CLASS_RIGHT" glib:nick="right" glib:name="HB_UNICODE_COMBINING_CLASS_RIGHT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="176">Distinct marks to the right</doc> </member> <member name="above_left" value="228" c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT" glib:nick="above-left" glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="177">Distinct marks at the top left</doc> </member> <member name="above" value="230" c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE" glib:nick="above" glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="178">Distinct marks directly above</doc> </member> <member name="above_right" value="232" c:identifier="HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT" glib:nick="above-right" glib:name="HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="179">Distinct marks at the top right</doc> </member> <member name="double_below" value="233" c:identifier="HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW" glib:nick="double-below" glib:name="HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="180">Distinct marks subtending two bases</doc> </member> <member name="double_above" value="234" c:identifier="HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE" glib:nick="double-above" glib:name="HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="181">Distinct marks extending above two bases</doc> </member> <member name="iota_subscript" value="240" c:identifier="HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT" glib:nick="iota-subscript" glib:name="HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="182">Greek iota subscript only</doc> </member> <member name="invalid" value="255" c:identifier="HB_UNICODE_COMBINING_CLASS_INVALID" glib:nick="invalid" glib:name="HB_UNICODE_COMBINING_CLASS_INVALID"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="183">Invalid combining class</doc> </member> </enumeration> <function name="unicode_compose" c:identifier="hb_unicode_compose" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="421">Fetches the composition of a sequence of two Unicode code points. Calls the composition function of the specified Unicode-functions structure @ufuncs.</doc> <source-position filename="src/hb-unicode.h" line="630"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="434">`true` if @a and @b composed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="423">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="a" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="424">The first Unicode code point to compose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="b" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="425">The second Unicode code point to compose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="ab" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="426">The composition of @a, @b</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <callback name="unicode_compose_func_t" c:type="hb_unicode_compose_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="416">A virtual method for the #hb_unicode_funcs_t structure. This method should compose a sequence of two input Unicode code points by canonical equivalence, returning the composed code point in a #hb_codepoint_t output parameter (if successful). The method must return an #hb_bool_t indicating the success of the composition.</doc> <source-position filename="src/hb-unicode.h" line="435"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="432">`true` is @a,@b composed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="418">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="a" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="419">The first code point to compose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="b" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="420">The second code point to compose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="ab" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="421">The composed code point</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="422">user data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="unicode_decompose" c:identifier="hb_unicode_decompose" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="447">Fetches the decomposition of a Unicode code point. Calls the decomposition function of the specified Unicode-functions structure @ufuncs.</doc> <source-position filename="src/hb-unicode.h" line="636"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="459">`true` if @ab was decomposed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="449">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="ab" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="450">Unicode code point to decompose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="a" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="451">The first code point of the decomposition of @ab</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="b" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="452">The second code point of the decomposition of @ab</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <function name="unicode_decompose_compatibility" c:identifier="hb_unicode_decompose_compatibility" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="473">Fetches the compatibility decomposition of a Unicode code point. Deprecated.</doc> <source-position filename="src/hb-deprecated.h" line="221"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="482">length of @decomposed.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="475">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="u" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="476">Code point to decompose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="decomposed" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="477">Compatibility decomposition of @u</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> </parameters> </function> <callback name="unicode_decompose_compatibility_func_t" c:type="hb_unicode_decompose_compatibility_func_t" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="167">Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed. The complete length of the decomposition will be returned. If @u has no compatibility decomposition, zero should be returned. The Unicode standard guarantees that a buffer of length #HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any compatibility decomposition plus an terminating value of 0. Consequently, @decompose must be allocated by the caller to be at least this length. Implementations of this function type must ensure that they do not write past the provided array.</doc> <source-position filename="src/hb-deprecated.h" line="187"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="183">number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available.</doc> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="169">a Unicode function structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="u" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="170">codepoint to decompose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="decomposed" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="171">address of codepoint array (of length #HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="172">user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func()</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <callback name="unicode_decompose_func_t" c:type="hb_unicode_decompose_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="441">A virtual method for the #hb_unicode_funcs_t structure. This method should decompose an input Unicode code point, returning the two decomposed code points in #hb_codepoint_t output parameters (if successful). The method must return an #hb_bool_t indicating the success of the composition.</doc> <source-position filename="src/hb-unicode.h" line="459"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="456">`true` if @ab decomposed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="443">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="ab" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="444">The code point to decompose</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="a" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="445">The first decomposed code point</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="b" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="446">The second decomposed code point</doc> <type name="codepoint_t" c:type="hb_codepoint_t*"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="4"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="447">user data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="unicode_eastasian_width" c:identifier="hb_unicode_eastasian_width" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="152">Don't use. Not used by HarfBuzz.</doc> <source-position filename="src/hb-deprecated.h" line="163"/> <return-value transfer-ownership="none"> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="154">a Unicode-function structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="155">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <callback name="unicode_eastasian_width_func_t" c:type="hb_unicode_eastasian_width_func_t" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="121">A virtual method for the #hb_unicode_funcs_t structure.</doc> <source-position filename="src/hb-deprecated.h" line="131"/> <return-value transfer-ownership="none"> <type name="guint" c:type="unsigned int"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="123">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="124">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="125">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="unicode_funcs_create" c:identifier="hb_unicode_funcs_create" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="171">Creates a new #hb_unicode_funcs_t structure of Unicode functions.</doc> <source-position filename="src/hb-unicode.h" line="300"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="177">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> <parameters> <parameter name="parent" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="173">Parent Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_destroy" c:identifier="hb_unicode_funcs_destroy" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="249">Decreases the reference count on a Unicode-functions structure. When the reference count reaches zero, the Unicode-functions structure is destroyed, freeing all memory.</doc> <source-position filename="src/hb-unicode.h" line="309"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="251">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_get_default" c:identifier="hb_unicode_funcs_get_default" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="141">Fetches a pointer to the default Unicode-functions structure that is used when no functions are explicitly set on #hb_buffer_t.</doc> <source-position filename="src/hb-unicode.h" line="296"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="147">a pointer to the #hb_unicode_funcs_t Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> </function> <function name="unicode_funcs_get_empty" c:identifier="hb_unicode_funcs_get_empty" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="218">Fetches the singleton empty Unicode-functions structure.</doc> <source-position filename="src/hb-unicode.h" line="303"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="223">The empty Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> </function> <function name="unicode_funcs_get_parent" c:identifier="hb_unicode_funcs_get_parent" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="353">Fetches the parent of the Unicode-functions structure @ufuncs.</doc> <source-position filename="src/hb-unicode.h" line="331"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="360">The parent Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="355">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_get_user_data" c:identifier="hb_unicode_funcs_get_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="298">Fetches the user-data associated with the specified key, attached to the specified Unicode-functions structure.</doc> <source-position filename="src/hb-unicode.h" line="320"/> <return-value transfer-ownership="none" nullable="1"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="306">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="300">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="const hb_unicode_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="301">The user-data key to query</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_is_immutable" c:identifier="hb_unicode_funcs_is_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="336">Tests whether the specified Unicode-functions structure is immutable.</doc> <source-position filename="src/hb-unicode.h" line="328"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="343">`true` if @ufuncs is immutable, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="338">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_make_immutable" c:identifier="hb_unicode_funcs_make_immutable" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="318">Makes the specified Unicode-functions structure immutable.</doc> <source-position filename="src/hb-unicode.h" line="325"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="320">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_reference" c:identifier="hb_unicode_funcs_reference" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="233">Increases the reference count on a Unicode-functions structure.</doc> <source-position filename="src/hb-unicode.h" line="306"/> <return-value transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="239">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="235">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_combining_class_func" c:identifier="hb_unicode_funcs_set_combining_class_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="467">Sets the implementation function for #hb_unicode_combining_class_func_t.</doc> <source-position filename="src/hb-unicode.h" line="479"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="469">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="470">The callback function to assign</doc> <type name="unicode_combining_class_func_t" c:type="hb_unicode_combining_class_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="471">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="472">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_compose_func" c:identifier="hb_unicode_funcs_set_compose_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="531">Sets the implementation function for #hb_unicode_compose_func_t.</doc> <source-position filename="src/hb-unicode.h" line="543"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="533">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="534">The callback function to assign</doc> <type name="unicode_compose_func_t" c:type="hb_unicode_compose_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="535">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="536">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_decompose_compatibility_func" c:identifier="hb_unicode_funcs_set_decompose_compatibility_func" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="201">Sets the implementation function for #hb_unicode_decompose_compatibility_func_t.</doc> <source-position filename="src/hb-deprecated.h" line="216"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="203">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="204">The callback function to assign</doc> <type name="unicode_decompose_compatibility_func_t" c:type="hb_unicode_decompose_compatibility_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="205">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="206">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_decompose_func" c:identifier="hb_unicode_funcs_set_decompose_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="547">Sets the implementation function for #hb_unicode_decompose_func_t.</doc> <source-position filename="src/hb-unicode.h" line="559"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="549">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="550">The callback function to assign</doc> <type name="unicode_decompose_func_t" c:type="hb_unicode_decompose_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="551">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="552">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_eastasian_width_func" c:identifier="hb_unicode_funcs_set_eastasian_width_func" version="0.9.2" deprecated="1" deprecated-version="2.0.0"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="135">Sets the implementation function for #hb_unicode_eastasian_width_func_t.</doc> <source-position filename="src/hb-deprecated.h" line="148"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="137">a Unicode-function structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="138">The callback function to assign</doc> <type name="unicode_eastasian_width_func_t" c:type="hb_unicode_eastasian_width_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="139">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-deprecated.h" line="140">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_general_category_func" c:identifier="hb_unicode_funcs_set_general_category_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="483">Sets the implementation function for #hb_unicode_general_category_func_t.</doc> <source-position filename="src/hb-unicode.h" line="495"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="485">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="486">The callback function to assign</doc> <type name="unicode_general_category_func_t" c:type="hb_unicode_general_category_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="487">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="488">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_mirroring_func" c:identifier="hb_unicode_funcs_set_mirroring_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="499">Sets the implementation function for #hb_unicode_mirroring_func_t.</doc> <source-position filename="src/hb-unicode.h" line="511"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="501">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="502">The callback function to assign</doc> <type name="unicode_mirroring_func_t" c:type="hb_unicode_mirroring_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="503">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="504">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_script_func" c:identifier="hb_unicode_funcs_set_script_func" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="515">Sets the implementation function for #hb_unicode_script_func_t.</doc> <source-position filename="src/hb-unicode.h" line="527"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="517">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="func" transfer-ownership="none" scope="notified" closure="2" destroy="3"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="518">The callback function to assign</doc> <type name="unicode_script_func_t" c:type="hb_unicode_script_func_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="519">Data to pass to @func</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1" scope="notified"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="520">The function to call when @user_data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> </parameters> </function> <function name="unicode_funcs_set_user_data" c:identifier="hb_unicode_funcs_set_user_data" version="0.9.2" introspectable="0"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="274">Attaches a user-data key/data pair to the specified Unicode-functions structure.</doc> <source-position filename="src/hb-unicode.h" line="312"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="284">`true` if success, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="276">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="key" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="277">The user-data key</doc> <type name="user_data_key_t" c:type="hb_user_data_key_t*"/> </parameter> <parameter name="data" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="278">A pointer to the user data</doc> <type name="gpointer" c:type="void*"/> </parameter> <parameter name="destroy" transfer-ownership="none" nullable="1" allow-none="1"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="279">A callback to call when @data is not needed anymore</doc> <type name="destroy_func_t" c:type="hb_destroy_func_t"/> </parameter> <parameter name="replace" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.cc" line="280">Whether to replace an existing data with the same key</doc> <type name="bool_t" c:type="hb_bool_t"/> </parameter> </parameters> </function> <record name="unicode_funcs_t" c:type="hb_unicode_funcs_t" opaque="1" glib:type-name="hb_unicode_funcs_t" glib:get-type="hb_gobject_unicode_funcs_get_type" c:symbol-prefix="gobject_unicode_funcs"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="277">Data type containing a set of virtual methods used for accessing various Unicode character properties. HarfBuzz provides a default function for each of the methods in #hb_unicode_funcs_t. Client programs can implement their own replacements for the individual Unicode functions, as needed, and replace the default by calling the setter for a method.</doc> <source-position filename="src/hb-unicode.h" line="289"/> </record> <function name="unicode_general_category" c:identifier="hb_unicode_general_category" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="581">Retrieves the General Category (gc) property of code point @unicode.</doc> <source-position filename="src/hb-unicode.h" line="594"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="589">The #hb_unicode_general_category_t of @unicode</doc> <type name="unicode_general_category_t" c:type="hb_unicode_general_category_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="583">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="584">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <callback name="unicode_general_category_func_t" c:type="hb_unicode_general_category_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="358">A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the General Category property for a specified Unicode code point.</doc> <source-position filename="src/hb-unicode.h" line="372"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="369">The #hb_unicode_general_category_t of @unicode</doc> <type name="unicode_general_category_t" c:type="hb_unicode_general_category_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="360">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="361">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="362">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <enumeration name="unicode_general_category_t" glib:type-name="hb_unicode_general_category_t" glib:get-type="hb_gobject_unicode_general_category_get_type" c:type="hb_unicode_general_category_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="53">Data type for the "General_Category" (gc) property from the Unicode Character Database.</doc> <member name="control" value="0" c:identifier="HB_UNICODE_GENERAL_CATEGORY_CONTROL" glib:nick="control" glib:name="HB_UNICODE_GENERAL_CATEGORY_CONTROL"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="55">[Cc]</doc> </member> <member name="format" value="1" c:identifier="HB_UNICODE_GENERAL_CATEGORY_FORMAT" glib:nick="format" glib:name="HB_UNICODE_GENERAL_CATEGORY_FORMAT"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="56">[Cf]</doc> </member> <member name="unassigned" value="2" c:identifier="HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED" glib:nick="unassigned" glib:name="HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="57">[Cn]</doc> </member> <member name="private_use" value="3" c:identifier="HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE" glib:nick="private-use" glib:name="HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="58">[Co]</doc> </member> <member name="surrogate" value="4" c:identifier="HB_UNICODE_GENERAL_CATEGORY_SURROGATE" glib:nick="surrogate" glib:name="HB_UNICODE_GENERAL_CATEGORY_SURROGATE"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="59">[Cs]</doc> </member> <member name="lowercase_letter" value="5" c:identifier="HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER" glib:nick="lowercase-letter" glib:name="HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="60">[Ll]</doc> </member> <member name="modifier_letter" value="6" c:identifier="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER" glib:nick="modifier-letter" glib:name="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="61">[Lm]</doc> </member> <member name="other_letter" value="7" c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER" glib:nick="other-letter" glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="62">[Lo]</doc> </member> <member name="titlecase_letter" value="8" c:identifier="HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER" glib:nick="titlecase-letter" glib:name="HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="63">[Lt]</doc> </member> <member name="uppercase_letter" value="9" c:identifier="HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER" glib:nick="uppercase-letter" glib:name="HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="64">[Lu]</doc> </member> <member name="spacing_mark" value="10" c:identifier="HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK" glib:nick="spacing-mark" glib:name="HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="65">[Mc]</doc> </member> <member name="enclosing_mark" value="11" c:identifier="HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK" glib:nick="enclosing-mark" glib:name="HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="66">[Me]</doc> </member> <member name="non_spacing_mark" value="12" c:identifier="HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK" glib:nick="non-spacing-mark" glib:name="HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="67">[Mn]</doc> </member> <member name="decimal_number" value="13" c:identifier="HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER" glib:nick="decimal-number" glib:name="HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="68">[Nd]</doc> </member> <member name="letter_number" value="14" c:identifier="HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER" glib:nick="letter-number" glib:name="HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="69">[Nl]</doc> </member> <member name="other_number" value="15" c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER" glib:nick="other-number" glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="70">[No]</doc> </member> <member name="connect_punctuation" value="16" c:identifier="HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION" glib:nick="connect-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="71">[Pc]</doc> </member> <member name="dash_punctuation" value="17" c:identifier="HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION" glib:nick="dash-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="72">[Pd]</doc> </member> <member name="close_punctuation" value="18" c:identifier="HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION" glib:nick="close-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="73">[Pe]</doc> </member> <member name="final_punctuation" value="19" c:identifier="HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION" glib:nick="final-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="74">[Pf]</doc> </member> <member name="initial_punctuation" value="20" c:identifier="HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION" glib:nick="initial-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="75">[Pi]</doc> </member> <member name="other_punctuation" value="21" c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION" glib:nick="other-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="76">[Po]</doc> </member> <member name="open_punctuation" value="22" c:identifier="HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION" glib:nick="open-punctuation" glib:name="HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="77">[Ps]</doc> </member> <member name="currency_symbol" value="23" c:identifier="HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL" glib:nick="currency-symbol" glib:name="HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="78">[Sc]</doc> </member> <member name="modifier_symbol" value="24" c:identifier="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL" glib:nick="modifier-symbol" glib:name="HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="79">[Sk]</doc> </member> <member name="math_symbol" value="25" c:identifier="HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL" glib:nick="math-symbol" glib:name="HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="80">[Sm]</doc> </member> <member name="other_symbol" value="26" c:identifier="HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL" glib:nick="other-symbol" glib:name="HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="81">[So]</doc> </member> <member name="line_separator" value="27" c:identifier="HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR" glib:nick="line-separator" glib:name="HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="82">[Zl]</doc> </member> <member name="paragraph_separator" value="28" c:identifier="HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR" glib:nick="paragraph-separator" glib:name="HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="83">[Zp]</doc> </member> <member name="space_separator" value="29" c:identifier="HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR" glib:nick="space-separator" glib:name="HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="84">[Zs]</doc> </member> </enumeration> <function name="unicode_mirroring" c:identifier="hb_unicode_mirroring" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="597">Retrieves the Bi-directional Mirroring Glyph code point defined for code point @unicode.</doc> <source-position filename="src/hb-unicode.h" line="610"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="605">The #hb_codepoint_t of the Mirroring Glyph for @unicode</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="599">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="600">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <callback name="unicode_mirroring_func_t" c:type="hb_unicode_mirroring_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="376">A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the Bi-Directional Mirroring Glyph code point for a specified Unicode code point. <note>Note: If a code point does not have a specified Bi-Directional Mirroring Glyph defined, the method should return the original code point.</note></doc> <source-position filename="src/hb-unicode.h" line="394"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="391">The #hb_codepoint_t of the Mirroring Glyph for @unicode</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="378">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="379">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="380">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <function name="unicode_script" c:identifier="hb_unicode_script" version="0.9.2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="613">Retrieves the #hb_script_t script to which code point @unicode belongs.</doc> <source-position filename="src/hb-unicode.h" line="626"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="621">The #hb_script_t of @unicode</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="615">The Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="616">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> </parameters> </function> <callback name="unicode_script_func_t" c:type="hb_unicode_script_func_t"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="398">A virtual method for the #hb_unicode_funcs_t structure. This method should retrieve the Script property for a specified Unicode code point.</doc> <source-position filename="src/hb-unicode.h" line="412"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="409">The #hb_script_t of @unicode</doc> <type name="script_t" c:type="hb_script_t"/> </return-value> <parameters> <parameter name="ufuncs" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="400">A Unicode-functions structure</doc> <type name="unicode_funcs_t" c:type="hb_unicode_funcs_t*"/> </parameter> <parameter name="unicode" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="401">The code point to query</doc> <type name="codepoint_t" c:type="hb_codepoint_t"/> </parameter> <parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2"> <doc xml:space="preserve" filename="src/hb-unicode.h" line="402">User data pointer passed by the caller</doc> <type name="gpointer" c:type="void*"/> </parameter> </parameters> </callback> <record name="user_data_key_t" c:type="hb_user_data_key_t" glib:type-name="hb_user_data_key_t" glib:get-type="hb_gobject_user_data_key_get_type" c:symbol-prefix="gobject_user_data_key"> <doc xml:space="preserve" filename="src/hb-common.h" line="789">Data structure for holding user-data keys.</doc> <source-position filename="src/hb-common.h" line="798"/> <field name="unused" readable="0" private="1"> <type name="gchar" c:type="char"/> </field> </record> <union name="var_int_t" c:type="hb_var_int_t"> <source-position filename="src/hb-common.h" line="138"/> <field name="u32" writable="1"> <type name="guint32" c:type="uint32_t"/> </field> <field name="i32" writable="1"> <type name="gint32" c:type="int32_t"/> </field> <field name="u16" writable="1"> <array zero-terminated="0" fixed-size="2"> <type name="guint16" c:type="uint16_t"/> </array> </field> <field name="i16" writable="1"> <array zero-terminated="0" fixed-size="2"> <type name="gint16" c:type="int16_t"/> </array> </field> <field name="u8" writable="1"> <array zero-terminated="0" fixed-size="4"> <type name="guint8" c:type="uint8_t"/> </array> </field> <field name="i8" writable="1"> <array zero-terminated="0" fixed-size="4"> <type name="gint8" c:type="int8_t"/> </array> </field> </union> <union name="var_num_t" c:type="hb_var_num_t"> <source-position filename="src/hb-common.h" line="148"/> <field name="f" writable="1"> <type name="gfloat" c:type="float"/> </field> <field name="u32" writable="1"> <type name="guint32" c:type="uint32_t"/> </field> <field name="i32" writable="1"> <type name="gint32" c:type="int32_t"/> </field> <field name="u16" writable="1"> <array zero-terminated="0" fixed-size="2"> <type name="guint16" c:type="uint16_t"/> </array> </field> <field name="i16" writable="1"> <array zero-terminated="0" fixed-size="2"> <type name="gint16" c:type="int16_t"/> </array> </field> <field name="u8" writable="1"> <array zero-terminated="0" fixed-size="4"> <type name="guint8" c:type="uint8_t"/> </array> </field> <field name="i8" writable="1"> <array zero-terminated="0" fixed-size="4"> <type name="gint8" c:type="int8_t"/> </array> </field> </union> <function name="variation_from_string" c:identifier="hb_variation_from_string" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1032">Parses a string into a #hb_variation_t. The format for specifying variation settings follows. All valid CSS font-variation-settings values other than 'normal' and 'inherited' are also accepted, though, not documented below. The format is a tag, optionally followed by an equals sign, followed by a number. For example `wght=500`, or `slnt=-7.5`.</doc> <source-position filename="src/hb-common.h" line="879"/> <return-value transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1047">`true` if @str is successfully parsed, `false` otherwise</doc> <type name="bool_t" c:type="hb_bool_t"/> </return-value> <parameters> <parameter name="str" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1034">a string to parse</doc> <array length="1" zero-terminated="0" c:type="const char*"> <type name="guint8"/> </array> </parameter> <parameter name="len" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1035">length of @str, or -1 if string is `NULL` terminated</doc> <type name="gint" c:type="int"/> </parameter> <parameter name="variation" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1036">the #hb_variation_t to initialize with the parsed values</doc> <type name="variation_t" c:type="hb_variation_t*"/> </parameter> </parameters> </function> <record name="variation_t" c:type="hb_variation_t" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-common.h" line="862">Data type for holding variation data. Registered OpenType variation-axis tags are listed in [OpenType Axis Tag Registry](https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg).</doc> <source-position filename="src/hb-common.h" line="876"/> <field name="tag" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="864">The #hb_tag_t tag of the variation-axis name</doc> <type name="tag_t" c:type="hb_tag_t"/> </field> <field name="value" writable="1"> <doc xml:space="preserve" filename="src/hb-common.h" line="865">The value of the variation axis</doc> <type name="gfloat" c:type="float"/> </field> <method name="_string" c:identifier="hb_variation_to_string" moved-to="variation_to_string" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1114">Converts an #hb_variation_t into a `NULL`-terminated string in the format understood by hb_variation_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough.</doc> <source-position filename="src/hb-common.h" line="883"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <instance-parameter name="variation" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1116">an #hb_variation_t to convert</doc> <type name="variation_t" c:type="hb_variation_t*"/> </instance-parameter> <parameter name="buf" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1117">output string</doc> <array length="1" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1118">the allocated size of @buf</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </method> </record> <function name="variation_to_string" c:identifier="hb_variation_to_string" version="1.4.2"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1114">Converts an #hb_variation_t into a `NULL`-terminated string in the format understood by hb_variation_from_string(). The client in responsible for allocating big enough size for @buf, 128 bytes is more than enough.</doc> <source-position filename="src/hb-common.h" line="883"/> <return-value transfer-ownership="none"> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="variation" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1116">an #hb_variation_t to convert</doc> <type name="variation_t" c:type="hb_variation_t*"/> </parameter> <parameter name="buf" direction="out" caller-allocates="1" transfer-ownership="none"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1117">output string</doc> <array length="2" zero-terminated="0" c:type="char*"> <type name="utf8" c:type="char"/> </array> </parameter> <parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full"> <doc xml:space="preserve" filename="src/hb-common.cc" line="1118">the allocated size of @buf</doc> <type name="guint" c:type="unsigned int"/> </parameter> </parameters> </function> </namespace> </repository>