@react-gnome/gjs-esm-types
Version:
TypeScript module declarations for GJS ESM modules.
2,157 lines (2,143 loc) • 276 kB
TypeScript
/*
* Type Definitions for Gjs (https://gjs.guide/)
*
* These type definitions are automatically generated, do not edit them by hand.
* If you found a bug fix it in ts-for-gir itself or create a bug report on https://github.com/gjsify/ts-for-gjs
*/
import type freetype2 from "gi://freetype2?version=2.0";
import type GObject from "gi://GObject?version=2.0";
import type GLib from "gi://GLib?version=2.0";
declare module "gi://HarfBuzz?version=0.0" {
/**
* The selectors defined for specifying AAT feature settings.
*/
enum aat_layout_feature_selector_t {
/**
* Initial, unset feature selector
*/
INVALID,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC
*/
ALL_TYPE_FEATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC
*/
ALL_TYPE_FEATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
REQUIRED_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
REQUIRED_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
COMMON_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
COMMON_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
RARE_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
RARE_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
LOGOS_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
LOGOS_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
REBUS_PICTURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
REBUS_PICTURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
DIPHTHONG_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
DIPHTHONG_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
SQUARED_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
SQUARED_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
ABBREV_SQUARED_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
ABBREV_SQUARED_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
SYMBOL_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
SYMBOL_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
CONTEXTUAL_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
CONTEXTUAL_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
HISTORICAL_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
HISTORICAL_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
UNCONNECTED,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
PARTIALLY_CONNECTED,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES
*/
CURSIVE,
/**
* Deprecated
*/
UPPER_AND_LOWER_CASE,
/**
* Deprecated
*/
ALL_CAPS,
/**
* Deprecated
*/
ALL_LOWER_CASE,
/**
* Deprecated
*/
SMALL_CAPS,
/**
* Deprecated
*/
INITIAL_CAPS,
/**
* Deprecated
*/
INITIAL_CAPS_AND_SMALL_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION
*/
SUBSTITUTE_VERTICAL_FORMS_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION
*/
SUBSTITUTE_VERTICAL_FORMS_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT
*/
LINGUISTIC_REARRANGEMENT_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT
*/
LINGUISTIC_REARRANGEMENT_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
*/
MONOSPACED_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
*/
PROPORTIONAL_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
*/
THIRD_WIDTH_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING
*/
QUARTER_WIDTH_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
WORD_INITIAL_SWASHES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
WORD_INITIAL_SWASHES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
WORD_FINAL_SWASHES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
WORD_FINAL_SWASHES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
LINE_INITIAL_SWASHES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
LINE_INITIAL_SWASHES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
LINE_FINAL_SWASHES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
LINE_FINAL_SWASHES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
NON_FINAL_SWASHES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE
*/
NON_FINAL_SWASHES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
*/
SHOW_DIACRITICS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
*/
HIDE_DIACRITICS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE
*/
DECOMPOSE_DIACRITICS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
*/
NORMAL_POSITION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
*/
SUPERIORS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
*/
INFERIORS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
*/
ORDINALS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION
*/
SCIENTIFIC_INFERIORS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
*/
NO_FRACTIONS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
*/
VERTICAL_FRACTIONS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS
*/
DIAGONAL_FRACTIONS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE
*/
PREVENT_OVERLAP_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE
*/
PREVENT_OVERLAP_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
HYPHENS_TO_EM_DASH_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
HYPHENS_TO_EM_DASH_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
HYPHEN_TO_EN_DASH_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
HYPHEN_TO_EN_DASH_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
SLASHED_ZERO_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
SLASHED_ZERO_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
FORM_INTERROBANG_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
FORM_INTERROBANG_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
SMART_QUOTES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
SMART_QUOTES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
PERIODS_TO_ELLIPSIS_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS
*/
PERIODS_TO_ELLIPSIS_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
HYPHEN_TO_MINUS_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
HYPHEN_TO_MINUS_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
ASTERISK_TO_MULTIPLY_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
ASTERISK_TO_MULTIPLY_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
SLASH_TO_DIVIDE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
SLASH_TO_DIVIDE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
INEQUALITY_LIGATURES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
INEQUALITY_LIGATURES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
EXPONENTS_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
EXPONENTS_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
MATHEMATICAL_GREEK_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS
*/
MATHEMATICAL_GREEK_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
NO_ORNAMENTS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
DINGBATS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
PI_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
FLEURONS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
DECORATIVE_BORDERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
INTERNATIONAL_SYMBOLS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE
*/
MATH_SYMBOLS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES
*/
NO_ALTERNATES,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
*/
DESIGN_LEVEL1,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
*/
DESIGN_LEVEL2,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
*/
DESIGN_LEVEL3,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
*/
DESIGN_LEVEL4,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE
*/
DESIGN_LEVEL5,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
NO_STYLE_OPTIONS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
DISPLAY_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
ENGRAVED_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
ILLUMINATED_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
TITLING_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS
*/
TALL_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
SIMPLIFIED_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
JIS1978_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
JIS1983_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
JIS1990_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_ALT_ONE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_ALT_TWO,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_ALT_THREE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_ALT_FOUR,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_ALT_FIVE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
EXPERT_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
JIS2004_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
HOJO_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
NLCCHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE
*/
TRADITIONAL_NAMES_CHARACTERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE
*/
LOWER_CASE_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE
*/
UPPER_CASE_NUMBERS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
PROPORTIONAL_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
MONOSPACED_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
HALF_WIDTH_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
THIRD_WIDTH_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
QUARTER_WIDTH_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
ALT_PROPORTIONAL_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING
*/
ALT_HALF_WIDTH_TEXT,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
NO_TRANSLITERATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
HANJA_TO_HANGUL,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
HIRAGANA_TO_KATAKANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
KATAKANA_TO_HIRAGANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
KANA_TO_ROMANIZATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
ROMANIZATION_TO_HIRAGANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
ROMANIZATION_TO_KATAKANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
HANJA_TO_HANGUL_ALT_ONE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
HANJA_TO_HANGUL_ALT_TWO,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION
*/
HANJA_TO_HANGUL_ALT_THREE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
NO_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
BOX_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
ROUNDED_BOX_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
CIRCLE_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
INVERTED_CIRCLE_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
PARENTHESIS_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
PERIOD_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
ROMAN_NUMERAL_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
DIAMOND_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
INVERTED_BOX_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE
*/
INVERTED_ROUNDED_BOX_ANNOTATION,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE
*/
FULL_WIDTH_KANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE
*/
PROPORTIONAL_KANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
*/
FULL_WIDTH_IDEOGRAPHS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
*/
PROPORTIONAL_IDEOGRAPHS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE
*/
HALF_WIDTH_IDEOGRAPHS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
CANONICAL_COMPOSITION_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
CANONICAL_COMPOSITION_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
COMPATIBILITY_COMPOSITION_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
COMPATIBILITY_COMPOSITION_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
TRANSCODING_COMPOSITION_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE
*/
TRANSCODING_COMPOSITION_OFF,
/**
* Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF instead
*/
NO_RUBY_KANA,
/**
* Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON instead
*/
RUBY_KANA,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA
*/
RUBY_KANA_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA
*/
RUBY_KANA_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
NO_CJK_SYMBOL_ALTERNATIVES,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
CJK_SYMBOL_ALT_ONE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
CJK_SYMBOL_ALT_TWO,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
CJK_SYMBOL_ALT_THREE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
CJK_SYMBOL_ALT_FOUR,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE
*/
CJK_SYMBOL_ALT_FIVE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
NO_IDEOGRAPHIC_ALTERNATIVES,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
IDEOGRAPHIC_ALT_ONE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
IDEOGRAPHIC_ALT_TWO,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
IDEOGRAPHIC_ALT_THREE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
IDEOGRAPHIC_ALT_FOUR,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE
*/
IDEOGRAPHIC_ALT_FIVE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE
*/
CJK_VERTICAL_ROMAN_CENTERED,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE
*/
CJK_VERTICAL_ROMAN_HBASELINE,
/**
* Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF instead
*/
NO_CJK_ITALIC_ROMAN,
/**
* Deprecated; use #HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON instead
*/
CJK_ITALIC_ROMAN,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN
*/
CJK_ITALIC_ROMAN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN
*/
CJK_ITALIC_ROMAN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
*/
CASE_SENSITIVE_LAYOUT_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
*/
CASE_SENSITIVE_LAYOUT_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
*/
CASE_SENSITIVE_SPACING_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT
*/
CASE_SENSITIVE_SPACING_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
*/
ALTERNATE_HORIZ_KANA_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
*/
ALTERNATE_HORIZ_KANA_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
*/
ALTERNATE_VERT_KANA_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA
*/
ALTERNATE_VERT_KANA_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
NO_STYLISTIC_ALTERNATES,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_ONE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_ONE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWO_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWO_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_THREE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_THREE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FOUR_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FOUR_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FIVE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FIVE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SIX_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SIX_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SEVEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SEVEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_EIGHT_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_EIGHT_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_NINE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_NINE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_ELEVEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_ELEVEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWELVE_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWELVE_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_THIRTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_THIRTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FOURTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FOURTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FIFTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_FIFTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SIXTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SIXTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SEVENTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_SEVENTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_EIGHTEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_EIGHTEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_NINETEEN_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_NINETEEN_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWENTY_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES
*/
STYLISTIC_ALT_TWENTY_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
CONTEXTUAL_ALTERNATES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
CONTEXTUAL_ALTERNATES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
SWASH_ALTERNATES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
SWASH_ALTERNATES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
CONTEXTUAL_SWASH_ALTERNATES_ON,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES
*/
CONTEXTUAL_SWASH_ALTERNATES_OFF,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
*/
DEFAULT_LOWER_CASE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
*/
LOWER_CASE_SMALL_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE
*/
LOWER_CASE_PETITE_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
*/
DEFAULT_UPPER_CASE,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
*/
UPPER_CASE_SMALL_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE
*/
UPPER_CASE_PETITE_CAPS,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
*/
HALF_WIDTH_CJK_ROMAN,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
*/
PROPORTIONAL_CJK_ROMAN,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
*/
DEFAULT_CJK_ROMAN,
/**
* for #HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE
*/
FULL_WIDTH_CJK_ROMAN,
}
/**
* The possible feature types defined for AAT shaping, from Apple [Font Feature Registry](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html).
*/
enum aat_layout_feature_type_t {
/**
* Initial, unset feature type
*/
INVALID,
/**
* [All Typographic Features](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type0)
*/
ALL_TYPOGRAPHIC,
/**
* [Ligatures](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type1)
*/
LIGATURES,
/**
* [Cursive Connection](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type2)
*/
CURISVE_CONNECTION,
/**
* [Letter Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type3)
*/
LETTER_CASE,
/**
* [Vertical Substitution](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type4)
*/
VERTICAL_SUBSTITUTION,
/**
* [Linguistic Rearrangement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type5)
*/
LINGUISTIC_REARRANGEMENT,
/**
* [Number Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type6)
*/
NUMBER_SPACING,
/**
* [Smart Swash](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type8)
*/
SMART_SWASH_TYPE,
/**
* [Diacritics](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type9)
*/
DIACRITICS_TYPE,
/**
* [Vertical Position](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type10)
*/
VERTICAL_POSITION,
/**
* [Fractions](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type11)
*/
FRACTIONS,
/**
* [Overlapping Characters](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type13)
*/
OVERLAPPING_CHARACTERS_TYPE,
/**
* [Typographic Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type14)
*/
TYPOGRAPHIC_EXTRAS,
/**
* [Mathematical Extras](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type15)
*/
MATHEMATICAL_EXTRAS,
/**
* [Ornament Sets](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type16)
*/
ORNAMENT_SETS_TYPE,
/**
* [Character Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type17)
*/
CHARACTER_ALTERNATIVES,
/**
* [Design Complexity](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type18)
*/
DESIGN_COMPLEXITY_TYPE,
/**
* [Style Options](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type19)
*/
STYLE_OPTIONS,
/**
* [Character Shape](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type20)
*/
CHARACTER_SHAPE,
/**
* [Number Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type21)
*/
NUMBER_CASE,
/**
* [Text Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type22)
*/
TEXT_SPACING,
/**
* [Transliteration](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type23)
*/
TRANSLITERATION,
/**
* [Annotation](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type24)
*/
ANNOTATION_TYPE,
/**
* [Kana Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type25)
*/
KANA_SPACING_TYPE,
/**
* [Ideographic Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type26)
*/
IDEOGRAPHIC_SPACING_TYPE,
/**
* [Unicode Decomposition](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type27)
*/
UNICODE_DECOMPOSITION_TYPE,
/**
* [Ruby Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type28)
*/
RUBY_KANA,
/**
* [CJK Symbol Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type29)
*/
CJK_SYMBOL_ALTERNATIVES_TYPE,
/**
* [Ideographic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type30)
*/
IDEOGRAPHIC_ALTERNATIVES_TYPE,
/**
* [CJK Vertical Roman Placement](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type31)
*/
CJK_VERTICAL_ROMAN_PLACEMENT_TYPE,
/**
* [Italic CJK Roman](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type32)
*/
ITALIC_CJK_ROMAN,
/**
* [Case Sensitive Layout](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type33)
*/
CASE_SENSITIVE_LAYOUT,
/**
* [Alternate Kana](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type34)
*/
ALTERNATE_KANA,
/**
* [Stylistic Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type35)
*/
STYLISTIC_ALTERNATIVES,
/**
* [Contextual Alternatives](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type36)
*/
CONTEXTUAL_ALTERNATIVES,
/**
* [Lower Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type37)
*/
LOWER_CASE,
/**
* [Upper Case](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type38)
*/
UPPER_CASE,
/**
* [Language Tag](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type39)
*/
LANGUAGE_TAG_TYPE,
/**
* [CJK Roman Spacing](https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type103)
*/
CJK_ROMAN_SPACING_TYPE,
}
/**
* Data type for holding HarfBuzz's clustering behavior options. The cluster level
* dictates one aspect of how HarfBuzz will treat non-base characters
* during shaping.
*
* In `HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES,` non-base
* characters are merged into the cluster of the base character that precedes them.
*
* In `HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS,` non-base characters are initially
* assigned their own cluster values, which are not merged into preceding base
* clusters. This allows HarfBuzz to perform additional operations like reorder
* sequences of adjacent marks.
*
* `HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES` is the default, because it maintains
* backward compatibility with older versions of HarfBuzz. New client programs that
* do not need to maintain such backward compatibility are recommended to use
* `HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS` instead of the default.
*/
enum buffer_cluster_level_t {
/**
* Return cluster values grouped by graphemes into
* monotone order.
*/
MONOTONE_GRAPHEMES,
/**
* Return cluster values grouped into monotone order.
*/
MONOTONE_CHARACTERS,
/**
* Don't group cluster values.
*/
CHARACTERS,
/**
* Default cluster level,
* equal to `HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES`.
*/
DEFAULT,
}
/**
* The type of #hb_buffer_t contents.
*/
enum buffer_content_type_t {
/**
* Initial value for new buffer.
*/
INVALID,
/**
* The buffer contains input characters (before shaping).
*/
UNICODE,
/**
* The buffer contains output glyphs (after shaping).
*/
GLYPHS,
}
/**
* The buffer serialization and de-serialization format used in
* hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs().
*/
enum buffer_serialize_format_t {
/**
* a human-readable, plain text format.
*/
TEXT,
/**
* a machine-readable JSON format.
*/
JSON,
/**
* invalid format.
*/
INVALID,
}
/**
* The direction of a text segment or buffer.
*
* A segment can also be tested for horizontal or vertical
* orientation (irrespective of specific direction) with
* HB_DIRECTION_IS_HORIZONTAL() or HB_DIRECTION_IS_VERTICAL().
*/
enum direction_t {
/**
* Initial, unset direction.
*/
INVALID,
/**
* Text is set horizontally from left to right.
*/
LTR,
/**
* Text is set horizontally from right to left.
*/
RTL,
/**
* Text is set vertically from top to bottom.
*/
TTB,
/**
* Text is set vertically from bottom to top.
*/
BTT,
}
/**
* Data type holding the memory modes available to
* client programs.
*
* Regarding these various memory-modes:
*
* - In no case shall the HarfBuzz client modify memory
* that is passed to HarfBuzz in a blob. If there is
* any such possibility, `HB_MEMORY_MODE_DUPLICATE` should be used
* such that HarfBuzz makes a copy immediately,
*
* - Use `HB_MEMORY_MODE_READONLY` otherwise, unless you really really
* really know what you are doing,
*
* - `HB_MEMORY_MODE_WRITABLE` is appropriate if you really made a
* copy of data solely for the purpose of passing to
* HarfBuzz and doing that just once (no reuse!),
*
* - If the font is mmap()ed, it's okay to use
* `HB_MEMORY_READONLY_MAY_MAKE_WRITABLE,` however, using that mode
* correctly is very tricky. Use `HB_MEMORY_MODE_READONLY` instead.
*/
enum memory_mode_t {
/**
* HarfBuzz immediately makes a copy of the data.
*/
DUPLICATE,
/**
* HarfBuzz client will never modify the data,
* and HarfBuzz will never modify the data.
*/
READONLY,
/**
* HarfBuzz client made a copy of the data solely
* for HarfBuzz, so HarfBuzz may modify the data.
*/
WRITABLE,
/**
* See above
*/
READONLY_MAY_MAKE_WRITABLE,
}
/**
* Baseline tags from [Baseline Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags) registry.
*/
enum ot_layout_baseline_tag_t {
/**
* 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.)
*/
ROMAN,
/**
* 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.
*/
HANGING,
/**
* Ideographic character face bottom or left edge,
* if the direction is horizontal or vertical, respectively.
*/
IDEO_FACE_BOTTOM_OR_LEFT,
/**
* Ideographic character face top or right edge,
* if the direction is horizontal or vertical, respectively.
*/
IDEO_FACE_TOP_OR_RIGHT,
/**
* The center of the ideographic character face. Since: 4.0.0
*/
IDEO_FACE_CENTRAL,
/**
* Ideographic em-box bottom or left edge,
* if the direction is horizontal or vertical, respectively.
*/
IDEO_EMBOX_BOTTOM_OR_LEFT,
/**
* Ideographic em-box top or right edge baseline,
*/
IDEO_EMBOX_TOP_OR_RIGHT,
/**
* The center of the ideographic em-box. Since: 4.0.0
* if the direction is horizontal or vertical, respectively.
*/
IDEO_EMBOX_CENTRAL,
/**
* The baseline about which mathematical characters are centered.
* In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.
*/
MATH,
}
/**
* The GDEF classes defined for glyphs.
*/
enum ot_layout_glyph_class_t {
/**
* Glyphs not matching the other classifications
*/
UNCLASSIFIED,
/**
* Spacing, single characters, capable of accepting marks
*/
BASE_GLYPH,
/**
* Glyphs that represent ligation of multiple characters
*/
LIGATURE,
/**
* Non-spacing, combining glyphs that represent marks
*/
MARK,
/**
* Spacing glyphs that represent part of a single character
*/
COMPONENT,
}
/**
* The 'MATH' table constants, refer to
* [OpenType documentation](https://docs.microsoft.com/en-us/typography/opentype/spec/math#mathconstants-table)
* For more explanations.
*/
enum ot_math_constant_t {
/**
* scriptPercentScaleDown
*/
SCRIPT_PERCENT_SCALE_DOWN,
/**
* scriptScriptPercentScaleDown
*/
SCRIPT_SCRIPT_PERCENT_SCALE_DOWN,
/**
* delimitedSubFormulaMinHeight
*/
DELIMITED_SUB_FORMULA_MIN_HEIGHT,
/**
* displayOperatorMinHeight
*/
DISPLAY_OPERATOR_MIN_HEIGHT,
/**
* mathLeading
*/
MATH_LEADING,
/**
* axisHeight
*/
AXIS_HEIGHT,
/**
* accentBaseHeight
*/
ACCENT_BASE_HEIGHT,
/**
* flattenedAccentBaseHeight
*/
FLATTENED_ACCENT_BASE_HEIGHT,
/**
* subscriptShiftDown
*/
SUBSCRIPT_SHIFT_DOWN,
/**
* subscriptTopMax
*/
SUBSCRIPT_TOP_MAX,
/**
* subscriptBaselineDropMin
*/
SUBSCRIPT_BASELINE_DROP_MIN,
/**
* superscriptShiftUp
*/
SUPERSCRIPT_SHIFT_UP,
/**
* superscriptShiftUpCramped
*/
SUPERSCRIPT_SHIFT_UP_CRAMPED,
/**
* superscriptBottomMin
*/
SUPERSCRIPT_BOTTOM_MIN,
/**
* superscriptBaselineDropMax
*/
SUPERSCRIPT_BASELINE_DROP_MAX,
/**
* subSuperscriptGapMin
*/
SUB_SUPERSCRIPT_GAP_MIN,
/**
* superscriptBottomMaxWithSubscript
*/
SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT,
/**
* spaceAfterScript
*/
SPACE_AFTER_SCRIPT,
/**
* upperLimitGapMin
*/
UPPER_LIMIT_GAP_MIN,
/**
* upperLimitBaselineRiseMin
*/
UPPER_LIMIT_BASELINE_RISE_MIN,
/**
* lowerLimitGapMin
*/
LOWER_LIMIT_GAP_MIN,
/**
* lowerLimitBaselineDropMin
*/
LOWER_LIMIT_BASELINE_DROP_MIN,
/**
* stackTopShiftUp
*/
STACK_TOP_SHIFT_UP,
/**
* stackTopDisplayStyleShiftUp
*/
STACK_TOP_DISPLAY_STYLE_SHIFT_UP,
/**
* stackBottomShiftDown
*/
STACK_BOTTOM_SHIFT_DOWN,
/**
* stackBottomDisplayStyleShiftDown
*/
STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN,
/**
* stackGapMin
*/
STACK_GAP_MIN,
/**
* stackDisplayStyleGapMin
*/
STACK_DISPLAY_STYLE_GAP_MIN,
/**
* stretchStackTopShiftUp
*/
STRETCH_STACK_TOP_SHIFT_UP,
/**
* stretchStackBottomShiftDown
*/
STRETCH_STACK_BOTTOM_SHIFT_DOWN,
/**
* stretchStackGapAboveMin
*/
STRETCH_STACK_GAP_ABOVE_MIN,
/**
* stretchStackGapBelowMin
*/
STRETCH_STACK_GAP_BELOW_MIN,
/**
* fractionNumeratorShiftUp
*/
FRACTION_NUMERATOR_SHIFT_UP,
/**
* fractionNumeratorDisplayStyleShiftUp
*/
FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP,
/**
* fractionDenominatorShiftDown
*/
FRACTION_DENOMINATOR_SHIFT_DOWN,
/**
* fractionDenominatorDisplayStyleShiftDown
*/
FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN,
/**
* fractionNumeratorGapMin
*/
FRACTION_NUMERATOR_GAP_MIN,
/**
* fractionNumDisplayStyleGapMin
*/
FRACTION_NUM_DISPLAY_STYLE_GAP_MIN,
/**
* fractionRuleThickness
*/
FRACTION_RULE_THICKNESS,
/**
* fractionDenominatorGapMin
*/
FRACTION_DENOMINATOR_GAP_MIN,
/**
* fractionDenomDisplayStyleGapMin
*/
FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN,
/**
* skewedFractionHorizontalGap
*/
SKEWED_FRACTION_HORIZONTAL_GAP,
/**
* skewedFractionVerticalGap
*/
SKEWED_FRACTION_VERTICAL_GAP,
/**
* overbarVerticalGap
*/
OVERBAR_VERTICAL_GAP,
/**
* overbarRuleThickness
*/
OVERBAR_RULE_THICKNESS,
/**
* overbarExtraAscender
*/
OVERBAR_EXTRA_ASCENDER,
/**
* underbarVerticalGap
*/
UNDERBAR_VERTICAL_GAP,
/**
* underbarRuleThickness
*/
UNDERBAR_RULE_THICKNESS,
/**
* underbarExtraDescender
*/
UNDERBAR_EXTRA_DESCENDER,
/**
* radicalVerticalGap
*/
RADICAL_VERTICAL_GAP,
/**
* radicalDisplayStyleVerticalGap
*/
RADICAL_DISPLAY_STYLE_VERTICAL_GAP,
/**
* radicalRuleThickness
*/
RADICAL_RULE_THICKNESS,
/**
* radicalExtraAscender
*/
RADICAL_EXTRA_ASCENDER,
/**
* radicalKernBeforeDegree
*/
RADICAL_KERN_BEFORE_DEGREE,
/**
* radicalKernAfterDegree
*/
RADICAL_KERN_AFTER_DEGREE,
/**
* radicalDegreeBottomRaisePercent
*/
RADICAL_DEGREE_BOTTOM_RAISE_PERCENT,
}
/**
* The math kerning-table types defined for the four corners
* of a glyph.
*/
enum ot_math_kern_t {
/**
* The top right corner of the glyph.
*/
TOP_RIGHT,
/**
* The top left corner of the glyph.
*/
TOP_LEFT,
/**
* The bottom right corner of the glyph.
*/
BOTTOM_RIGHT,
/**
* The bottom left corner of the glyph.
*/
BOTTOM_LEFT,
}
/**
* Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta
*/
enum ot_meta_tag_t {
/**
* 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.
*/
DESIGN_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.
*/
SUPPORTED_LANGUAGES,
}
/**
* Metric tags corresponding to [MVAR Value
* Tags](https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags)
*/
enum ot_metrics_tag_t {
/**
* horizontal ascender.
*/
HORIZONTAL_ASCENDER,
/**
* horizontal descender.
*/
HORIZONTAL_DESCENDER,
/**
* horizontal line gap.
*/
HORIZONTAL_LINE_GAP,
/**
* horizontal clipping ascent.
*/
HORIZONTAL_CLIPPING_ASCENT,
/**
* horizontal clipping descent.
*/
HORIZONTAL_CLIPPING_DESCENT,
/**
* vertical ascender.
*/
VERTICAL_ASCENDER,
/**
* vertical descender.
*/
VERTICAL_DESCENDER,
/**
* vertical line gap.
*/
VERTICAL_LINE_GAP,
/**
* horizontal caret rise.
*/
HORIZONTAL_CARET_RISE,
/**
* horizontal caret run.
*/
HORIZONTAL_CARET_RUN,
/**
* horizontal caret offset.
*/
HORIZONTAL_CARET_OFFSET,
/**
* vertical caret rise.
*/
VERTICAL_CARET_RISE,
/**
* vertical caret run.
*/
VERTICAL_CARET_RUN,
/**
* vertical caret offset.
*/
VERTICAL_CARET_OFFSET,
/**
* x height.
*/
X_HEIGHT,
/**
* cap height.
*/
CAP_HEIGHT,
/**
* subscript em x size.
*/
SUBSCRIPT_EM_X_SIZE,
/**
* subscript em y size.
*/
SUBSCRIPT_EM_Y_SIZE,
/**
* subscript em x offset.
*/
SUBSCRIPT_EM_X_OFFSET,
/**
* subscript em y offset.
*/
SUBSCRIPT_EM_Y_OFFSET,
/**
* superscript em x size.
*/
SUPERSCRIPT_EM_X_SIZE,
/**
* superscript em y size.
*/
SUPERSCRIPT_EM_Y_SIZE,
/**
* superscript em x offset.
*/
SUPERSCRIPT_EM_X_OFFSET,
/**
* superscript em y offset.
*/
SUPERSCRIPT_EM_Y_OFFSET,
/**
* strikeout size.
*/
STRIKEOUT_SIZE,
/**
* strikeout offset.
*/
STRIKEOUT_OFFSET,
/**
* underline size.
*/
UNDERLINE_SIZE,
/**
* underline offset.
*/
UNDERLINE_OFFSET,
}
/**
* Data type for scripts. Each #hb_script_t's value is an #hb_tag_t corresponding
* to the four-letter values defined by [ISO 15924](https://unicode.org/iso15924/).
*
* See also the Script (sc) property of the Unicode Character Database.
*/
enum script_t {
/**
* `Zyyy`
*/
COMMON,
/**
* `Zinh`
*/
INHERITED,
/**
* `Zzzz`
*/
UNKNOWN,
/**
* `Arab`
*/
ARABIC,
/**
* `Armn`
*/
ARMENIAN,
/**
* `Beng`
*/
BENGALI,
/**
* `Cyrl`
*/
CYRILLIC,
/**
* `Deva`
*/
DEVANAGARI,
/**
* `Geor`
*/
GEORGIAN,
/**
* `Grek`
*/
GREEK,
/**
* `Gujr`
*/
GUJARATI,
/**
* `Guru`
*/
GURMUKHI,
/**
* `Hang`
*/
HANGUL,
/**
* `Hani`
*/
HAN,
/**
* `Hebr`
*/
HEBREW,
/**
* `Hira`
*/
HIRAGANA,
/**
* `Knda`
*/
KANNADA,
/**
* `Kana`
*/
KATAKANA,
/**
* `Laoo`
*/
LAO,
/**
* `Latn`
*/
LATIN,
/**
* `Mlym`
*/
MALAYALAM,
/**
* `Orya`
*/
ORIYA,
/**
* `Taml`
*/
TAMIL,
/**
* `Telu`
*/
TELUGU,
/**
* `Thai`
*/
THAI,
/**
* `Tibt`
*/
TIBETAN,
/**
* `Bopo`
*/
BOPOMOFO,
/**
* `Brai`
*/
BRAILLE,
/**
* `Cans`
*/
CANADIAN_SYLLABICS,
/**
* `Cher`
*/
CHEROKEE,
/**
* `Ethi`
*/
ETHIOPIC,
/**
* `Khmr`
*/
KHMER,
/**
* `Mong`
*/
MONGOLIAN,
/**
* `Mymr`
*/
MYANMAR,
/**
* `Ogam`
*/
OGHAM,
/**
* `Runr`
*/
RUNIC,
/**
* `Sinh`
*/
SINHALA,
/**
* `Syrc`
*/
SYRIAC,
/**
* `Thaa`
*/
THAANA,
/**
* `Yiii`
*/
YI,
/**
* `Dsrt`
*/
DESERET,
/**
* `Goth`
*/
GOTHIC,
/**
* `Ital`
*/
OLD_ITALIC,
/**
* `Buhd`
*/
BUHID,
/**
* `Hano`
*/
HANUNOO,
/**
* `Tglg`
*/
TAGALOG,
/**
* `Tagb`
*/
TAGBANWA,
/**
* `Cprt`
*/
CYPRIOT,
/**
* `Limb`
*/
LIMBU,
/**
* `Linb`
*/
LINEAR_B,
/**
* `Osma`
*/
OSMANYA,
/**
* `Shaw`
*/
SHAVIAN,
/**
* `Tale`
*/
TAI_LE,
/**
* `Ugar`
*/
UGARITIC,
/**
* `Bugi`
*/
BUGINESE,
/**
* `Copt`
*/
COPTIC,
/**
* `Glag`
*/
GLAGOLITIC,
/**
* `Khar`
*/
KHAROSHTHI,
/**
* `Talu`
*/
NEW_TAI_LUE,
/**
* `Xpeo`
*/
OLD_PERSIAN,
/**
* `Sylo`
*/
SYLOTI_NAGRI,
/**
* `Tfng`
*/
TIFINAGH,
/**
* `Bali`
*/
BALINESE,
/**
* `Xsux`
*/
CUNEIFORM,
/**
* `Nkoo`
*/
NKO,
/**
* `Phag`
*/
PHAGS_PA,
/**
* `Phnx`
*/
PHOENICIAN,
/**
* `Cari`
*/
CARIAN,
/**
* `Cham`
*/
CHAM,
/**
* `Kali`
*/
KAYAH_LI,
/**
* `Lepc`
*/
LEPCHA,
/**
* `Lyci`
*/
LYCIAN,
/**
* `Lydi`
*/
LYDIAN,
/**
* `Olck`
*/
OL_CHIKI,
/**
* `Rjng`
*/
REJANG,
/**
* `Saur`
*/
SAURASHTRA,
/**
* `Sund`
*/
SUNDANESE,
/**
* `Vaii`
*/
VAI,
/**
* `Avst`
*/
AVESTAN,
/**
* `Bamu`
*/
BAMUM,
/**
* `Egyp`
*/
EGYPTIAN_HIEROGLYPHS,
/**
* `Armi`
*/
IMPERIAL_ARAMAIC,
/**
* `Phli`
*/
INSCRIPTIONAL_PAHLAVI,
/**
* `Prti`
*/
INSCRIPTIONAL_PARTHIAN,
/**
* `Java`
*/
JAVANESE,
/**
* `Kthi`
*/
KA