UNPKG

@react-gnome/gjs-esm-types

Version:

TypeScript module declarations for GJS ESM modules.

2,157 lines (2,143 loc) 276 kB
/* * 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