harfbuzz_ffi_bindings library

Classes

hb_blob_t
hb_buffer_t
hb_color_line_t
hb_color_line_t:
hb_color_stop_t
hb_color_stop_t: @offset: the offset of the color stop @is_foreground: whether the color is the foreground @color: the color, unpremultiplied
hb_draw_funcs_t
hb_draw_state_t
hb_draw_state_t @path_open: Whether there is an open path @path_start_x: X component of the start of current path @path_start_y: Y component of the start of current path @current_x: X component of current point @current_y: Y component of current point
hb_face_t
hb_feature_t
hb_feature_t: @tag: The #hb_tag_t tag of the feature @value: The value of the feature. 0 disables the feature, non-zero (usually
hb_font_extents_t
hb_font_extents_t: @ascender: The height of typographic ascenders. @descender: The depth of typographic descenders. @line_gap: The suggested line-spacing gap.
hb_font_funcs_t
hb_font_t
hb_glyph_extents_t
hb_glyph_extents_t: @x_bearing: Distance from the x-origin to the left extremum of the glyph. @y_bearing: Distance from the top extremum of the glyph to the y-origin. @width: Distance from the left extremum of the glyph to the right extremum. @height: Distance from the top extremum of the glyph to the bottom extremum.
hb_glyph_info_t
hb_glyph_info_t: @codepoint: either a Unicode code point (before shaping) or a glyph index (after shaping). @cluster: the index of the character in the original text that corresponds to this #hb_glyph_info_t, or whatever the client passes to hb_buffer_add(). More than one #hb_glyph_info_t can have the same @cluster value, if they resulted from the same character (e.g. one to many glyph substitution), and when more than one character gets merged in the same glyph (e.g. many to one glyph substitution) the #hb_glyph_info_t will have the smallest cluster value of them. By default some characters are merged into the same cluster (e.g. combining marks have the same cluster as their bases) even if they are separate glyphs, hb_buffer_set_cluster_level() allow selecting more fine-grained cluster handling.
hb_glyph_position_t
hb_glyph_position_t: @x_advance: how much the line advances after drawing this glyph when setting text in horizontal direction. @y_advance: how much the line advances after drawing this glyph when setting text in vertical direction. @x_offset: how much the glyph moves on the X-axis before drawing it, this should not affect how much the line advances. @y_offset: how much the glyph moves on the Y-axis before drawing it, this should not affect how much the line advances.
hb_language_impl_t
hb_map_t
hb_ot_color_layer_t
hb_ot_color_layer_t: @glyph: the glyph ID of the layer @color_index: the palette color index of the layer
hb_ot_math_glyph_part_t
hb_ot_math_glyph_part_t: @glyph: The glyph index of the variant part @start_connector_length: The length of the connector on the starting side of the variant part @end_connector_length: The length of the connector on the ending side of the variant part @full_advance: The total advance of the part @flags: #hb_ot_math_glyph_part_flags_t flags for the part
hb_ot_math_glyph_variant_t
hb_ot_math_glyph_variant_t: @glyph: The glyph index of the variant @advance: The advance width of the variant
hb_ot_math_kern_entry_t
hb_ot_math_kern_entry_t: @max_correction_height: The maximum height at which this entry should be used @kern_value: The kern value of the entry
hb_ot_name_entry_t
hb_ot_name_entry_t: @name_id: name ID @language: language
hb_ot_var_axis_info_t
hb_ot_var_axis_info_t: @axis_index: Index of the axis in the variation-axis array @tag: The #hb_tag_t tag identifying the design variation of the axis @name_id: The name table Name ID that provides display names for the axis @flags: The #hb_ot_var_axis_flags_t flags for the axis @min_value: The minimum value on the variation axis that the font covers @default_value: The position on the variation axis corresponding to the font's defaults @max_value: The maximum value on the variation axis that the font covers
hb_ot_var_axis_t
hb_ot_var_axis_t: @tag: axis tag @name_id: axis name identifier @min_value: minimum value of the axis @default_value: default value of the axis @max_value: maximum value of the axis
hb_paint_funcs_t
hb_segment_properties_t
hb_segment_properties_t: @direction: the #hb_direction_t of the buffer, see hb_buffer_set_direction(). @script: the #hb_script_t of the buffer, see hb_buffer_set_script(). @language: the #hb_language_t of the buffer, see hb_buffer_set_language().
hb_set_t
hb_shape_plan_t
hb_subset_input_t
hb_subset_plan_t
hb_unicode_funcs_t
hb_user_data_key_t
hb_user_data_key_t:
hb_variation_t
hb_variation_t: @tag: The #hb_tag_t tag of the variation-axis name @value: The value of the variation axis

Enums

hb_buffer_cluster_level_t
hb_buffer_cluster_level_t: @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES: Return cluster values grouped by graphemes into monotone order. @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS: Return cluster values grouped into monotone order. @HB_BUFFER_CLUSTER_LEVEL_CHARACTERS: Don't group cluster values. @HB_BUFFER_CLUSTER_LEVEL_DEFAULT: Default cluster level, equal to @HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES. @HB_BUFFER_CLUSTER_LEVEL_GRAPHEMES: Only group clusters, but don't enforce monotone order.
hb_buffer_content_type_t
hb_buffer_content_type_t: @HB_BUFFER_CONTENT_TYPE_INVALID: Initial value for new buffer. @HB_BUFFER_CONTENT_TYPE_UNICODE: The buffer contains input characters (before shaping). @HB_BUFFER_CONTENT_TYPE_GLYPHS: The buffer contains output glyphs (after shaping).
hb_buffer_diff_flags_t
hb_buffer_diff_flags_t: @HB_BUFFER_DIFF_FLAG_EQUAL: equal buffers. @HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH: buffers with different #hb_buffer_content_type_t. @HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH: buffers with differing length. @HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT: .notdef glyph is present in the reference buffer. @HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT: dotted circle glyph is present in the reference buffer. @HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH: difference in #hb_glyph_info_t.codepoint @HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH: difference in #hb_glyph_info_t.cluster @HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH: difference in #hb_glyph_flags_t. @HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH: difference in #hb_glyph_position_t.
hb_buffer_flags_t
hb_buffer_flags_t: @HB_BUFFER_FLAG_DEFAULT: the default buffer flag. @HB_BUFFER_FLAG_BOT: flag indicating that special handling of the beginning of text paragraph can be applied to this buffer. Should usually be set, unless you are passing to the buffer only part of the text without the full context. @HB_BUFFER_FLAG_EOT: flag indicating that special handling of the end of text paragraph can be applied to this buffer, similar to @HB_BUFFER_FLAG_BOT. @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES: flag indication that character with Default_Ignorable Unicode property should use the corresponding glyph from the font, instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) This flag takes precedence over @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES. @HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES: flag indication that character with Default_Ignorable Unicode property should be removed from glyph string instead of hiding them (done by replacing them with the space glyph and zeroing the advance width.) @HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES takes precedence over this flag. Since: 1.8.0 @HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE: flag indicating that a dotted circle should not be inserted in the rendering of incorrect character sequences (such at <0905 093E>). Since: 2.4.0 @HB_BUFFER_FLAG_VERIFY: 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 @HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT: 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 @HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL: 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 @HB_BUFFER_FLAG_DEFINED: All currently defined flags: Since: 4.4.0
hb_buffer_serialize_flags_t
hb_buffer_serialize_flags_t: @HB_BUFFER_SERIALIZE_FLAG_DEFAULT: serialize glyph names, clusters and positions. @HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS: do not serialize glyph cluster. @HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS: do not serialize glyph position information. @HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES: do no serialize glyph name. @HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS: serialize glyph extents. @HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS: serialize glyph flags. Since: 1.5.0 @HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES: do not serialize glyph advances, glyph offsets will reflect absolute glyph positions. Since: 1.8.0. Note: when this flag is used with a partial range of the buffer (i.e. @start is not 0), calculating the absolute positions has a cost proportional to @start. If the buffer is serialized in many small chunks, this can lead to quadratic behavior. It is recommended to use a larger @buf_size to minimize this cost. @HB_BUFFER_SERIALIZE_FLAG_DEFINED: All currently defined flags. Since: 4.4.0
hb_buffer_serialize_format_t
hb_buffer_serialize_format_t: @HB_BUFFER_SERIALIZE_FORMAT_TEXT: a human-readable, plain text format. @HB_BUFFER_SERIALIZE_FORMAT_JSON: a machine-readable JSON format. @HB_BUFFER_SERIALIZE_FORMAT_INVALID: invalid format.
hb_direction_t
hb_direction_t: @HB_DIRECTION_INVALID: Initial, unset direction. @HB_DIRECTION_LTR: Text is set horizontally from left to right. @HB_DIRECTION_RTL: Text is set horizontally from right to left. @HB_DIRECTION_TTB: Text is set vertically from top to bottom. @HB_DIRECTION_BTT: Text is set vertically from bottom to top.
hb_draw_line_cap_t
hb_draw_line_cap_t: @HB_DRAW_LINE_CAP_BUTT: No cap; the line ends exactly at its endpoint. @HB_DRAW_LINE_CAP_SQUARE: Square cap; the line is extended past its endpoint by half the local stroke width. Useful for composing closed shapes from line segments (e.g. a rectangle made from four lines).
hb_glyph_flags_t
hb_glyph_flags_t: @HB_GLYPH_FLAG_UNSAFE_TO_BREAK: Indicates that if input text is broken at the beginning of the cluster this glyph is part of, then both sides need to be re-shaped, as the result might be different. On the flip side, it means that when this flag is not present, then it 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. @HB_GLYPH_FLAG_UNSAFE_TO_CONCAT: 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:
hb_memory_mode_t
hb_memory_mode_t: @HB_MEMORY_MODE_DUPLICATE: HarfBuzz immediately makes a copy of the data. @HB_MEMORY_MODE_READONLY: HarfBuzz client will never modify the data, and HarfBuzz will never modify the data. @HB_MEMORY_MODE_WRITABLE: HarfBuzz client made a copy of the data solely for HarfBuzz, so HarfBuzz may modify the data. @HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE: See above
hb_ot_color_palette_flags_t
hb_ot_color_palette_flags_t: @HB_OT_COLOR_PALETTE_FLAG_DEFAULT: Default indicating that there is nothing special to note about a color palette. @HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_LIGHT_BACKGROUND: Flag indicating that the color palette is appropriate to use when displaying the font on a light background such as white. @HB_OT_COLOR_PALETTE_FLAG_USABLE_WITH_DARK_BACKGROUND: Flag indicating that the color palette is appropriate to use when displaying the font on a dark background such as black.
hb_ot_layout_baseline_tag_t
hb_ot_layout_baseline_tag_t: @HB_OT_LAYOUT_BASELINE_TAG_ROMAN: The baseline used by alphabetic scripts such as Latin, Cyrillic and Greek. In vertical writing mode, the alphabetic baseline for characters rotated 90 degrees clockwise. (This would not apply to alphabetic characters that remain upright in vertical writing mode, since these characters are not rotated.) @HB_OT_LAYOUT_BASELINE_TAG_HANGING: The hanging baseline. In horizontal direction, this is the horizontal line from which syllables seem, to hang in Tibetan and other similar scripts. In vertical writing mode, for Tibetan (or some other similar script) characters rotated 90 degrees clockwise. @HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_BOTTOM_OR_LEFT: Ideographic character face bottom or left edge, if the direction is horizontal or vertical, respectively. @HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_TOP_OR_RIGHT: Ideographic character face top or right edge, if the direction is horizontal or vertical, respectively. @HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL: The center of the ideographic character face. Since: 4.0.0 @HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_BOTTOM_OR_LEFT: Ideographic em-box bottom or left edge, if the direction is horizontal or vertical, respectively. @HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_TOP_OR_RIGHT: Ideographic em-box top or right edge baseline, @HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL: The center of the ideographic em-box. Since: 4.0.0 if the direction is horizontal or vertical, respectively. @HB_OT_LAYOUT_BASELINE_TAG_MATH: The baseline about which mathematical characters are centered. In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.
hb_ot_layout_glyph_class_t
hb_ot_layout_glyph_class_t: @HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED: Glyphs not matching the other classifications @HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH: Spacing, single characters, capable of accepting marks @HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE: Glyphs that represent ligation of multiple characters @HB_OT_LAYOUT_GLYPH_CLASS_MARK: Non-spacing, combining glyphs that represent marks @HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT: Spacing glyphs that represent part of a single character
hb_ot_math_constant_t
hb_ot_math_constant_t: @HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN: scriptPercentScaleDown @HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN: scriptScriptPercentScaleDown @HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT: delimitedSubFormulaMinHeight @HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT: displayOperatorMinHeight @HB_OT_MATH_CONSTANT_MATH_LEADING: mathLeading @HB_OT_MATH_CONSTANT_AXIS_HEIGHT: axisHeight @HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT: accentBaseHeight @HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT: flattenedAccentBaseHeight @HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN: subscriptShiftDown @HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX: subscriptTopMax @HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN: subscriptBaselineDropMin @HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP: superscriptShiftUp @HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED: superscriptShiftUpCramped @HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN: superscriptBottomMin @HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX: superscriptBaselineDropMax @HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN: subSuperscriptGapMin @HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT: superscriptBottomMaxWithSubscript @HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT: spaceAfterScript @HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN: upperLimitGapMin @HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN: upperLimitBaselineRiseMin @HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN: lowerLimitGapMin @HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN: lowerLimitBaselineDropMin @HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP: stackTopShiftUp @HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP: stackTopDisplayStyleShiftUp @HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN: stackBottomShiftDown @HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN: stackBottomDisplayStyleShiftDown @HB_OT_MATH_CONSTANT_STACK_GAP_MIN: stackGapMin @HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN: stackDisplayStyleGapMin @HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP: stretchStackTopShiftUp @HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN: stretchStackBottomShiftDown @HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN: stretchStackGapAboveMin @HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN: stretchStackGapBelowMin @HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP: fractionNumeratorShiftUp @HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP: fractionNumeratorDisplayStyleShiftUp @HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN: fractionDenominatorShiftDown @HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN: fractionDenominatorDisplayStyleShiftDown @HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN: fractionNumeratorGapMin @HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN: fractionNumDisplayStyleGapMin @HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS: fractionRuleThickness @HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN: fractionDenominatorGapMin @HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN: fractionDenomDisplayStyleGapMin @HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP: skewedFractionHorizontalGap @HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP: skewedFractionVerticalGap @HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP: overbarVerticalGap @HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS: overbarRuleThickness @HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER: overbarExtraAscender @HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP: underbarVerticalGap @HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS: underbarRuleThickness @HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER: underbarExtraDescender @HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP: radicalVerticalGap @HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP: radicalDisplayStyleVerticalGap @HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS: radicalRuleThickness @HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER: radicalExtraAscender @HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE: radicalKernBeforeDegree @HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE: radicalKernAfterDegree @HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT: radicalDegreeBottomRaisePercent
hb_ot_math_glyph_part_flags_t
hb_ot_math_glyph_part_flags_t: @HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER: This is an extender glyph part that can be repeated to reach the desired length.
hb_ot_math_kern_t
hb_ot_math_kern_t: @HB_OT_MATH_KERN_TOP_RIGHT: The top right corner of the glyph. @HB_OT_MATH_KERN_TOP_LEFT: The top left corner of the glyph. @HB_OT_MATH_KERN_BOTTOM_RIGHT: The bottom right corner of the glyph. @HB_OT_MATH_KERN_BOTTOM_LEFT: The bottom left corner of the glyph.
hb_ot_meta_tag_t
hb_ot_meta_tag_t: @HB_OT_META_TAG_DESIGN_LANGUAGES: Design languages. Text, using only Basic Latin (ASCII) characters. Indicates languages and/or scripts for the user audiences that the font was primarily designed for. @HB_OT_META_TAG_SUPPORTED_LANGUAGES: Supported languages. Text, using only Basic Latin (ASCII) characters. Indicates languages and/or scripts that the font is declared to be capable of supporting.
hb_ot_metrics_tag_t
hb_ot_metrics_tag_t: @HB_OT_METRICS_TAG_HORIZONTAL_ASCENDER: horizontal ascender. @HB_OT_METRICS_TAG_HORIZONTAL_DESCENDER: horizontal descender. @HB_OT_METRICS_TAG_HORIZONTAL_LINE_GAP: horizontal line gap. @HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT: horizontal clipping ascent. @HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT: horizontal clipping descent. @HB_OT_METRICS_TAG_VERTICAL_ASCENDER: vertical ascender. @HB_OT_METRICS_TAG_VERTICAL_DESCENDER: vertical descender. @HB_OT_METRICS_TAG_VERTICAL_LINE_GAP: vertical line gap. @HB_OT_METRICS_TAG_HORIZONTAL_CARET_RISE: horizontal caret rise. @HB_OT_METRICS_TAG_HORIZONTAL_CARET_RUN: horizontal caret run. @HB_OT_METRICS_TAG_HORIZONTAL_CARET_OFFSET: horizontal caret offset. @HB_OT_METRICS_TAG_VERTICAL_CARET_RISE: vertical caret rise. @HB_OT_METRICS_TAG_VERTICAL_CARET_RUN: vertical caret run. @HB_OT_METRICS_TAG_VERTICAL_CARET_OFFSET: vertical caret offset. @HB_OT_METRICS_TAG_X_HEIGHT: x height. @HB_OT_METRICS_TAG_CAP_HEIGHT: cap height. @HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_SIZE: subscript em x size. @HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_SIZE: subscript em y size. @HB_OT_METRICS_TAG_SUBSCRIPT_EM_X_OFFSET: subscript em x offset. @HB_OT_METRICS_TAG_SUBSCRIPT_EM_Y_OFFSET: subscript em y offset. @HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_SIZE: superscript em x size. @HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_SIZE: superscript em y size. @HB_OT_METRICS_TAG_SUPERSCRIPT_EM_X_OFFSET: superscript em x offset. @HB_OT_METRICS_TAG_SUPERSCRIPT_EM_Y_OFFSET: superscript em y offset. @HB_OT_METRICS_TAG_STRIKEOUT_SIZE: strikeout size. @HB_OT_METRICS_TAG_STRIKEOUT_OFFSET: strikeout offset. @HB_OT_METRICS_TAG_UNDERLINE_SIZE: underline size. @HB_OT_METRICS_TAG_UNDERLINE_OFFSET: underline offset.
hb_ot_name_id_predefined_t
hb_ot_name_id_predefined_t: @HB_OT_NAME_ID_COPYRIGHT: Copyright notice @HB_OT_NAME_ID_FONT_FAMILY: Font Family name @HB_OT_NAME_ID_FONT_SUBFAMILY: Font Subfamily name @HB_OT_NAME_ID_UNIQUE_ID: Unique font identifier @HB_OT_NAME_ID_FULL_NAME: Full font name that reflects all family and relevant subfamily descriptors @HB_OT_NAME_ID_VERSION_STRING: Version string @HB_OT_NAME_ID_POSTSCRIPT_NAME: PostScript name for the font @HB_OT_NAME_ID_TRADEMARK: Trademark @HB_OT_NAME_ID_MANUFACTURER: Manufacturer Name @HB_OT_NAME_ID_DESIGNER: Designer @HB_OT_NAME_ID_DESCRIPTION: Description @HB_OT_NAME_ID_VENDOR_URL: URL of font vendor @HB_OT_NAME_ID_DESIGNER_URL: URL of typeface designer @HB_OT_NAME_ID_LICENSE: License Description @HB_OT_NAME_ID_LICENSE_URL: URL where additional licensing information can be found @HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY: Typographic Family name @HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY: Typographic Subfamily name @HB_OT_NAME_ID_MAC_FULL_NAME: Compatible Full Name for MacOS @HB_OT_NAME_ID_SAMPLE_TEXT: Sample text @HB_OT_NAME_ID_CID_FINDFONT_NAME: PostScript CID findfont name @HB_OT_NAME_ID_WWS_FAMILY: WWS Family Name @HB_OT_NAME_ID_WWS_SUBFAMILY: WWS Subfamily Name @HB_OT_NAME_ID_LIGHT_BACKGROUND: Light Background Palette @HB_OT_NAME_ID_DARK_BACKGROUND: Dark Background Palette @HB_OT_NAME_ID_VARIATIONS_PS_PREFIX: Variations PostScript Name Prefix @HB_OT_NAME_ID_INVALID: Value to represent a nonexistent name ID.
hb_ot_var_axis_flags_t
hb_ot_var_axis_flags_t: @HB_OT_VAR_AXIS_FLAG_HIDDEN: The axis should not be exposed directly in user interfaces.
hb_paint_composite_mode_t
hb_paint_composite_mode_t: @HB_PAINT_COMPOSITE_MODE_CLEAR: clear destination layer (bounded) @HB_PAINT_COMPOSITE_MODE_SRC: replace destination layer (bounded) @HB_PAINT_COMPOSITE_MODE_SRC_OVER: draw source layer on top of destination layer (bounded) @HB_PAINT_COMPOSITE_MODE_SRC_IN: draw source where there was destination content (unbounded) @HB_PAINT_COMPOSITE_MODE_SRC_OUT: draw source where there was no destination content (unbounded) @HB_PAINT_COMPOSITE_MODE_SRC_ATOP: draw source on top of destination content and only there @HB_PAINT_COMPOSITE_MODE_DEST: ignore the source @HB_PAINT_COMPOSITE_MODE_DEST_OVER: draw destination on top of source @HB_PAINT_COMPOSITE_MODE_DEST_IN: leave destination only where there was source content (unbounded) @HB_PAINT_COMPOSITE_MODE_DEST_OUT: leave destination only where there was no source content @HB_PAINT_COMPOSITE_MODE_DEST_ATOP: leave destination on top of source content and only there (unbounded) @HB_PAINT_COMPOSITE_MODE_XOR: source and destination are shown where there is only one of them @HB_PAINT_COMPOSITE_MODE_PLUS: source and destination layers are accumulated @HB_PAINT_COMPOSITE_MODE_MULTIPLY: source and destination layers are multiplied. This causes the result to be at least as dark as the darker inputs. @HB_PAINT_COMPOSITE_MODE_SCREEN: source and destination are complemented and multiplied. This causes the result to be at least as light as the lighter inputs. @HB_PAINT_COMPOSITE_MODE_OVERLAY: multiplies or screens, depending on the lightness of the destination color. @HB_PAINT_COMPOSITE_MODE_DARKEN: replaces the destination with the source if it is darker, otherwise keeps the source. @HB_PAINT_COMPOSITE_MODE_LIGHTEN: replaces the destination with the source if it is lighter, otherwise keeps the source. @HB_PAINT_COMPOSITE_MODE_COLOR_DODGE: brightens the destination color to reflect the source color. @HB_PAINT_COMPOSITE_MODE_COLOR_BURN: darkens the destination color to reflect the source color. @HB_PAINT_COMPOSITE_MODE_HARD_LIGHT: Multiplies or screens, dependent on source color. @HB_PAINT_COMPOSITE_MODE_SOFT_LIGHT: Darkens or lightens, dependent on source color. @HB_PAINT_COMPOSITE_MODE_DIFFERENCE: Takes the difference of the source and destination color. @HB_PAINT_COMPOSITE_MODE_EXCLUSION: Produces an effect similar to difference, but with lower contrast. @HB_PAINT_COMPOSITE_MODE_HSL_HUE: Creates a color with the hue of the source and the saturation and luminosity of the target. @HB_PAINT_COMPOSITE_MODE_HSL_SATURATION: 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. @HB_PAINT_COMPOSITE_MODE_HSL_COLOR: 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. @HB_PAINT_COMPOSITE_MODE_HSL_LUMINOSITY: 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.
hb_paint_extend_t
hb_paint_extend_t: @HB_PAINT_EXTEND_PAD: Outside the defined interval, the color of the closest color stop is used. @HB_PAINT_EXTEND_REPEAT: The color line is repeated over repeated multiples of the defined interval @HB_PAINT_EXTEND_REFLECT: 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.
hb_script_t
https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o
hb_style_tag_t
hb_style_tag_t: @HB_STYLE_TAG_ITALIC: 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. @HB_STYLE_TAG_OPTICAL_SIZE: Used to vary design to suit different text sizes. Non-zero. Values can be interpreted as text size, in points. @HB_STYLE_TAG_SLANT_ANGLE: 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) @HB_STYLE_TAG_SLANT_RATIO: same as @HB_STYLE_TAG_SLANT_ANGLE expression as ratio. Typical right-leaning Italic fonts have a positive slant ratio (typically around 0.2) @HB_STYLE_TAG_WIDTH: 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. @HB_STYLE_TAG_WEIGHT: 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.
hb_subset_flags_t
hb_subset_flags_t: @HB_SUBSET_FLAGS_DEFAULT: all flags at their default value of false. @HB_SUBSET_FLAGS_NO_HINTING: If set hinting instructions will be dropped in the produced subset. Otherwise hinting instructions will be retained. @HB_SUBSET_FLAGS_RETAIN_GIDS: If set glyph indices will not be modified in the produced subset. If glyphs are dropped their indices will be retained as an empty glyph. @HB_SUBSET_FLAGS_DESUBROUTINIZE: If set and subsetting a CFF font the subsetter will attempt to remove subroutines from the CFF glyphs. @HB_SUBSET_FLAGS_NAME_LEGACY: If set non-unicode name records will be retained in the subset. @HB_SUBSET_FLAGS_SET_OVERLAPS_FLAG: If set the subsetter will set the OVERLAP_SIMPLE flag on each simple glyph. @HB_SUBSET_FLAGS_PASSTHROUGH_UNRECOGNIZED: If set the subsetter will not drop unrecognized tables and instead pass them through untouched. @HB_SUBSET_FLAGS_NOTDEF_OUTLINE: If set the notdef glyph outline will be retained in the final subset. @HB_SUBSET_FLAGS_GLYPH_NAMES: If set the PS glyph names will be retained in the final subset. @HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES: If set then the unicode ranges in OS/2 will not be recalculated. @HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE: If set do not perform glyph closure on layout substitution rules (GSUB). Since: 7.2.0. @HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS: If set perform IUP delta optimization on the remaining gvar table's deltas. Since: 8.5.0 @HB_SUBSET_FLAGS_NO_BIDI_CLOSURE: If set do not pull mirrored versions of input codepoints into the subset. Since: 11.1.0 @HB_SUBSET_FLAGS_IFTB_REQUIREMENTS: If set enforce requirements on the output subset to allow it to be used with incremental font transfer IFTB patches. Primarily, this forces all outline data to use long (32 bit) offsets. Since: EXPERIMENTAL @HB_SUBSET_FLAGS_RETAIN_NUM_GLYPHS: If this flag is set along side HB_SUBSET_FLAGS_RETAIN_GIDS then the number of glyphs in the font won't be reduced as a result of subsetting. If necessary empty glyphs will be included at the end of the font to keep the number of glyphs unchanged. @HB_SUBSET_FLAGS_DOWNGRADE_CFF2: If set and instantiating a variable font, convert the output CFF2 table to CFF1. This enables compatibility with older renderers that don't support CFF2. Since: 13.0.0
hb_subset_sets_t
hb_subset_sets_t: @HB_SUBSET_SETS_GLYPH_INDEX: the set of glyph indexes to retain in the subset. @HB_SUBSET_SETS_UNICODE: the set of unicode codepoints to retain in the subset. @HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG: the set of table tags which specifies tables that should not be subsetted. @HB_SUBSET_SETS_DROP_TABLE_TAG: the set of table tags which specifies tables which will be dropped in the subset. @HB_SUBSET_SETS_NAME_ID: the set of name ids that will be retained. @HB_SUBSET_SETS_NAME_LANG_ID: the set of name lang ids that will be retained. @HB_SUBSET_SETS_LAYOUT_FEATURE_TAG: the set of layout feature tags that will be retained in the subset. @HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG: the set of layout script tags that will be retained in the subset. Defaults to all tags. Since: 5.0.0
hb_unicode_combining_class_t
hb_unicode_combining_class_t: @HB_UNICODE_COMBINING_CLASS_NOT_REORDERED: Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing @HB_UNICODE_COMBINING_CLASS_OVERLAY: Marks which overlay a base letter or symbol @HB_UNICODE_COMBINING_CLASS_NUKTA: Diacritic nukta marks in Brahmi-derived scripts @HB_UNICODE_COMBINING_CLASS_KANA_VOICING: Hiragana/Katakana voicing marks @HB_UNICODE_COMBINING_CLASS_VIRAMA: Viramas @HB_UNICODE_COMBINING_CLASS_CCC10: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC11: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC12: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC13: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC14: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC15: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC16: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC17: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC18: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC19: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC20: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC21: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC22: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC23: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC24: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC25: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC26: Hebrew @HB_UNICODE_COMBINING_CLASS_CCC27: Arabic @HB_UNICODE_COMBINING_CLASS_CCC28: Arabic @HB_UNICODE_COMBINING_CLASS_CCC29: Arabic @HB_UNICODE_COMBINING_CLASS_CCC30: Arabic @HB_UNICODE_COMBINING_CLASS_CCC31: Arabic @HB_UNICODE_COMBINING_CLASS_CCC32: Arabic @HB_UNICODE_COMBINING_CLASS_CCC33: Arabic @HB_UNICODE_COMBINING_CLASS_CCC34: Arabic @HB_UNICODE_COMBINING_CLASS_CCC35: Arabic @HB_UNICODE_COMBINING_CLASS_CCC36: Syriac @HB_UNICODE_COMBINING_CLASS_CCC84: Telugu @HB_UNICODE_COMBINING_CLASS_CCC91: Telugu @HB_UNICODE_COMBINING_CLASS_CCC103: Thai @HB_UNICODE_COMBINING_CLASS_CCC107: Thai @HB_UNICODE_COMBINING_CLASS_CCC118: Lao @HB_UNICODE_COMBINING_CLASS_CCC122: Lao @HB_UNICODE_COMBINING_CLASS_CCC129: Tibetan @HB_UNICODE_COMBINING_CLASS_CCC130: Tibetan @HB_UNICODE_COMBINING_CLASS_CCC132: Tibetan Since: 7.2.0 @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT: Marks attached at the bottom left @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW: Marks attached directly below @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE: Marks attached directly above @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT: Marks attached at the top right @HB_UNICODE_COMBINING_CLASS_BELOW_LEFT: Distinct marks at the bottom left @HB_UNICODE_COMBINING_CLASS_BELOW: Distinct marks directly below @HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT: Distinct marks at the bottom right @HB_UNICODE_COMBINING_CLASS_LEFT: Distinct marks to the left @HB_UNICODE_COMBINING_CLASS_RIGHT: Distinct marks to the right @HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT: Distinct marks at the top left @HB_UNICODE_COMBINING_CLASS_ABOVE: Distinct marks directly above @HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT: Distinct marks at the top right @HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW: Distinct marks subtending two bases @HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE: Distinct marks extending above two bases @HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT: Greek iota subscript only @HB_UNICODE_COMBINING_CLASS_INVALID: Invalid combining class
hb_unicode_general_category_t
Unicode Character Database property: General_Category (gc)

Functions

hb_blob_copy_writable_or_fail(Pointer<hb_blob_t> blob) Pointer<hb_blob_t>
hb_blob_create(Pointer<Char> data, int length, hb_memory_mode_t mode, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) Pointer<hb_blob_t>
hb_blob_create_from_file(Pointer<Char> file_name) Pointer<hb_blob_t>
hb_blob_create_from_file_or_fail(Pointer<Char> file_name) Pointer<hb_blob_t>
hb_blob_create_or_fail(Pointer<Char> data, int length, hb_memory_mode_t mode, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) Pointer<hb_blob_t>
hb_blob_create_sub_blob(Pointer<hb_blob_t> parent, int offset, int length) Pointer<hb_blob_t>
Always creates with MEMORY_MODE_READONLY. Even if the parent blob is writable, we don't want the user of the sub-blob to be able to modify the parent data as that data may be shared among multiple sub-blobs.
hb_blob_destroy(Pointer<hb_blob_t> blob) → void
hb_blob_get_data(Pointer<hb_blob_t> blob, Pointer<UnsignedInt> length) Pointer<Char>
hb_blob_get_data_writable(Pointer<hb_blob_t> blob, Pointer<UnsignedInt> length) Pointer<Char>
hb_blob_get_empty() Pointer<hb_blob_t>
hb_blob_get_length(Pointer<hb_blob_t> blob) int
hb_blob_get_user_data(Pointer<hb_blob_t> blob, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_blob_is_immutable(Pointer<hb_blob_t> blob) int
hb_blob_make_immutable(Pointer<hb_blob_t> blob) → void
hb_blob_reference(Pointer<hb_blob_t> blob) Pointer<hb_blob_t>
hb_blob_set_user_data(Pointer<hb_blob_t> blob, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_buffer_add(Pointer<hb_buffer_t> buffer, int codepoint, int cluster) → void
Filling the buffer in
hb_buffer_add_codepoints(Pointer<hb_buffer_t> buffer, Pointer<Uint32> text, int text_length, int item_offset, int item_length) → void
hb_buffer_add_latin1(Pointer<hb_buffer_t> buffer, Pointer<Uint8> text, int text_length, int item_offset, int item_length) → void
hb_buffer_add_utf16(Pointer<hb_buffer_t> buffer, Pointer<Uint16> text, int text_length, int item_offset, int item_length) → void
hb_buffer_add_utf32(Pointer<hb_buffer_t> buffer, Pointer<Uint32> text, int text_length, int item_offset, int item_length) → void
hb_buffer_add_utf8(Pointer<hb_buffer_t> buffer, Pointer<Char> text, int text_length, int item_offset, int item_length) → void
hb_buffer_allocation_successful(Pointer<hb_buffer_t> buffer) int
hb_buffer_append(Pointer<hb_buffer_t> buffer, Pointer<hb_buffer_t> source, int start, int end) → void
hb_buffer_changed(Pointer<hb_buffer_t> buffer) → void
hb_buffer_clear_contents(Pointer<hb_buffer_t> buffer) → void
Content API.
hb_buffer_create() Pointer<hb_buffer_t>
hb_buffer_create_similar(Pointer<hb_buffer_t> src) Pointer<hb_buffer_t>
hb_buffer_deserialize_glyphs(Pointer<hb_buffer_t> buffer, Pointer<Char> buf, int buf_len, Pointer<Pointer<Char>> end_ptr, Pointer<hb_font_t> font, hb_buffer_serialize_format_t format) int
hb_buffer_deserialize_unicode(Pointer<hb_buffer_t> buffer, Pointer<Char> buf, int buf_len, Pointer<Pointer<Char>> end_ptr, hb_buffer_serialize_format_t format) int
hb_buffer_destroy(Pointer<hb_buffer_t> buffer) → void
hb_buffer_diff(Pointer<hb_buffer_t> buffer, Pointer<hb_buffer_t> reference, int dottedcircle_glyph, int position_fuzz) hb_buffer_diff_flags_t
hb_buffer_get_cluster_level(Pointer<hb_buffer_t> buffer) hb_buffer_cluster_level_t
hb_buffer_get_content_type(Pointer<hb_buffer_t> buffer) hb_buffer_content_type_t
hb_buffer_get_direction(Pointer<hb_buffer_t> buffer) hb_direction_t
hb_buffer_get_empty() Pointer<hb_buffer_t>
hb_buffer_get_flags(Pointer<hb_buffer_t> buffer) hb_buffer_flags_t
hb_buffer_get_glyph_infos(Pointer<hb_buffer_t> buffer, Pointer<UnsignedInt> length) Pointer<hb_glyph_info_t>
Getting glyphs out of the buffer
hb_buffer_get_glyph_positions(Pointer<hb_buffer_t> buffer, Pointer<UnsignedInt> length) Pointer<hb_glyph_position_t>
hb_buffer_get_invisible_glyph(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_language(Pointer<hb_buffer_t> buffer) Pointer<hb_language_impl_t>
hb_buffer_get_length(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_not_found_glyph(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_not_found_variation_selector_glyph(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_random_state(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_replacement_codepoint(Pointer<hb_buffer_t> buffer) int
hb_buffer_get_script(Pointer<hb_buffer_t> buffer) hb_script_t
hb_buffer_get_segment_properties(Pointer<hb_buffer_t> buffer, Pointer<hb_segment_properties_t> props) → void
hb_buffer_get_unicode_funcs(Pointer<hb_buffer_t> buffer) Pointer<hb_unicode_funcs_t>
hb_buffer_get_user_data(Pointer<hb_buffer_t> buffer, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_buffer_guess_segment_properties(Pointer<hb_buffer_t> buffer) → void
hb_buffer_has_positions(Pointer<hb_buffer_t> buffer) int
hb_buffer_normalize_glyphs(Pointer<hb_buffer_t> buffer) → void
hb_buffer_pre_allocate(Pointer<hb_buffer_t> buffer, int size) int
hb_buffer_reference(Pointer<hb_buffer_t> buffer) Pointer<hb_buffer_t>
hb_buffer_reset(Pointer<hb_buffer_t> buffer) → void
hb_buffer_reverse(Pointer<hb_buffer_t> buffer) → void
hb_buffer_reverse_clusters(Pointer<hb_buffer_t> buffer) → void
hb_buffer_reverse_range(Pointer<hb_buffer_t> buffer, int start, int end) → void
hb_buffer_serialize(Pointer<hb_buffer_t> buffer, int start, int end, Pointer<Char> buf, int buf_size, Pointer<UnsignedInt> buf_consumed, Pointer<hb_font_t> font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags) int
hb_buffer_serialize_format_from_string(Pointer<Char> str, int len) hb_buffer_serialize_format_t
hb_buffer_serialize_format_to_string(hb_buffer_serialize_format_t format) Pointer<Char>
hb_buffer_serialize_glyphs(Pointer<hb_buffer_t> buffer, int start, int end, Pointer<Char> buf, int buf_size, Pointer<UnsignedInt> buf_consumed, Pointer<hb_font_t> font, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags) int
hb_buffer_serialize_list_formats() Pointer<Pointer<Char>>
hb_buffer_serialize_unicode(Pointer<hb_buffer_t> buffer, int start, int end, Pointer<Char> buf, int buf_size, Pointer<UnsignedInt> buf_consumed, hb_buffer_serialize_format_t format, hb_buffer_serialize_flags_t flags) int
hb_buffer_set_cluster_level(Pointer<hb_buffer_t> buffer, hb_buffer_cluster_level_t cluster_level) → void
hb_buffer_set_content_type(Pointer<hb_buffer_t> buffer, hb_buffer_content_type_t content_type) → void
hb_buffer_set_direction(Pointer<hb_buffer_t> buffer, hb_direction_t direction) → void
hb_buffer_set_flags(Pointer<hb_buffer_t> buffer, hb_buffer_flags_t flags) → void
hb_buffer_set_invisible_glyph(Pointer<hb_buffer_t> buffer, int invisible) → void
hb_buffer_set_language(Pointer<hb_buffer_t> buffer, Pointer<hb_language_impl_t> language) → void
hb_buffer_set_length(Pointer<hb_buffer_t> buffer, int length) int
hb_buffer_set_message_func(Pointer<hb_buffer_t> buffer, Pointer<NativeFunction<Int Function(Pointer<hb_buffer_t> buffer, Pointer<hb_font_t> font, Pointer<Char> message, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_buffer_set_not_found_glyph(Pointer<hb_buffer_t> buffer, int not_found) → void
hb_buffer_set_not_found_variation_selector_glyph(Pointer<hb_buffer_t> buffer, int not_found_variation_selector) → void
hb_buffer_set_random_state(Pointer<hb_buffer_t> buffer, int state) → void
hb_buffer_set_replacement_codepoint(Pointer<hb_buffer_t> buffer, int replacement) → void
hb_buffer_set_script(Pointer<hb_buffer_t> buffer, hb_script_t script) → void
hb_buffer_set_segment_properties(Pointer<hb_buffer_t> buffer, Pointer<hb_segment_properties_t> props) → void
hb_buffer_set_unicode_funcs(Pointer<hb_buffer_t> buffer, Pointer<hb_unicode_funcs_t> unicode_funcs) → void
hb_buffer_set_user_data(Pointer<hb_buffer_t> buffer, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_calloc(int nmemb, int size) Pointer<Void>
hb_color_get_alpha(int color) int
hb_color_get_blue(int color) int
hb_color_get_green(int color) int
hb_color_get_red(int color) int
hb_color_line_get_color_stops(Pointer<hb_color_line_t> color_line, int start, Pointer<UnsignedInt> count, Pointer<hb_color_stop_t> color_stops) int
hb_color_line_get_extend(Pointer<hb_color_line_t> color_line) hb_paint_extend_t
hb_direction_from_string(Pointer<Char> str, int len) hb_direction_t
hb_direction_to_string(hb_direction_t direction) Pointer<Char>
hb_draw_circle(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double cx, double cy, double r, double stroke_width) → void
hb_draw_close_path(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st) → void
hb_draw_cubic_to(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double control1_x, double control1_y, double control2_x, double control2_y, double to_x, double to_y) → void
hb_draw_funcs_create() Pointer<hb_draw_funcs_t>
hb_draw_funcs_destroy(Pointer<hb_draw_funcs_t> dfuncs) → void
hb_draw_funcs_get_empty() Pointer<hb_draw_funcs_t>
hb_draw_funcs_get_user_data(Pointer<hb_draw_funcs_t> dfuncs, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_draw_funcs_is_immutable(Pointer<hb_draw_funcs_t> dfuncs) int
hb_draw_funcs_make_immutable(Pointer<hb_draw_funcs_t> dfuncs) → void
hb_draw_funcs_reference(Pointer<hb_draw_funcs_t> dfuncs) Pointer<hb_draw_funcs_t>
hb_draw_funcs_set_close_path_func(Pointer<hb_draw_funcs_t> dfuncs, Pointer<NativeFunction<Void Function(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_draw_funcs_set_close_path_func: @dfuncs: draw functions object @func: (closure user_data) (destroy destroy) (scope notified): close-path callback @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_draw_funcs_set_cubic_to_func(Pointer<hb_draw_funcs_t> dfuncs, Pointer<NativeFunction<Void Function(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, Float control1_x, Float control1_y, Float control2_x, Float control2_y, Float to_x, Float to_y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_draw_funcs_set_cubic_to_func: @dfuncs: draw functions @func: (closure user_data) (destroy destroy) (scope notified): cubic-to callback @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_draw_funcs_set_line_to_func(Pointer<hb_draw_funcs_t> dfuncs, Pointer<NativeFunction<Void Function(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, Float to_x, Float to_y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_draw_funcs_set_line_to_func: @dfuncs: draw functions object @func: (closure user_data) (destroy destroy) (scope notified): line-to callback @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_draw_funcs_set_move_to_func(Pointer<hb_draw_funcs_t> dfuncs, Pointer<NativeFunction<Void Function(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, Float to_x, Float to_y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_draw_funcs_set_move_to_func: @dfuncs: draw functions object @func: (closure user_data) (destroy destroy) (scope notified): move-to callback @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_draw_funcs_set_quadratic_to_func(Pointer<hb_draw_funcs_t> dfuncs, Pointer<NativeFunction<Void Function(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, Float control_x, Float control_y, Float to_x, Float to_y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_draw_funcs_set_quadratic_to_func: @dfuncs: draw functions object @func: (closure user_data) (destroy destroy) (scope notified): quadratic-to callback @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_draw_funcs_set_user_data(Pointer<hb_draw_funcs_t> dfuncs, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_draw_line(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double x0, double y0, double w0, double x1, double y1, double w1, hb_draw_line_cap_t cap) → void
hb_draw_line_to(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double to_x, double to_y) → void
hb_draw_move_to(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double to_x, double to_y) → void
hb_draw_quadratic_to(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double control_x, double control_y, double to_x, double to_y) → void
hb_draw_rectangle(Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data, Pointer<hb_draw_state_t> st, double x, double y, double w, double h, double stroke_width) → void
hb_face_builder_add_table(Pointer<hb_face_t> face, int tag, Pointer<hb_blob_t> blob) int
hb_face_builder_create() Pointer<hb_face_t>
Builder face.
hb_face_builder_sort_tables(Pointer<hb_face_t> face, Pointer<Uint32> tags) → void
hb_face_collect_nominal_glyph_mapping(Pointer<hb_face_t> face, Pointer<hb_map_t> mapping, Pointer<hb_set_t> unicodes) → void
hb_face_collect_unicodes(Pointer<hb_face_t> face, Pointer<hb_set_t> out) → void
Character set.
hb_face_collect_variation_selectors(Pointer<hb_face_t> face, Pointer<hb_set_t> out) → void
hb_face_collect_variation_unicodes(Pointer<hb_face_t> face, int variation_selector, Pointer<hb_set_t> out) → void
hb_face_count(Pointer<hb_blob_t> blob) int
hb_face_create(Pointer<hb_blob_t> blob, int index) Pointer<hb_face_t>
hb_face_create_for_tables(Pointer<NativeFunction<Pointer<hb_blob_t> Function(Pointer<hb_face_t> face, Uint32 tag, Pointer<Void> user_data)>> reference_table_func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) Pointer<hb_face_t>
calls destroy() when not needing user_data anymore
hb_face_create_from_file_or_fail(Pointer<Char> file_name, int index) Pointer<hb_face_t>
hb_face_create_from_file_or_fail_using(Pointer<Char> file_name, int index, Pointer<Char> loader_name) Pointer<hb_face_t>
hb_face_create_or_fail(Pointer<hb_blob_t> blob, int index) Pointer<hb_face_t>
hb_face_create_or_fail_using(Pointer<hb_blob_t> blob, int index, Pointer<Char> loader_name) Pointer<hb_face_t>
hb_face_destroy(Pointer<hb_face_t> face) → void
hb_face_get_empty() Pointer<hb_face_t>
hb_face_get_glyph_count(Pointer<hb_face_t> face) int
hb_face_get_index(Pointer<hb_face_t> face) int
hb_face_get_table_tags(Pointer<hb_face_t> face, int start_offset, Pointer<UnsignedInt> table_count, Pointer<Uint32> table_tags) int
hb_face_get_upem(Pointer<hb_face_t> face) int
hb_face_get_user_data(Pointer<hb_face_t> face, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_face_is_immutable(Pointer<hb_face_t> face) int
hb_face_list_loaders() Pointer<Pointer<Char>>
hb_face_make_immutable(Pointer<hb_face_t> face) → void
hb_face_reference(Pointer<hb_face_t> face) Pointer<hb_face_t>
hb_face_reference_blob(Pointer<hb_face_t> face) Pointer<hb_blob_t>
hb_face_reference_table(Pointer<hb_face_t> face, int tag) Pointer<hb_blob_t>
hb_face_set_get_table_tags_func(Pointer<hb_face_t> face, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_face_t> face, UnsignedInt start_offset, Pointer<UnsignedInt> table_count, Pointer<Uint32> table_tags, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_face_set_glyph_count(Pointer<hb_face_t> face, int glyph_count) → void
hb_face_set_index(Pointer<hb_face_t> face, int index) → void
hb_face_set_upem(Pointer<hb_face_t> face, int upem) → void
hb_face_set_user_data(Pointer<hb_face_t> face, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_feature_from_string(Pointer<Char> str, int len, Pointer<hb_feature_t> feature) int
hb_feature_to_string(Pointer<hb_feature_t> feature, Pointer<Char> buf, int size) → void
hb_font_add_glyph_origin_for_direction(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) → void
hb_font_changed(Pointer<hb_font_t> font) → void
hb_font_create(Pointer<hb_face_t> face) Pointer<hb_font_t>
Fonts are very light-weight objects
hb_font_create_sub_font(Pointer<hb_font_t> parent) Pointer<hb_font_t>
hb_font_destroy(Pointer<hb_font_t> font) → void
hb_font_draw_glyph(Pointer<hb_font_t> font, int glyph, Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data) → void
Older alias for hb_font_draw_glyph_or_fail() with no return value.
hb_font_draw_glyph_or_fail(Pointer<hb_font_t> font, int glyph, Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data) int
hb_font_funcs_create() Pointer<hb_font_funcs_t>
hb_font_funcs_destroy(Pointer<hb_font_funcs_t> ffuncs) → void
hb_font_funcs_get_empty() Pointer<hb_font_funcs_t>
hb_font_funcs_get_user_data(Pointer<hb_font_funcs_t> ffuncs, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_font_funcs_is_immutable(Pointer<hb_font_funcs_t> ffuncs) int
hb_font_funcs_make_immutable(Pointer<hb_font_funcs_t> ffuncs) → void
hb_font_funcs_reference(Pointer<hb_font_funcs_t> ffuncs) Pointer<hb_font_funcs_t>
hb_font_funcs_set_draw_glyph_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Void Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_draw_funcs_t> draw_funcs, Pointer<Void> draw_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_draw_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_draw_glyph_or_fail_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_draw_funcs_t> draw_funcs, Pointer<Void> draw_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_draw_glyph_or_fail_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_font_h_extents_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Pointer<hb_font_extents_t> extents, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_font_h_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_font_v_extents_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Pointer<hb_font_extents_t> extents, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_font_v_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_contour_point_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, UnsignedInt point_index, Pointer<Int32> x, Pointer<Int32> y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_contour_point_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_extents_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_glyph_extents_t> extents, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_extents_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_from_name_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Pointer<Char> name, Int len, Pointer<Uint32> glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_from_name_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 unicode, Uint32 variation_selector, Pointer<Uint32> glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_advance_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int32 Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_advance_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_advances_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Void Function(Pointer<hb_font_t> font, Pointer<Void> font_data, UnsignedInt count, Pointer<Uint32> first_glyph, UnsignedInt glyph_stride, Pointer<Int32> first_advance, UnsignedInt advance_stride, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_advances_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_kerning_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int32 Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 first_glyph, Uint32 second_glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_kerning_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_origin_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<Int32> x, Pointer<Int32> y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_origin_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_h_origins_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, UnsignedInt count, Pointer<Uint32> first_glyph, UnsignedInt glyph_stride, Pointer<Int32> first_x, UnsignedInt x_stride, Pointer<Int32> first_y, UnsignedInt y_stride, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_h_origins_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_name_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<Char> name, UnsignedInt size, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_name_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_shape_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Void Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_draw_funcs_t> draw_funcs, Pointer<Void> draw_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_shape_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_advance_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int32 Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_v_advance_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_advances_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Void Function(Pointer<hb_font_t> font, Pointer<Void> font_data, UnsignedInt count, Pointer<Uint32> first_glyph, UnsignedInt glyph_stride, Pointer<Int32> first_advance, UnsignedInt advance_stride, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_v_advances_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_kerning_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int32 Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 first_glyph, Uint32 second_glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_v_kerning_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_origin_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<Int32> x, Pointer<Int32> y, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_v_origin_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_glyph_v_origins_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, UnsignedInt count, Pointer<Uint32> first_glyph, UnsignedInt glyph_stride, Pointer<Int32> first_x, UnsignedInt x_stride, Pointer<Int32> first_y, UnsignedInt y_stride, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_glyph_v_origins_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_nominal_glyph_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 unicode, Pointer<Uint32> glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_nominal_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_nominal_glyphs_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_font_t> font, Pointer<Void> font_data, UnsignedInt count, Pointer<Uint32> first_unicode, UnsignedInt unicode_stride, Pointer<Uint32> first_glyph, UnsignedInt glyph_stride, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_nominal_glyphs_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_funcs_set_paint_glyph_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_paint_funcs_t> paint_funcs, Pointer<Void> paint_data, UnsignedInt palette_index, Uint32 foreground, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_paint_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is no longer needed
hb_font_funcs_set_paint_glyph_or_fail_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 glyph, Pointer<hb_paint_funcs_t> paint_funcs, Pointer<Void> paint_data, UnsignedInt palette_index, Uint32 foreground, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_paint_glyph_or_fail_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is no longer needed
hb_font_funcs_set_user_data(Pointer<hb_font_funcs_t> ffuncs, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_font_funcs_set_variation_glyph_func(Pointer<hb_font_funcs_t> ffuncs, Pointer<NativeFunction<Int Function(Pointer<hb_font_t> font, Pointer<Void> font_data, Uint32 unicode, Uint32 variation_selector, Pointer<Uint32> glyph, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_funcs_set_variation_glyph_func: @ffuncs: A font-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_font_get_empty() Pointer<hb_font_t>
hb_font_get_extents_for_direction(Pointer<hb_font_t> font, hb_direction_t direction, Pointer<hb_font_extents_t> extents) → void
hb_font_get_face(Pointer<hb_font_t> font) Pointer<hb_face_t>
hb_font_get_glyph(Pointer<hb_font_t> font, int unicode, int variation_selector, Pointer<Uint32> glyph) int
Calls either hb_font_get_nominal_glyph() if variation_selector is 0, otherwise calls hb_font_get_variation_glyph().
hb_font_get_glyph_advance_for_direction(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) → void
hb_font_get_glyph_advances_for_direction(Pointer<hb_font_t> font, hb_direction_t direction, int count, Pointer<Uint32> first_glyph, int glyph_stride, Pointer<Int32> first_advance, int advance_stride) → void
hb_font_get_glyph_contour_point(Pointer<hb_font_t> font, int glyph, int point_index, Pointer<Int32> x, Pointer<Int32> y) int
hb_font_get_glyph_contour_point_for_origin(Pointer<hb_font_t> font, int glyph, int point_index, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) int
hb_font_get_glyph_extents(Pointer<hb_font_t> font, int glyph, Pointer<hb_glyph_extents_t> extents) int
hb_font_get_glyph_extents_for_origin(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, Pointer<hb_glyph_extents_t> extents) int
hb_font_get_glyph_from_name(Pointer<hb_font_t> font, Pointer<Char> name, int len, Pointer<Uint32> glyph) int
hb_font_get_glyph_h_advance(Pointer<hb_font_t> font, int glyph) int
hb_font_get_glyph_h_advances(Pointer<hb_font_t> font, int count, Pointer<Uint32> first_glyph, int glyph_stride, Pointer<Int32> first_advance, int advance_stride) → void
hb_font_get_glyph_h_kerning(Pointer<hb_font_t> font, int left_glyph, int right_glyph) int
hb_font_get_glyph_h_origin(Pointer<hb_font_t> font, int glyph, Pointer<Int32> x, Pointer<Int32> y) int
hb_font_get_glyph_h_origins(Pointer<hb_font_t> font, int count, Pointer<Uint32> first_glyph, int glyph_stride, Pointer<Int32> first_x, int x_stride, Pointer<Int32> first_y, int y_stride) int
hb_font_get_glyph_kerning_for_direction(Pointer<hb_font_t> font, int first_glyph, int second_glyph, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) → void
hb_font_get_glyph_name(Pointer<hb_font_t> font, int glyph, Pointer<Char> name, int size) int
hb_font_get_glyph_origin_for_direction(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) → void
hb_font_get_glyph_shape(Pointer<hb_font_t> font, int glyph, Pointer<hb_draw_funcs_t> dfuncs, Pointer<Void> draw_data) → void
hb_font_get_glyph_v_advance(Pointer<hb_font_t> font, int glyph) int
hb_font_get_glyph_v_advances(Pointer<hb_font_t> font, int count, Pointer<Uint32> first_glyph, int glyph_stride, Pointer<Int32> first_advance, int advance_stride) → void
hb_font_get_glyph_v_kerning(Pointer<hb_font_t> font, int top_glyph, int bottom_glyph) int
hb_font_get_glyph_v_origin(Pointer<hb_font_t> font, int glyph, Pointer<Int32> x, Pointer<Int32> y) int
hb_font_get_glyph_v_origins(Pointer<hb_font_t> font, int count, Pointer<Uint32> first_glyph, int glyph_stride, Pointer<Int32> first_x, int x_stride, Pointer<Int32> first_y, int y_stride) int
hb_font_get_h_extents(Pointer<hb_font_t> font, Pointer<hb_font_extents_t> extents) int
func dispatch
hb_font_get_nominal_glyph(Pointer<hb_font_t> font, int unicode, Pointer<Uint32> glyph) int
hb_font_get_nominal_glyphs(Pointer<hb_font_t> font, int count, Pointer<Uint32> first_unicode, int unicode_stride, Pointer<Uint32> first_glyph, int glyph_stride) int
hb_font_get_parent(Pointer<hb_font_t> font) Pointer<hb_font_t>
hb_font_get_ppem(Pointer<hb_font_t> font, Pointer<UnsignedInt> x_ppem, Pointer<UnsignedInt> y_ppem) → void
hb_font_get_ptem(Pointer<hb_font_t> font) double
hb_font_get_scale(Pointer<hb_font_t> font, Pointer<Int> x_scale, Pointer<Int> y_scale) → void
hb_font_get_serial(Pointer<hb_font_t> font) int
hb_font_get_synthetic_bold(Pointer<hb_font_t> font, Pointer<Float> x_embolden, Pointer<Float> y_embolden, Pointer<Int> in_place) → void
hb_font_get_synthetic_slant(Pointer<hb_font_t> font) double
hb_font_get_user_data(Pointer<hb_font_t> font, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_font_get_v_extents(Pointer<hb_font_t> font, Pointer<hb_font_extents_t> extents) int
hb_font_get_var_coords_design(Pointer<hb_font_t> font, Pointer<UnsignedInt> length) Pointer<Float>
hb_font_get_var_coords_normalized(Pointer<hb_font_t> font, Pointer<UnsignedInt> length) Pointer<Int>
hb_font_get_var_named_instance(Pointer<hb_font_t> font) int
hb_font_get_variation_glyph(Pointer<hb_font_t> font, int unicode, int variation_selector, Pointer<Uint32> glyph) int
hb_font_glyph_from_string(Pointer<hb_font_t> font, Pointer<Char> s, int len, Pointer<Uint32> glyph) int
Parses gidDDD and uniUUUU strings automatically.
hb_font_glyph_to_string(Pointer<hb_font_t> font, int glyph, Pointer<Char> s, int size) → void
Generates gidDDD if glyph has no name.
hb_font_is_immutable(Pointer<hb_font_t> font) int
hb_font_is_synthetic(Pointer<hb_font_t> font) int
hb_font_list_funcs() Pointer<Pointer<Char>>
hb_font_make_immutable(Pointer<hb_font_t> font) → void
hb_font_paint_glyph(Pointer<hb_font_t> font, int glyph, Pointer<hb_paint_funcs_t> pfuncs, Pointer<Void> paint_data, int palette_index, int foreground) → void
Paints color glyph; if failed, draws outline glyph.
hb_font_paint_glyph_or_fail(Pointer<hb_font_t> font, int glyph, Pointer<hb_paint_funcs_t> pfuncs, Pointer<Void> paint_data, int palette_index, int foreground) int
hb_font_reference(Pointer<hb_font_t> font) Pointer<hb_font_t>
hb_font_set_face(Pointer<hb_font_t> font, Pointer<hb_face_t> face) → void
hb_font_set_funcs(Pointer<hb_font_t> font, Pointer<hb_font_funcs_t> klass, Pointer<Void> font_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_font_set_funcs_data(Pointer<hb_font_t> font, Pointer<Void> font_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
Be very careful with this function!
hb_font_set_funcs_using(Pointer<hb_font_t> font, Pointer<Char> name) int
hb_font_set_parent(Pointer<hb_font_t> font, Pointer<hb_font_t> parent) → void
hb_font_set_ppem(Pointer<hb_font_t> font, int x_ppem, int y_ppem) → void
A zero value means "no hinting in that direction"
hb_font_set_ptem(Pointer<hb_font_t> font, double ptem) → void
Point size per EM. Used for optical-sizing in CoreText. A value of zero means "not set".
hb_font_set_scale(Pointer<hb_font_t> font, int x_scale, int y_scale) → void
hb_font_set_synthetic_bold(Pointer<hb_font_t> font, double x_embolden, double y_embolden, int in_place) → void
hb_font_set_synthetic_slant(Pointer<hb_font_t> font, double slant) → void
hb_font_set_user_data(Pointer<hb_font_t> font, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_font_set_var_coords_design(Pointer<hb_font_t> font, Pointer<Float> coords, int coords_length) → void
hb_font_set_var_coords_normalized(Pointer<hb_font_t> font, Pointer<Int> coords, int coords_length) → void
hb_font_set_var_named_instance(Pointer<hb_font_t> font, int instance_index) → void
hb_font_set_variation(Pointer<hb_font_t> font, int tag, double value) → void
hb_font_set_variations(Pointer<hb_font_t> font, Pointer<hb_variation_t> variations, int variations_length) → void
hb_font_subtract_glyph_origin_for_direction(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, Pointer<Int32> x, Pointer<Int32> y) → void
hb_free(Pointer<Void> ptr) → void
hb_glyph_info_get_glyph_flags(Pointer<hb_glyph_info_t> info) hb_glyph_flags_t
hb_language_from_string(Pointer<Char> str, int len) Pointer<hb_language_impl_t>
hb_language_get_default() Pointer<hb_language_impl_t>
hb_language_matches(Pointer<hb_language_impl_t> language, Pointer<hb_language_impl_t> specific) int
hb_language_to_string(Pointer<hb_language_impl_t> language) Pointer<Char>
hb_malloc(int size) Pointer<Void>
Not of much use to clients.
hb_map_allocation_successful(Pointer<hb_map_t> map) int
Returns false if allocation has failed before
hb_map_clear(Pointer<hb_map_t> map) → void
hb_map_copy(Pointer<hb_map_t> map) Pointer<hb_map_t>
hb_map_create() Pointer<hb_map_t>
hb_map_del(Pointer<hb_map_t> map, int key) → void
hb_map_destroy(Pointer<hb_map_t> map) → void
hb_map_get(Pointer<hb_map_t> map, int key) int
hb_map_get_empty() Pointer<hb_map_t>
hb_map_get_population(Pointer<hb_map_t> map) int
hb_map_get_user_data(Pointer<hb_map_t> map, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_map_has(Pointer<hb_map_t> map, int key) int
hb_map_hash(Pointer<hb_map_t> map) int
hb_map_is_empty(Pointer<hb_map_t> map) int
hb_map_is_equal(Pointer<hb_map_t> map, Pointer<hb_map_t> other) int
hb_map_keys(Pointer<hb_map_t> map, Pointer<hb_set_t> keys) → void
hb_map_next(Pointer<hb_map_t> map, Pointer<Int> idx, Pointer<Uint32> key, Pointer<Uint32> value) int
Pass -1 in for idx to get started.
hb_map_reference(Pointer<hb_map_t> map) Pointer<hb_map_t>
hb_map_set(Pointer<hb_map_t> map, int key, int value) → void
hb_map_set_user_data(Pointer<hb_map_t> map, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_map_update(Pointer<hb_map_t> map, Pointer<hb_map_t> other) → void
hb_map_values(Pointer<hb_map_t> map, Pointer<hb_set_t> values) → void
hb_ot_color_get_svg_document_count(Pointer<hb_face_t> face) int
hb_ot_color_get_svg_document_glyph_range(Pointer<hb_face_t> face, int svg_document_index, Pointer<Uint32> start_glyph_id, Pointer<Uint32> end_glyph_id) int
hb_ot_color_glyph_get_layers(Pointer<hb_face_t> face, int glyph, int start_offset, Pointer<UnsignedInt> layer_count, Pointer<hb_ot_color_layer_t> layers) int
hb_ot_color_glyph_get_svg_document_index(Pointer<hb_face_t> face, int glyph, Pointer<UnsignedInt> svg_document_index) int
hb_ot_color_glyph_has_paint(Pointer<hb_face_t> face, int glyph) int
hb_ot_color_glyph_reference_png(Pointer<hb_font_t> font, int glyph) Pointer<hb_blob_t>
hb_ot_color_glyph_reference_svg(Pointer<hb_face_t> face, int glyph) Pointer<hb_blob_t>
hb_ot_color_has_layers(Pointer<hb_face_t> face) int
Color layers.
hb_ot_color_has_paint(Pointer<hb_face_t> face) int
COLRv1
hb_ot_color_has_palettes(Pointer<hb_face_t> face) int
Color palettes.
hb_ot_color_has_png(Pointer<hb_face_t> face) int
PNG: CBDT or sbix
hb_ot_color_has_svg(Pointer<hb_face_t> face) int
SVG
hb_ot_color_palette_color_get_name_id(Pointer<hb_face_t> face, int color_index) int
hb_ot_color_palette_get_colors(Pointer<hb_face_t> face, int palette_index, int start_offset, Pointer<UnsignedInt> color_count, Pointer<Uint32> colors) int
hb_ot_color_palette_get_count(Pointer<hb_face_t> face) int
hb_ot_color_palette_get_flags(Pointer<hb_face_t> face, int palette_index) hb_ot_color_palette_flags_t
hb_ot_color_palette_get_name_id(Pointer<hb_face_t> face, int palette_index) int
hb_ot_font_set_funcs(Pointer<hb_font_t> font) → void
hb_ot_layout_collect_features(Pointer<hb_face_t> face, int table_tag, Pointer<Uint32> scripts, Pointer<Uint32> languages, Pointer<Uint32> features, Pointer<hb_set_t> feature_indexes) → void
hb_ot_layout_collect_features_map(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, Pointer<hb_map_t> feature_map) → void
hb_ot_layout_collect_lookups(Pointer<hb_face_t> face, int table_tag, Pointer<Uint32> scripts, Pointer<Uint32> languages, Pointer<Uint32> features, Pointer<hb_set_t> lookup_indexes) → void
hb_ot_layout_feature_get_characters(Pointer<hb_face_t> face, int table_tag, int feature_index, int start_offset, Pointer<UnsignedInt> char_count, Pointer<Uint32> characters) int
hb_ot_layout_feature_get_lookups(Pointer<hb_face_t> face, int table_tag, int feature_index, int start_offset, Pointer<UnsignedInt> lookup_count, Pointer<UnsignedInt> lookup_indexes) int
hb_ot_layout_feature_get_name_ids(Pointer<hb_face_t> face, int table_tag, int feature_index, Pointer<UnsignedInt> label_id, Pointer<UnsignedInt> tooltip_id, Pointer<UnsignedInt> sample_id, Pointer<UnsignedInt> num_named_parameters, Pointer<UnsignedInt> first_param_id) int
GSUB/GPOS
hb_ot_layout_feature_with_variations_get_lookups(Pointer<hb_face_t> face, int table_tag, int feature_index, int variations_index, int start_offset, Pointer<UnsignedInt> lookup_count, Pointer<UnsignedInt> lookup_indexes) int
hb_ot_layout_get_attach_points(Pointer<hb_face_t> face, int glyph, int start_offset, Pointer<UnsignedInt> point_count, Pointer<UnsignedInt> point_array) int
Not that useful. Provides list of attach points for a glyph that a client may want to cache
hb_ot_layout_get_baseline(Pointer<hb_font_t> font, hb_ot_layout_baseline_tag_t baseline_tag, hb_direction_t direction, int script_tag, int language_tag, Pointer<Int32> coord) int
hb_ot_layout_get_baseline2(Pointer<hb_font_t> font, hb_ot_layout_baseline_tag_t baseline_tag, hb_direction_t direction, hb_script_t script, Pointer<hb_language_impl_t> language, Pointer<Int32> coord) int
hb_ot_layout_get_baseline_with_fallback(Pointer<hb_font_t> font, hb_ot_layout_baseline_tag_t baseline_tag, hb_direction_t direction, int script_tag, int language_tag, Pointer<Int32> coord) → void
hb_ot_layout_get_baseline_with_fallback2(Pointer<hb_font_t> font, hb_ot_layout_baseline_tag_t baseline_tag, hb_direction_t direction, hb_script_t script, Pointer<hb_language_impl_t> language, Pointer<Int32> coord) → void
hb_ot_layout_get_font_extents(Pointer<hb_font_t> font, hb_direction_t direction, int script_tag, int language_tag, Pointer<hb_font_extents_t> extents) int
hb_ot_layout_get_font_extents2(Pointer<hb_font_t> font, hb_direction_t direction, hb_script_t script, Pointer<hb_language_impl_t> language, Pointer<hb_font_extents_t> extents) int
hb_ot_layout_get_glyph_class(Pointer<hb_face_t> face, int glyph) hb_ot_layout_glyph_class_t
hb_ot_layout_get_glyphs_in_class(Pointer<hb_face_t> face, hb_ot_layout_glyph_class_t klass, Pointer<hb_set_t> glyphs) → void
hb_ot_layout_get_horizontal_baseline_tag_for_script(hb_script_t script) hb_ot_layout_baseline_tag_t
hb_ot_layout_get_ligature_carets(Pointer<hb_font_t> font, hb_direction_t direction, int glyph, int start_offset, Pointer<UnsignedInt> caret_count, Pointer<Int32> caret_array) int
hb_ot_layout_get_size_params(Pointer<hb_face_t> face, Pointer<UnsignedInt> design_size, Pointer<UnsignedInt> subfamily_id, Pointer<UnsignedInt> subfamily_name_id, Pointer<UnsignedInt> range_start, Pointer<UnsignedInt> range_end) int
Optical 'size' feature info. Returns true if found. https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#size
hb_ot_layout_has_glyph_classes(Pointer<hb_face_t> face) int
GDEF
hb_ot_layout_has_positioning(Pointer<hb_face_t> face) int
GPOS
hb_ot_layout_has_substitution(Pointer<hb_face_t> face) int
GSUB
hb_ot_layout_language_find_feature(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, int feature_tag, Pointer<UnsignedInt> feature_index) int
hb_ot_layout_language_get_feature_indexes(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, int start_offset, Pointer<UnsignedInt> feature_count, Pointer<UnsignedInt> feature_indexes) int
hb_ot_layout_language_get_feature_tags(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, int start_offset, Pointer<UnsignedInt> feature_count, Pointer<Uint32> feature_tags) int
hb_ot_layout_language_get_required_feature(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, Pointer<UnsignedInt> feature_index, Pointer<Uint32> feature_tag) int
hb_ot_layout_language_get_required_feature_index(Pointer<hb_face_t> face, int table_tag, int script_index, int language_index, Pointer<UnsignedInt> feature_index) int
hb_ot_layout_lookup_collect_glyph_alternates(Pointer<hb_face_t> face, int lookup_index, Pointer<hb_map_t> alternate_count, Pointer<hb_map_t> alternate_glyphs) int
hb_ot_layout_lookup_collect_glyphs(Pointer<hb_face_t> face, int table_tag, int lookup_index, Pointer<hb_set_t> glyphs_before, Pointer<hb_set_t> glyphs_input, Pointer<hb_set_t> glyphs_after, Pointer<hb_set_t> glyphs_output) → void
hb_ot_layout_lookup_get_glyph_alternates(Pointer<hb_face_t> face, int lookup_index, int glyph, int start_offset, Pointer<UnsignedInt> alternate_count, Pointer<Uint32> alternate_glyphs) int
hb_ot_layout_lookup_get_optical_bound(Pointer<hb_font_t> font, int lookup_index, hb_direction_t direction, int glyph) int
hb_ot_layout_lookup_substitute_closure(Pointer<hb_face_t> face, int lookup_index, Pointer<hb_set_t> glyphs) → void
hb_ot_layout_lookup_would_substitute(Pointer<hb_face_t> face, int lookup_index, Pointer<Uint32> glyphs, int glyphs_length, int zero_context) int
hb_ot_layout_lookups_substitute_closure(Pointer<hb_face_t> face, Pointer<hb_set_t> lookups, Pointer<hb_set_t> glyphs) → void
hb_ot_layout_script_find_language(Pointer<hb_face_t> face, int table_tag, int script_index, int language_tag, Pointer<UnsignedInt> language_index) int
hb_ot_layout_script_get_language_tags(Pointer<hb_face_t> face, int table_tag, int script_index, int start_offset, Pointer<UnsignedInt> language_count, Pointer<Uint32> language_tags) int
hb_ot_layout_script_select_language(Pointer<hb_face_t> face, int table_tag, int script_index, int language_count, Pointer<Uint32> language_tags, Pointer<UnsignedInt> language_index) int
hb_ot_layout_script_select_language2(Pointer<hb_face_t> face, int table_tag, int script_index, int language_count, Pointer<Uint32> language_tags, Pointer<UnsignedInt> language_index, Pointer<Uint32> chosen_language) int
hb_ot_layout_table_choose_script(Pointer<hb_face_t> face, int table_tag, Pointer<Uint32> script_tags, Pointer<UnsignedInt> script_index, Pointer<Uint32> chosen_script) int
Like hb_ot_layout_table_find_script, but takes zero-terminated array of scripts to test
hb_ot_layout_table_find_feature_variations(Pointer<hb_face_t> face, int table_tag, Pointer<Int> coords, int num_coords, Pointer<UnsignedInt> variations_index) int
Variations support
hb_ot_layout_table_find_script(Pointer<hb_face_t> face, int table_tag, int script_tag, Pointer<UnsignedInt> script_index) int
hb_ot_layout_table_get_feature_tags(Pointer<hb_face_t> face, int table_tag, int start_offset, Pointer<UnsignedInt> feature_count, Pointer<Uint32> feature_tags) int
hb_ot_layout_table_get_lookup_count(Pointer<hb_face_t> face, int table_tag) int
hb_ot_layout_table_get_script_tags(Pointer<hb_face_t> face, int table_tag, int start_offset, Pointer<UnsignedInt> script_count, Pointer<Uint32> script_tags) int
hb_ot_layout_table_select_script(Pointer<hb_face_t> face, int table_tag, int script_count, Pointer<Uint32> script_tags, Pointer<UnsignedInt> script_index, Pointer<Uint32> chosen_script) int
hb_ot_math_get_constant(Pointer<hb_font_t> font, hb_ot_math_constant_t constant) int
hb_ot_math_get_glyph_assembly(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, int start_offset, Pointer<UnsignedInt> parts_count, Pointer<hb_ot_math_glyph_part_t> parts, Pointer<Int32> italics_correction) int
hb_ot_math_get_glyph_italics_correction(Pointer<hb_font_t> font, int glyph) int
hb_ot_math_get_glyph_kerning(Pointer<hb_font_t> font, int glyph, hb_ot_math_kern_t kern, int correction_height) int
hb_ot_math_get_glyph_kernings(Pointer<hb_font_t> font, int glyph, hb_ot_math_kern_t kern, int start_offset, Pointer<UnsignedInt> entries_count, Pointer<hb_ot_math_kern_entry_t> kern_entries) int
hb_ot_math_get_glyph_top_accent_attachment(Pointer<hb_font_t> font, int glyph) int
hb_ot_math_get_glyph_variants(Pointer<hb_font_t> font, int glyph, hb_direction_t direction, int start_offset, Pointer<UnsignedInt> variants_count, Pointer<hb_ot_math_glyph_variant_t> variants) int
hb_ot_math_get_min_connector_overlap(Pointer<hb_font_t> font, hb_direction_t direction) int
hb_ot_math_has_data(Pointer<hb_face_t> face) int
Methods
hb_ot_math_is_glyph_extended_shape(Pointer<hb_face_t> face, int glyph) int
hb_ot_meta_get_entry_tags(Pointer<hb_face_t> face, int start_offset, Pointer<UnsignedInt> entries_count, Pointer<UnsignedInt> entries) int
hb_ot_meta_reference_entry(Pointer<hb_face_t> face, hb_ot_meta_tag_t meta_tag) Pointer<hb_blob_t>
hb_ot_metrics_get_position(Pointer<hb_font_t> font, hb_ot_metrics_tag_t metrics_tag, Pointer<Int32> position) int
hb_ot_metrics_get_position_with_fallback(Pointer<hb_font_t> font, hb_ot_metrics_tag_t metrics_tag, Pointer<Int32> position) → void
hb_ot_metrics_get_variation(Pointer<hb_font_t> font, hb_ot_metrics_tag_t metrics_tag) double
hb_ot_metrics_get_x_variation(Pointer<hb_font_t> font, hb_ot_metrics_tag_t metrics_tag) int
hb_ot_metrics_get_y_variation(Pointer<hb_font_t> font, hb_ot_metrics_tag_t metrics_tag) int
hb_ot_name_get_utf16(Pointer<hb_face_t> face, int name_id, Pointer<hb_language_impl_t> language, Pointer<UnsignedInt> text_size, Pointer<Uint16> text) int
hb_ot_name_get_utf32(Pointer<hb_face_t> face, int name_id, Pointer<hb_language_impl_t> language, Pointer<UnsignedInt> text_size, Pointer<Uint32> text) int
hb_ot_name_get_utf8(Pointer<hb_face_t> face, int name_id, Pointer<hb_language_impl_t> language, Pointer<UnsignedInt> text_size, Pointer<Char> text) int
hb_ot_name_list_names(Pointer<hb_face_t> face, Pointer<UnsignedInt> num_entries) Pointer<hb_ot_name_entry_t>
hb_ot_shape_get_buffer_format_serial() int
hb_ot_shape_glyphs_closure(Pointer<hb_font_t> font, Pointer<hb_buffer_t> buffer, Pointer<hb_feature_t> features, int num_features, Pointer<hb_set_t> glyphs) → void
TODO port to shape-plan / set.
hb_ot_shape_plan_collect_lookups(Pointer<hb_shape_plan_t> shape_plan, int table_tag, Pointer<hb_set_t> lookup_indexes) → void
hb_ot_shape_plan_get_feature_tags(Pointer<hb_shape_plan_t> shape_plan, int start_offset, Pointer<UnsignedInt> tag_count, Pointer<Uint32> tags) int
hb_ot_tag_from_language(Pointer<hb_language_impl_t> language) int
hb_ot_tag_to_language(int tag) Pointer<hb_language_impl_t>
hb_ot_tag_to_script(int tag) hb_script_t
hb_ot_tags_from_script(hb_script_t script, Pointer<Uint32> script_tag_1, Pointer<Uint32> script_tag_2) → void
hb_ot_tags_from_script_and_language(hb_script_t script, Pointer<hb_language_impl_t> language, Pointer<UnsignedInt> script_count, Pointer<Uint32> script_tags, Pointer<UnsignedInt> language_count, Pointer<Uint32> language_tags) → void
hb_ot_tags_to_script_and_language(int script_tag, int language_tag, Pointer<UnsignedInt> script, Pointer<Pointer<hb_language_impl_t>> language) → void
hb_ot_var_find_axis(Pointer<hb_face_t> face, int axis_tag, Pointer<UnsignedInt> axis_index, Pointer<hb_ot_var_axis_t> axis_info) int
hb_ot_var_find_axis_info(Pointer<hb_face_t> face, int axis_tag, Pointer<hb_ot_var_axis_info_t> axis_info) int
hb_ot_var_get_axes(Pointer<hb_face_t> face, int start_offset, Pointer<UnsignedInt> axes_count, Pointer<hb_ot_var_axis_t> axes_array) int
hb_ot_var_get_axis_count(Pointer<hb_face_t> face) int
Variation axes.
hb_ot_var_get_axis_infos(Pointer<hb_face_t> face, int start_offset, Pointer<UnsignedInt> axes_count, Pointer<hb_ot_var_axis_info_t> axes_array) int
hb_ot_var_get_named_instance_count(Pointer<hb_face_t> face) int
Named instances.
hb_ot_var_has_data(Pointer<hb_face_t> face) int
fvar / avar
hb_ot_var_named_instance_get_design_coords(Pointer<hb_face_t> face, int instance_index, Pointer<UnsignedInt> coords_length, Pointer<Float> coords) int
hb_ot_var_named_instance_get_postscript_name_id(Pointer<hb_face_t> face, int instance_index) int
hb_ot_var_named_instance_get_subfamily_name_id(Pointer<hb_face_t> face, int instance_index) int
hb_ot_var_normalize_coords(Pointer<hb_face_t> face, int coords_length, Pointer<Float> design_coords, Pointer<Int> normalized_coords) → void
hb_ot_var_normalize_variations(Pointer<hb_face_t> face, Pointer<hb_variation_t> variations, int variations_length, Pointer<Int> coords, int coords_length) → void
Conversions.
hb_paint_color(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, int is_foreground, int color) → void
hb_paint_color_glyph(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, int glyph, Pointer<hb_font_t> font) int
hb_paint_custom_palette_color(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, int color_index, Pointer<Uint32> color) int
hb_paint_funcs_create() Pointer<hb_paint_funcs_t>
hb_paint_funcs_destroy(Pointer<hb_paint_funcs_t> funcs) → void
hb_paint_funcs_get_empty() Pointer<hb_paint_funcs_t>
hb_paint_funcs_get_user_data(Pointer<hb_paint_funcs_t> funcs, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_paint_funcs_is_immutable(Pointer<hb_paint_funcs_t> funcs) int
hb_paint_funcs_make_immutable(Pointer<hb_paint_funcs_t> funcs) → void
hb_paint_funcs_reference(Pointer<hb_paint_funcs_t> funcs) Pointer<hb_paint_funcs_t>
hb_paint_funcs_set_color_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Int is_foreground, Uint32 color, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_color_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The paint-color callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_color_glyph_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Int Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Uint32 glyph, Pointer<hb_font_t> font, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_color_glyph_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The color-glyph callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_custom_palette_color_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Int Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, UnsignedInt color_index, Pointer<Uint32> color, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_custom_palette_color_func: @funcs: a paint functions struct. @func: (closure user_data) (destroy destroy) (scope notified): custom-palette-color callback. @user_data: data to pass to @func. @destroy: (nullable): function to call when @user_data is no longer needed.
hb_paint_funcs_set_image_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Int Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_blob_t> image, UnsignedInt width, UnsignedInt height, Uint32 format, Float slant, Pointer<hb_glyph_extents_t> extents, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_image_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The paint-image callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_linear_gradient_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, Float x0, Float y0, Float x1, Float y1, Float x2, Float y2, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_linear_gradient_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The linear-gradient callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_pop_clip_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_pop_clip_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The pop-clip callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_pop_group_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, UnsignedInt mode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_pop_group_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The pop-group callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_pop_transform_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_pop_transform_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The pop-transform callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_clip_glyph_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Uint32 glyph, Pointer<hb_font_t> font, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_clip_glyph_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-glyph callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_clip_path_end_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_clip_path_end_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-path-end callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_clip_path_start_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Pointer<hb_draw_funcs_t> Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Pointer<Void>> draw_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_clip_path_start_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-path-start callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_clip_rectangle_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Float xmin, Float ymin, Float xmax, Float ymax, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_clip_rectangle_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-clip-rectangle callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_group_for_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, UnsignedInt mode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_group_for_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-group-for callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_group_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_group_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-group callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_push_transform_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Float xx, Float yx, Float xy, Float yy, Float dx, Float dy, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_push_transform_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The push-transform callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_radial_gradient_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, Float x0, Float y0, Float r0, Float x1, Float y1, Float r1, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_radial_gradient_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The radial-gradient callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_sweep_gradient_func(Pointer<hb_paint_funcs_t> funcs, Pointer<NativeFunction<Void Function(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, Float x0, Float y0, Float start_angle, Float end_angle, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_paint_funcs_set_sweep_gradient_func: @funcs: A paint functions struct @func: (closure user_data) (destroy destroy) (scope notified): The sweep-gradient callback @user_data: Data to pass to @func @destroy: (nullable): Function to call when @user_data is no longer needed
hb_paint_funcs_set_user_data(Pointer<hb_paint_funcs_t> funcs, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_paint_image(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_blob_t> image, int width, int height, int format, double slant, Pointer<hb_glyph_extents_t> extents) → void
hb_paint_linear_gradient(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, double x0, double y0, double x1, double y1, double x2, double y2) → void
hb_paint_normalize_color_line(Pointer<hb_color_stop_t> stops, int len, Pointer<Float> min, Pointer<Float> max) → void
hb_paint_pop_clip(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data) → void
hb_paint_pop_group(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, hb_paint_composite_mode_t mode) → void
hb_paint_pop_transform(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data) → void
hb_paint_push_clip_glyph(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, int glyph, Pointer<hb_font_t> font) → void
hb_paint_push_clip_path_end(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data) → void
hb_paint_push_clip_path_start(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<Pointer<Void>> draw_data) Pointer<hb_draw_funcs_t>
hb_paint_push_clip_rectangle(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, double xmin, double ymin, double xmax, double ymax) → void
hb_paint_push_font_transform(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_font_t> font) → void
hb_paint_push_group(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data) → void
hb_paint_push_group_for(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, hb_paint_composite_mode_t mode) → void
hb_paint_push_inverse_font_transform(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_font_t> font) → void
hb_paint_push_transform(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, double xx, double yx, double xy, double yy, double dx, double dy) → void
Manual API
hb_paint_radial_gradient(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, double x0, double y0, double r0, double x1, double y1, double r1) → void
hb_paint_reduce_linear_anchors(double x0, double y0, double x1, double y1, double x2, double y2, Pointer<Float> xx0, Pointer<Float> yy0, Pointer<Float> xx1, Pointer<Float> yy1) → void
Gradient helpers for paint backends.
hb_paint_sweep_gradient(Pointer<hb_paint_funcs_t> funcs, Pointer<Void> paint_data, Pointer<hb_color_line_t> color_line, double x0, double y0, double start_angle, double end_angle) → void
hb_paint_sweep_gradient_tiles(Pointer<hb_color_stop_t> stops, int n_stops, hb_paint_extend_t extend, double start_angle, double end_angle, Pointer<NativeFunction<Void Function(Float a0, Uint32 c0, Float a1, Uint32 c1, Pointer<Void> user_data)>> emit_patch, Pointer<Void> user_data) → void
hb_realloc(Pointer<Void> ptr, int size) Pointer<Void>
hb_script_from_iso15924_tag(int tag) hb_script_t
hb_script_from_string(Pointer<Char> str, int len) hb_script_t
hb_script_get_horizontal_direction(hb_script_t script) hb_direction_t
hb_script_to_iso15924_tag(hb_script_t script) int
hb_segment_properties_equal(Pointer<hb_segment_properties_t> a, Pointer<hb_segment_properties_t> b) int
hb_segment_properties_hash(Pointer<hb_segment_properties_t> p) int
hb_segment_properties_overlay(Pointer<hb_segment_properties_t> p, Pointer<hb_segment_properties_t> src) → void
hb_set_add(Pointer<hb_set_t> set, int codepoint) → void
hb_set_add_range(Pointer<hb_set_t> set, int first, int last) → void
hb_set_add_sorted_array(Pointer<hb_set_t> set, Pointer<Uint32> sorted_codepoints, int num_codepoints) → void
hb_set_allocation_successful(Pointer<hb_set_t> set) int
Returns false if allocation has failed before
hb_set_clear(Pointer<hb_set_t> set) → void
hb_set_copy(Pointer<hb_set_t> set) Pointer<hb_set_t>
hb_set_create() Pointer<hb_set_t>
hb_set_del(Pointer<hb_set_t> set, int codepoint) → void
hb_set_del_range(Pointer<hb_set_t> set, int first, int last) → void
hb_set_destroy(Pointer<hb_set_t> set) → void
hb_set_get_empty() Pointer<hb_set_t>
hb_set_get_max(Pointer<hb_set_t> set) int
Returns HB_SET_VALUE_INVALID if set empty.
hb_set_get_min(Pointer<hb_set_t> set) int
Returns HB_SET_VALUE_INVALID if set empty.
hb_set_get_population(Pointer<hb_set_t> set) int
hb_set_get_user_data(Pointer<hb_set_t> set, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_set_has(Pointer<hb_set_t> set, int codepoint) int
hb_set_hash(Pointer<hb_set_t> set) int
hb_set_intersect(Pointer<hb_set_t> set, Pointer<hb_set_t> other) → void
hb_set_invert(Pointer<hb_set_t> set) → void
hb_set_is_empty(Pointer<hb_set_t> set) int
hb_set_is_equal(Pointer<hb_set_t> set, Pointer<hb_set_t> other) int
hb_set_is_inverted(Pointer<hb_set_t> set) int
hb_set_is_subset(Pointer<hb_set_t> set, Pointer<hb_set_t> larger_set) int
hb_set_next(Pointer<hb_set_t> set, Pointer<Uint32> codepoint) int
Pass HB_SET_VALUE_INVALID in to get started.
hb_set_next_many(Pointer<hb_set_t> set, int codepoint, Pointer<Uint32> out, int size) int
Pass HB_SET_VALUE_INVALID in to get started.
hb_set_next_range(Pointer<hb_set_t> set, Pointer<Uint32> first, Pointer<Uint32> last) int
Pass HB_SET_VALUE_INVALID for first and last to get started.
hb_set_previous(Pointer<hb_set_t> set, Pointer<Uint32> codepoint) int
Pass HB_SET_VALUE_INVALID in to get started.
hb_set_previous_range(Pointer<hb_set_t> set, Pointer<Uint32> first, Pointer<Uint32> last) int
Pass HB_SET_VALUE_INVALID for first and last to get started.
hb_set_reference(Pointer<hb_set_t> set) Pointer<hb_set_t>
hb_set_set(Pointer<hb_set_t> set, Pointer<hb_set_t> other) → void
hb_set_set_user_data(Pointer<hb_set_t> set, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_set_subtract(Pointer<hb_set_t> set, Pointer<hb_set_t> other) → void
hb_set_symmetric_difference(Pointer<hb_set_t> set, Pointer<hb_set_t> other) → void
hb_set_union(Pointer<hb_set_t> set, Pointer<hb_set_t> other) → void
hb_shape(Pointer<hb_font_t> font, Pointer<hb_buffer_t> buffer, Pointer<hb_feature_t> features, int num_features) → void
hb_shape_full(Pointer<hb_font_t> font, Pointer<hb_buffer_t> buffer, Pointer<hb_feature_t> features, int num_features, Pointer<Pointer<Char>> shaper_list) int
hb_shape_list_shapers() Pointer<Pointer<Char>>
hb_shape_plan_create(Pointer<hb_face_t> face, Pointer<hb_segment_properties_t> props, Pointer<hb_feature_t> user_features, int num_user_features, Pointer<Pointer<Char>> shaper_list) Pointer<hb_shape_plan_t>
hb_shape_plan_create2(Pointer<hb_face_t> face, Pointer<hb_segment_properties_t> props, Pointer<hb_feature_t> user_features, int num_user_features, Pointer<Int> coords, int num_coords, Pointer<Pointer<Char>> shaper_list) Pointer<hb_shape_plan_t>
hb_shape_plan_create_cached(Pointer<hb_face_t> face, Pointer<hb_segment_properties_t> props, Pointer<hb_feature_t> user_features, int num_user_features, Pointer<Pointer<Char>> shaper_list) Pointer<hb_shape_plan_t>
hb_shape_plan_create_cached2(Pointer<hb_face_t> face, Pointer<hb_segment_properties_t> props, Pointer<hb_feature_t> user_features, int num_user_features, Pointer<Int> coords, int num_coords, Pointer<Pointer<Char>> shaper_list) Pointer<hb_shape_plan_t>
hb_shape_plan_destroy(Pointer<hb_shape_plan_t> shape_plan) → void
hb_shape_plan_execute(Pointer<hb_shape_plan_t> shape_plan, Pointer<hb_font_t> font, Pointer<hb_buffer_t> buffer, Pointer<hb_feature_t> features, int num_features) int
hb_shape_plan_get_empty() Pointer<hb_shape_plan_t>
hb_shape_plan_get_shaper(Pointer<hb_shape_plan_t> shape_plan) Pointer<Char>
hb_shape_plan_get_user_data(Pointer<hb_shape_plan_t> shape_plan, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_shape_plan_reference(Pointer<hb_shape_plan_t> shape_plan) Pointer<hb_shape_plan_t>
hb_shape_plan_set_user_data(Pointer<hb_shape_plan_t> shape_plan, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_style_get_value(Pointer<hb_font_t> font, hb_style_tag_t style_tag) double
hb_subset_axis_range_from_string(Pointer<Char> str, int len, Pointer<Float> axis_min_value, Pointer<Float> axis_max_value, Pointer<Float> axis_def_value) int
hb_subset_axis_range_to_string(Pointer<hb_subset_input_t> input, int axis_tag, Pointer<Char> buf, int size) → void
hb_subset_input_create_or_fail() Pointer<hb_subset_input_t>
hb_subset_input_destroy(Pointer<hb_subset_input_t> input) → void
hb_subset_input_get_axis_range(Pointer<hb_subset_input_t> input, int axis_tag, Pointer<Float> axis_min_value, Pointer<Float> axis_max_value, Pointer<Float> axis_def_value) int
hb_subset_input_get_flags(Pointer<hb_subset_input_t> input) hb_subset_flags_t
hb_subset_input_get_user_data(Pointer<hb_subset_input_t> input, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_subset_input_glyph_set(Pointer<hb_subset_input_t> input) Pointer<hb_set_t>
hb_subset_input_keep_everything(Pointer<hb_subset_input_t> input) → void
hb_subset_input_old_to_new_glyph_mapping(Pointer<hb_subset_input_t> input) Pointer<hb_map_t>
hb_subset_input_pin_all_axes_to_default(Pointer<hb_subset_input_t> input, Pointer<hb_face_t> face) int
hb_subset_input_pin_axis_location(Pointer<hb_subset_input_t> input, Pointer<hb_face_t> face, int axis_tag, double axis_value) int
hb_subset_input_pin_axis_to_default(Pointer<hb_subset_input_t> input, Pointer<hb_face_t> face, int axis_tag) int
hb_subset_input_reference(Pointer<hb_subset_input_t> input) Pointer<hb_subset_input_t>
hb_subset_input_set(Pointer<hb_subset_input_t> input, hb_subset_sets_t set_type) Pointer<hb_set_t>
hb_subset_input_set_axis_range(Pointer<hb_subset_input_t> input, Pointer<hb_face_t> face, int axis_tag, double axis_min_value, double axis_max_value, double axis_def_value) int
hb_subset_input_set_flags(Pointer<hb_subset_input_t> input, int value) → void
hb_subset_input_set_user_data(Pointer<hb_subset_input_t> input, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_subset_input_unicode_set(Pointer<hb_subset_input_t> input) Pointer<hb_set_t>
hb_subset_or_fail(Pointer<hb_face_t> source, Pointer<hb_subset_input_t> input) Pointer<hb_face_t>
hb_subset_plan_create_or_fail(Pointer<hb_face_t> face, Pointer<hb_subset_input_t> input) Pointer<hb_subset_plan_t>
hb_subset_plan_destroy(Pointer<hb_subset_plan_t> plan) → void
hb_subset_plan_execute_or_fail(Pointer<hb_subset_plan_t> plan) Pointer<hb_face_t>
hb_subset_plan_get_user_data(Pointer<hb_subset_plan_t> plan, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_subset_plan_new_to_old_glyph_mapping(Pointer<hb_subset_plan_t> plan) Pointer<hb_map_t>
hb_subset_plan_old_to_new_glyph_mapping(Pointer<hb_subset_plan_t> plan) Pointer<hb_map_t>
hb_subset_plan_reference(Pointer<hb_subset_plan_t> plan) Pointer<hb_subset_plan_t>
hb_subset_plan_set_user_data(Pointer<hb_subset_plan_t> plan, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_subset_plan_unicode_to_old_glyph_mapping(Pointer<hb_subset_plan_t> plan) Pointer<hb_map_t>
hb_subset_preprocess(Pointer<hb_face_t> source) Pointer<hb_face_t>
hb_tag_from_string(Pointer<Char> str, int len) int
len=-1 means str is NUL-terminated.
hb_tag_to_string(int tag, Pointer<Char> buf) → void
buf should have 4 bytes.
hb_unicode_combining_class(Pointer<hb_unicode_funcs_t> ufuncs, int unicode) hb_unicode_combining_class_t
hb_unicode_compose(Pointer<hb_unicode_funcs_t> ufuncs, int a, int b, Pointer<Uint32> ab) int
hb_unicode_decompose(Pointer<hb_unicode_funcs_t> ufuncs, int ab, Pointer<Uint32> a, Pointer<Uint32> b) int
hb_unicode_decompose_compatibility(Pointer<hb_unicode_funcs_t> ufuncs, int u, Pointer<Uint32> decomposed) int
hb_unicode_eastasian_width(Pointer<hb_unicode_funcs_t> ufuncs, int unicode) int
hb_unicode_eastasian_width: @ufuncs: a Unicode-function structure @unicode: The code point to query
hb_unicode_funcs_create(Pointer<hb_unicode_funcs_t> parent) Pointer<hb_unicode_funcs_t>
hb_unicode_funcs_destroy(Pointer<hb_unicode_funcs_t> ufuncs) → void
hb_unicode_funcs_get_default() Pointer<hb_unicode_funcs_t>
just give me the best implementation you've got there.
hb_unicode_funcs_get_empty() Pointer<hb_unicode_funcs_t>
hb_unicode_funcs_get_parent(Pointer<hb_unicode_funcs_t> ufuncs) Pointer<hb_unicode_funcs_t>
hb_unicode_funcs_get_user_data(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<hb_user_data_key_t> key) Pointer<Void>
hb_unicode_funcs_is_immutable(Pointer<hb_unicode_funcs_t> ufuncs) int
hb_unicode_funcs_make_immutable(Pointer<hb_unicode_funcs_t> ufuncs) → void
hb_unicode_funcs_reference(Pointer<hb_unicode_funcs_t> ufuncs) Pointer<hb_unicode_funcs_t>
hb_unicode_funcs_set_combining_class_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 unicode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_combining_class_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_compose_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<Int Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 a, Uint32 b, Pointer<Uint32> ab, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_compose_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_decompose_compatibility_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 u, Pointer<Uint32> decomposed, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_decompose_compatibility_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_decompose_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<Int Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 ab, Pointer<Uint32> a, Pointer<Uint32> b, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_decompose_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_eastasian_width_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 unicode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_eastasian_width_func: @ufuncs: a Unicode-function structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_general_category_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 unicode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_general_category_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_mirroring_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<Uint32 Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 unicode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_mirroring_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_script_func(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<NativeFunction<UnsignedInt Function(Pointer<hb_unicode_funcs_t> ufuncs, Uint32 unicode, Pointer<Void> user_data)>> func, Pointer<Void> user_data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy) → void
hb_unicode_funcs_set_script_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore
hb_unicode_funcs_set_user_data(Pointer<hb_unicode_funcs_t> ufuncs, Pointer<hb_user_data_key_t> key, Pointer<Void> data, Pointer<NativeFunction<Void Function(Pointer<Void> user_data)>> destroy, int replace) int
hb_unicode_general_category(Pointer<hb_unicode_funcs_t> ufuncs, int unicode) hb_unicode_general_category_t
hb_unicode_mirroring(Pointer<hb_unicode_funcs_t> ufuncs, int unicode) int
hb_unicode_mirroring: @ufuncs: The Unicode-functions structure @unicode: The code point to query
hb_unicode_script(Pointer<hb_unicode_funcs_t> ufuncs, int unicode) hb_script_t
hb_variation_from_string(Pointer<Char> str, int len, Pointer<hb_variation_t> variation) int
hb_variation_to_string(Pointer<hb_variation_t> variation, Pointer<Char> buf, int size) → void
hb_version(Pointer<UnsignedInt> major, Pointer<UnsignedInt> minor, Pointer<UnsignedInt> micro) → void
hb_version_atleast(int major, int minor, int micro) int
hb_version_string() Pointer<Char>