-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | HarfBuzz bindings
--   
--   Bindings for HarfBuzz, autogenerated by haskell-gi.
@package gi-harfbuzz
@version 0.0.3


-- | Build time configuration used during code generation.
module GI.HarfBuzz.Config

-- | Overrides used when generating these bindings.
overrides :: Text


module GI.HarfBuzz.Constants

-- | <i>No description available in the introspection data.</i>
pattern VERSION_STRING :: Text

-- | <i>No description available in the introspection data.</i>
pattern VERSION_MINOR :: Int32

-- | <i>No description available in the introspection data.</i>
pattern VERSION_MICRO :: Int32

-- | <i>No description available in the introspection data.</i>
pattern VERSION_MAJOR :: Int32

-- | See Unicode 6.1 for details on the maximum decomposition length.

-- | <i>Deprecated: (Since version 2.0.0)</i>
pattern UNICODE_MAX_DECOMPOSITION_LEN :: Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.9.0</i>
pattern UNICODE_MAX :: Int32

-- | <i>No description available in the introspection data.</i>
pattern SET_VALUE_INVALID :: Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>

-- | <i>Deprecated: (Since version 2.2.0)</i>
pattern OT_VAR_NO_AXIS_INDEX :: Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.0.0</i>
pattern OT_MAX_TAGS_PER_SCRIPT :: Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.0.0</i>
pattern OT_MAX_TAGS_PER_LANGUAGE :: Int32

-- | <i>No description available in the introspection data.</i>
pattern OT_LAYOUT_NO_VARIATIONS_INDEX :: Int32

-- | <i>No description available in the introspection data.</i>
pattern OT_LAYOUT_NO_SCRIPT_INDEX :: Int32

-- | <i>No description available in the introspection data.</i>
pattern OT_LAYOUT_NO_FEATURE_INDEX :: Int32

-- | <i>No description available in the introspection data.</i>
pattern OT_LAYOUT_DEFAULT_LANGUAGE_INDEX :: Int32

-- | <i>No description available in the introspection data.</i>
pattern MAP_VALUE_INVALID :: Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.0.0</i>
pattern FEATURE_GLOBAL_START :: Int32

-- | The default code point for replacing invalid characters in a given
--   encoding. Set to U+FFFD REPLACEMENT CHARACTER.
--   
--   <i>Since: 0.9.31</i>
pattern BUFFER_REPLACEMENT_CODEPOINT_DEFAULT :: Int32

-- | <i>No description available in the introspection data.</i>
pattern AAT_LAYOUT_NO_SELECTOR_INDEX :: Int32


module GI.HarfBuzz.Enums

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
data AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInvalid :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAllTypeFeaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAllTypeFeaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRequiredLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRequiredLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCommonLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCommonLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRareLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRareLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLogosOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLogosOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRebusPicturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRebusPicturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDiphthongLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDiphthongLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSquaredLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSquaredLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSymbolLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSymbolLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHistoricalLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHistoricalLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTUnconnected :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPartiallyConnected :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCursive :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTUpperAndLowerCase :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAllCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAllLowerCase :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSmallCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInitialCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInitialCapsAndSmallCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSubstituteVerticalFormsOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSubstituteVerticalFormsOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLinguisticRearrangementOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLinguisticRearrangementOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTMonospacedNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTProportionalNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTThirdWidthNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTQuarterWidthNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTWordInitialSwashesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTWordInitialSwashesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTWordFinalSwashesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTWordFinalSwashesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLineInitialSwashesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLineInitialSwashesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLineFinalSwashesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLineFinalSwashesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNonFinalSwashesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNonFinalSwashesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTShowDiacritics :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHideDiacritics :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDecomposeDiacritics :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNormalPosition :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSuperiors :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInferiors :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTOrdinals :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTScientificInferiors :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoFractions :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTVerticalFractions :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDiagonalFractions :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPreventOverlapOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPreventOverlapOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphensToEmDashOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphensToEmDashOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphenToEnDashOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphenToEnDashOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSlashedZeroOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSlashedZeroOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFormInterrobangOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFormInterrobangOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSmartQuotesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSmartQuotesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPeriodsToEllipsisOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPeriodsToEllipsisOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphenToMinusOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHyphenToMinusOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAsteriskToMultiplyOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAsteriskToMultiplyOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSlashToDivideOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSlashToDivideOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInequalityLigaturesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInequalityLigaturesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTExponentsOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTExponentsOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTMathematicalGreekOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTMathematicalGreekOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoOrnaments :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDingbats :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPiCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFleurons :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDecorativeBorders :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInternationalSymbols :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTMathSymbols :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoAlternates :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDesignLevel1 :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDesignLevel2 :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDesignLevel3 :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDesignLevel4 :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDesignLevel5 :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoStyleOptions :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDisplayText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTEngravedText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIlluminatedCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTitlingCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTallCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSimplifiedCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTJis1978Characters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTJis1983Characters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTJis1990Characters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalAltOne :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalAltTwo :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalAltThree :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalAltFour :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalAltFive :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTExpertCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTJis2004Characters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHojoCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNlccharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTraditionalNamesCharacters :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLowerCaseNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTUpperCaseNumbers :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTProportionalText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTMonospacedText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHalfWidthText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTThirdWidthText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTQuarterWidthText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAltProportionalText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAltHalfWidthText :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoTransliteration :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHanjaToHangul :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHiraganaToKatakana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTKatakanaToHiragana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTKanaToRomanization :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRomanizationToHiragana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRomanizationToKatakana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHanjaToHangulAltOne :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHanjaToHangulAltTwo :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHanjaToHangulAltThree :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTBoxAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRoundedBoxAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCircleAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInvertedCircleAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTParenthesisAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTPeriodAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRomanNumeralAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDiamondAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInvertedBoxAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTInvertedRoundedBoxAnnotation :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFullWidthKana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTProportionalKana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFullWidthIdeographs :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTProportionalIdeographs :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHalfWidthIdeographs :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCanonicalCompositionOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCanonicalCompositionOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCompatibilityCompositionOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCompatibilityCompositionOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTranscodingCompositionOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTTranscodingCompositionOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoRubyKana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRubyKana :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRubyKanaOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTRubyKanaOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoCjkSymbolAlternatives :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkSymbolAltOne :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkSymbolAltTwo :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkSymbolAltThree :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkSymbolAltFour :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkSymbolAltFive :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoIdeographicAlternatives :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIdeographicAltOne :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIdeographicAltTwo :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIdeographicAltThree :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIdeographicAltFour :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTIdeographicAltFive :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkVerticalRomanCentered :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkVerticalRomanHbaseline :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoCjkItalicRoman :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkItalicRoman :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkItalicRomanOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCjkItalicRomanOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCaseSensitiveLayoutOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCaseSensitiveLayoutOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCaseSensitiveSpacingOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTCaseSensitiveSpacingOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAlternateHorizKanaOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAlternateHorizKanaOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAlternateVertKanaOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTAlternateVertKanaOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTNoStylisticAlternates :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltOneOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltOneOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwoOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwoOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltThreeOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltThreeOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFourOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFourOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFiveOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFiveOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSixOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSixOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSevenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSevenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltEightOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltEightOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltNineOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltNineOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltElevenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltElevenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwelveOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwelveOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltThirteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltThirteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFourteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFourteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFifteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltFifteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSixteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSixteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSeventeenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltSeventeenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltEighteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltEighteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltNineteenOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltNineteenOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwentyOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTStylisticAltTwentyOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualAlternatesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualAlternatesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSwashAlternatesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTSwashAlternatesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualSwashAlternatesOn :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTContextualSwashAlternatesOff :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDefaultLowerCase :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLowerCaseSmallCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTLowerCasePetiteCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDefaultUpperCase :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTUpperCaseSmallCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTUpperCasePetiteCaps :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTHalfWidthCjkRoman :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTProportionalCjkRoman :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTDefaultCjkRoman :: AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureSelectorTFullWidthCjkRoman :: AatLayoutFeatureSelectorT

-- | Catch-all for unknown values
AnotherAatLayoutFeatureSelectorT :: Int -> AatLayoutFeatureSelectorT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
data AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTInvalid :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTAllTypographic :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTLigatures :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCurisveConnection :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTLetterCase :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTVerticalSubstitution :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTLinguisticRearrangement :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTNumberSpacing :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTSmartSwashType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTDiacriticsType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTVerticalPosition :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTFractions :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTOverlappingCharactersType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTTypographicExtras :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTMathematicalExtras :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTOrnamentSetsType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCharacterAlternatives :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTDesignComplexityType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTStyleOptions :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCharacterShape :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTNumberCase :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTTextSpacing :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTTransliteration :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTAnnotationType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTKanaSpacingType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTIdeographicSpacingType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTUnicodeDecompositionType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTRubyKana :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCjkSymbolAlternativesType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTIdeographicAlternativesType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCjkVerticalRomanPlacementType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTItalicCjkRoman :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCaseSensitiveLayout :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTAlternateKana :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTStylisticAlternatives :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTContextualAlternatives :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTLowerCase :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTUpperCase :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTLanguageTagType :: AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
AatLayoutFeatureTypeTCjkRomanSpacingType :: AatLayoutFeatureTypeT

-- | Catch-all for unknown values
AnotherAatLayoutFeatureTypeT :: Int -> AatLayoutFeatureTypeT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.42</i>
data BufferClusterLevelT

-- | Return cluster values grouped by graphemes into monotone order.
BufferClusterLevelTMonotoneGraphemes :: BufferClusterLevelT

-- | Return cluster values grouped into monotone order.
BufferClusterLevelTMonotoneCharacters :: BufferClusterLevelT

-- | Don't group cluster values.
BufferClusterLevelTCharacters :: BufferClusterLevelT

-- | Default cluster level, equal to
--   <i><tt>hBBUFFERCLUSTERLEVELMONOTONEGRAPHEMES</tt></i>.
BufferClusterLevelTDefault :: BufferClusterLevelT

-- | Catch-all for unknown values
AnotherBufferClusterLevelT :: Int -> BufferClusterLevelT

-- | <i>No description available in the introspection data.</i>
data BufferContentTypeT

-- | Initial value for new buffer.
BufferContentTypeTInvalid :: BufferContentTypeT

-- | The buffer contains input characters (before shaping).
BufferContentTypeTUnicode :: BufferContentTypeT

-- | The buffer contains output glyphs (after shaping).
BufferContentTypeTGlyphs :: BufferContentTypeT

-- | Catch-all for unknown values
AnotherBufferContentTypeT :: Int -> BufferContentTypeT

-- | The buffer serialization and de-serialization format used in
--   <a>bufferSerializeGlyphs</a> and <a>bufferDeserializeGlyphs</a>.
--   
--   <i>Since: 0.9.2</i>
data BufferSerializeFormatT

-- | a human-readable, plain text format.
BufferSerializeFormatTText :: BufferSerializeFormatT

-- | a machine-readable JSON format.
BufferSerializeFormatTJson :: BufferSerializeFormatT

-- | invalid format.
BufferSerializeFormatTInvalid :: BufferSerializeFormatT

-- | Catch-all for unknown values
AnotherBufferSerializeFormatT :: Int -> BufferSerializeFormatT

-- | <i>No description available in the introspection data.</i>
data DirectionT

-- | Initial, unset direction.
DirectionTInvalid :: DirectionT

-- | Text is set horizontally from left to right.
DirectionTLtr :: DirectionT

-- | Text is set horizontally from right to left.
DirectionTRtl :: DirectionT

-- | Text is set vertically from top to bottom.
DirectionTTtb :: DirectionT

-- | Text is set vertically from bottom to top.
DirectionTBtt :: DirectionT

-- | Catch-all for unknown values
AnotherDirectionT :: Int -> DirectionT

-- | <i>No description available in the introspection data.</i>
data MemoryModeT

-- | <i>No description available in the introspection data.</i>
MemoryModeTDuplicate :: MemoryModeT

-- | <i>No description available in the introspection data.</i>
MemoryModeTReadonly :: MemoryModeT

-- | <i>No description available in the introspection data.</i>
MemoryModeTWritable :: MemoryModeT

-- | <i>No description available in the introspection data.</i>
MemoryModeTReadonlyMayMakeWritable :: MemoryModeT

-- | Catch-all for unknown values
AnotherMemoryModeT :: Int -> MemoryModeT

-- | Baseline tags from
--   https://docs.microsoft.com/en-us/typography/opentype/spec/baselinetags
--   
--   <i>Since: 2.6.0</i>
data OtLayoutBaselineTagT

-- | 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.)
OtLayoutBaselineTagTRoman :: OtLayoutBaselineTagT

-- | 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.
OtLayoutBaselineTagTHanging :: OtLayoutBaselineTagT

-- | Ideographic character face bottom or left edge, if the direction is
--   horizontal or vertical, respectively.
OtLayoutBaselineTagTIdeoFaceBottomOrLeft :: OtLayoutBaselineTagT

-- | Ideographic character face top or right edge, if the direction is
--   horizontal or vertical, respectively.
OtLayoutBaselineTagTIdeoFaceTopOrRight :: OtLayoutBaselineTagT

-- | Ideographic em-box bottom or left edge, if the direction is horizontal
--   or vertical, respectively.
OtLayoutBaselineTagTIdeoEmboxBottomOrLeft :: OtLayoutBaselineTagT

-- | Ideographic em-box top or right edge baseline, if the direction is
--   horizontal or vertical, respectively.
OtLayoutBaselineTagTIdeoEmboxTopOrRight :: OtLayoutBaselineTagT

-- | The baseline about which mathematical characters are centered. In
--   vertical writing mode when mathematical characters rotated 90 degrees
--   clockwise, are centered.
OtLayoutBaselineTagTMath :: OtLayoutBaselineTagT

-- | Catch-all for unknown values
AnotherOtLayoutBaselineTagT :: Int -> OtLayoutBaselineTagT

-- | The GDEF classes defined for glyphs.
data OtLayoutGlyphClassT

-- | Glyphs not matching the other classifications
OtLayoutGlyphClassTUnclassified :: OtLayoutGlyphClassT

-- | Spacing, single characters, capable of accepting marks
OtLayoutGlyphClassTBaseGlyph :: OtLayoutGlyphClassT

-- | Glyphs that represent ligation of multiple characters
OtLayoutGlyphClassTLigature :: OtLayoutGlyphClassT

-- | Non-spacing, combining glyphs that represent marks
OtLayoutGlyphClassTMark :: OtLayoutGlyphClassT

-- | Spacing glyphs that represent part of a single character
OtLayoutGlyphClassTComponent :: OtLayoutGlyphClassT

-- | Catch-all for unknown values
AnotherOtLayoutGlyphClassT :: Int -> OtLayoutGlyphClassT

-- | The 'MATH' table constants specified at
--   https://docs.microsoft.com/en-us/typography/opentype/spec/math
--   
--   <i>Since: 1.3.3</i>
data OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTScriptPercentScaleDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTScriptScriptPercentScaleDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTDelimitedSubFormulaMinHeight :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTDisplayOperatorMinHeight :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTMathLeading :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTAxisHeight :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTAccentBaseHeight :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFlattenedAccentBaseHeight :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSubscriptShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSubscriptTopMax :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSubscriptBaselineDropMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSuperscriptShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSuperscriptShiftUpCramped :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSuperscriptBottomMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSuperscriptBaselineDropMax :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSubSuperscriptGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSuperscriptBottomMaxWithSubscript :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSpaceAfterScript :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTUpperLimitGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTUpperLimitBaselineRiseMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTLowerLimitGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTLowerLimitBaselineDropMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackTopShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackTopDisplayStyleShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackBottomShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackBottomDisplayStyleShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStackDisplayStyleGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStretchStackTopShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStretchStackBottomShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStretchStackGapAboveMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTStretchStackGapBelowMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionNumeratorShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionNumeratorDisplayStyleShiftUp :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionDenominatorShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionDenominatorDisplayStyleShiftDown :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionNumeratorGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionNumDisplayStyleGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionRuleThickness :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionDenominatorGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTFractionDenomDisplayStyleGapMin :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSkewedFractionHorizontalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTSkewedFractionVerticalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTOverbarVerticalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTOverbarRuleThickness :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTOverbarExtraAscender :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTUnderbarVerticalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTUnderbarRuleThickness :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTUnderbarExtraDescender :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalVerticalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalDisplayStyleVerticalGap :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalRuleThickness :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalExtraAscender :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalKernBeforeDegree :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalKernAfterDegree :: OtMathConstantT

-- | <i>No description available in the introspection data.</i>
OtMathConstantTRadicalDegreeBottomRaisePercent :: OtMathConstantT

-- | Catch-all for unknown values
AnotherOtMathConstantT :: Int -> OtMathConstantT

-- | The math kerning-table types defined for the four corners of a glyph.
--   
--   <i>Since: 1.3.3</i>
data OtMathKernT

-- | <i>No description available in the introspection data.</i>
OtMathKernTTopRight :: OtMathKernT

-- | <i>No description available in the introspection data.</i>
OtMathKernTTopLeft :: OtMathKernT

-- | <i>No description available in the introspection data.</i>
OtMathKernTBottomRight :: OtMathKernT

-- | <i>No description available in the introspection data.</i>
OtMathKernTBottomLeft :: OtMathKernT

-- | Catch-all for unknown values
AnotherOtMathKernT :: Int -> OtMathKernT

-- | Known metadata tags from
--   https://docs.microsoft.com/en-us/typography/opentype/spec/meta
--   
--   <i>Since: 2.6.0</i>
data OtMetaTagT

-- | 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.
OtMetaTagTDesignLanguages :: OtMetaTagT

-- | Supported languages. Text, using only Basic Latin (ASCII) characters.
--   Indicates languages and/or scripts that the font is declared to be
--   capable of supporting.
OtMetaTagTSupportedLanguages :: OtMetaTagT

-- | Catch-all for unknown values
AnotherOtMetaTagT :: Int -> OtMetaTagT

-- | From
--   https://docs.microsoft.com/en-us/typography/opentype/spec/mvar<tt><i>value</i></tt>-tags
--   
--   <i>Since: 2.6.0</i>
data OtMetricsTagT

-- | horizontal ascender.
OtMetricsTagTHorizontalAscender :: OtMetricsTagT

-- | horizontal descender.
OtMetricsTagTHorizontalDescender :: OtMetricsTagT

-- | horizontal line gap.
OtMetricsTagTHorizontalLineGap :: OtMetricsTagT

-- | horizontal clipping ascent.
OtMetricsTagTHorizontalClippingAscent :: OtMetricsTagT

-- | horizontal clipping descent.
OtMetricsTagTHorizontalClippingDescent :: OtMetricsTagT

-- | vertical ascender.
OtMetricsTagTVerticalAscender :: OtMetricsTagT

-- | vertical descender.
OtMetricsTagTVerticalDescender :: OtMetricsTagT

-- | vertical line gap.
OtMetricsTagTVerticalLineGap :: OtMetricsTagT

-- | horizontal caret rise.
OtMetricsTagTHorizontalCaretRise :: OtMetricsTagT

-- | horizontal caret run.
OtMetricsTagTHorizontalCaretRun :: OtMetricsTagT

-- | horizontal caret offset.
OtMetricsTagTHorizontalCaretOffset :: OtMetricsTagT

-- | vertical caret rise.
OtMetricsTagTVerticalCaretRise :: OtMetricsTagT

-- | vertical caret run.
OtMetricsTagTVerticalCaretRun :: OtMetricsTagT

-- | vertical caret offset.
OtMetricsTagTVerticalCaretOffset :: OtMetricsTagT

-- | x height.
OtMetricsTagTXHeight :: OtMetricsTagT

-- | cap height.
OtMetricsTagTCapHeight :: OtMetricsTagT

-- | subscript em x size.
OtMetricsTagTSubscriptEmXSize :: OtMetricsTagT

-- | subscript em y size.
OtMetricsTagTSubscriptEmYSize :: OtMetricsTagT

-- | subscript em x offset.
OtMetricsTagTSubscriptEmXOffset :: OtMetricsTagT

-- | subscript em y offset.
OtMetricsTagTSubscriptEmYOffset :: OtMetricsTagT

-- | superscript em x size.
OtMetricsTagTSuperscriptEmXSize :: OtMetricsTagT

-- | superscript em y size.
OtMetricsTagTSuperscriptEmYSize :: OtMetricsTagT

-- | superscript em x offset.
OtMetricsTagTSuperscriptEmXOffset :: OtMetricsTagT

-- | superscript em y offset.
OtMetricsTagTSuperscriptEmYOffset :: OtMetricsTagT

-- | strikeout size.
OtMetricsTagTStrikeoutSize :: OtMetricsTagT

-- | strikeout offset.
OtMetricsTagTStrikeoutOffset :: OtMetricsTagT

-- | underline size.
OtMetricsTagTUnderlineSize :: OtMetricsTagT

-- | underline offset.
OtMetricsTagTUnderlineOffset :: OtMetricsTagT

-- | Catch-all for unknown values
AnotherOtMetricsTagT :: Int -> OtMetricsTagT

-- | <i>No description available in the introspection data.</i>
data ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCommon :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTInherited :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTUnknown :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTArabic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTArmenian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBengali :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCyrillic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTDevanagari :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGeorgian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGreek :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGujarati :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGurmukhi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHangul :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHebrew :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHiragana :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKannada :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKatakana :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLao :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLatin :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMalayalam :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOriya :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTamil :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTelugu :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTThai :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTibetan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBopomofo :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBraille :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCanadianSyllabics :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCherokee :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTEthiopic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKhmer :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMongolian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMyanmar :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOgham :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTRunic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSinhala :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSyriac :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTThaana :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTYi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTDeseret :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGothic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldItalic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBuhid :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHanunoo :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTagalog :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTagbanwa :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCypriot :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLimbu :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLinearB :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOsmanya :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTShavian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTaiLe :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTUgaritic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBuginese :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCoptic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGlagolitic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKharoshthi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNewTaiLue :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldPersian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSylotiNagri :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTifinagh :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBalinese :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCuneiform :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNko :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPhagsPa :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPhoenician :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCarian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCham :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKayahLi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLepcha :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLycian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLydian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOlChiki :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTRejang :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSaurashtra :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSundanese :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTVai :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTAvestan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBamum :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTEgyptianHieroglyphs :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTImperialAramaic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTInscriptionalPahlavi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTInscriptionalParthian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTJavanese :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKaithi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLisu :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMeeteiMayek :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldSouthArabian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldTurkic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSamaritan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTaiTham :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTaiViet :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBatak :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBrahmi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMandaic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTChakma :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMeroiticCursive :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMeroiticHieroglyphs :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMiao :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSharada :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSoraSompeng :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTakri :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBassaVah :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTCaucasianAlbanian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTDuployan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTElbasan :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGrantha :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKhojki :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKhudawadi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTLinearA :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMahajani :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTManichaean :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMendeKikakui :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTModi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMro :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNabataean :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldNorthArabian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldPermic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPahawhHmong :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPalmyrene :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPauCinHau :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTPsalterPahlavi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSiddham :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTirhuta :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTWarangCiti :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTAhom :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTAnatolianHieroglyphs :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHatran :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMultani :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldHungarian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSignwriting :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTAdlam :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTBhaiksuki :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMarchen :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOsage :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTTangut :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNewa :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMasaramGondi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNushu :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSoyombo :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTZanabazarSquare :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTDogra :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTGunjalaGondi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTHanifiRohingya :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMakasar :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTMedefaidrin :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTOldSogdian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTSogdian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTElymaic :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNandinagari :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTNyiakengPuachueHmong :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTWancho :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTChorasmian :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTDivesAkuru :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTKhitanSmallScript :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTYezidi :: ScriptT

-- | <i>No description available in the introspection data.</i>
ScriptTInvalid :: ScriptT

-- | Catch-all for unknown values
AnotherScriptT :: Int -> ScriptT

-- | <i>No description available in the introspection data.</i>
data UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTNotReordered :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTOverlay :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTNukta :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTKanaVoicing :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTVirama :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc10 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc11 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc12 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc13 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc14 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc15 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc16 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc17 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc18 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc19 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc20 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc21 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc22 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc23 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc24 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc25 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc26 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc27 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc28 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc29 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc30 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc31 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc32 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc33 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc34 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc35 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc36 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc84 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc91 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc103 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc107 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc118 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc122 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc129 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc130 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTCcc133 :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAttachedBelowLeft :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAttachedBelow :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAttachedAbove :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAttachedAboveRight :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTBelowLeft :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTBelow :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTBelowRight :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTLeft :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTRight :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAboveLeft :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAbove :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTAboveRight :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTDoubleBelow :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTDoubleAbove :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTIotaSubscript :: UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
UnicodeCombiningClassTInvalid :: UnicodeCombiningClassT

-- | Catch-all for unknown values
AnotherUnicodeCombiningClassT :: Int -> UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
data UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTControl :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTFormat :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTUnassigned :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTPrivateUse :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTSurrogate :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTLowercaseLetter :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTModifierLetter :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTOtherLetter :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTTitlecaseLetter :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTUppercaseLetter :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTSpacingMark :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTEnclosingMark :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTNonSpacingMark :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTDecimalNumber :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTLetterNumber :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTOtherNumber :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTConnectPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTDashPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTClosePunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTFinalPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTInitialPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTOtherPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTOpenPunctuation :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTCurrencySymbol :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTModifierSymbol :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTMathSymbol :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTOtherSymbol :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTLineSeparator :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTParagraphSeparator :: UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
UnicodeGeneralCategoryTSpaceSeparator :: UnicodeGeneralCategoryT

-- | Catch-all for unknown values
AnotherUnicodeGeneralCategoryT :: Int -> UnicodeGeneralCategoryT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance GHC.Show.Show GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance GHC.Show.Show GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.BufferClusterLevelT
instance GHC.Show.Show GI.HarfBuzz.Enums.BufferClusterLevelT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.BufferContentTypeT
instance GHC.Show.Show GI.HarfBuzz.Enums.BufferContentTypeT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.BufferSerializeFormatT
instance GHC.Show.Show GI.HarfBuzz.Enums.BufferSerializeFormatT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.DirectionT
instance GHC.Show.Show GI.HarfBuzz.Enums.DirectionT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.MemoryModeT
instance GHC.Show.Show GI.HarfBuzz.Enums.MemoryModeT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtMathConstantT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtMathConstantT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtMathKernT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtMathKernT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtMetaTagT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtMetaTagT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.OtMetricsTagT
instance GHC.Show.Show GI.HarfBuzz.Enums.OtMetricsTagT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.ScriptT
instance GHC.Show.Show GI.HarfBuzz.Enums.ScriptT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance GHC.Show.Show GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance GHC.Classes.Eq GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance GHC.Show.Show GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.AatLayoutFeatureSelectorT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.AatLayoutFeatureTypeT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.BufferClusterLevelT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.BufferClusterLevelT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.BufferClusterLevelT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.BufferClusterLevelT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.BufferClusterLevelT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.BufferContentTypeT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.BufferContentTypeT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.BufferContentTypeT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.BufferContentTypeT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.BufferContentTypeT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.BufferSerializeFormatT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.BufferSerializeFormatT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.BufferSerializeFormatT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.BufferSerializeFormatT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.BufferSerializeFormatT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.DirectionT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.DirectionT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.DirectionT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.DirectionT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.DirectionT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.MemoryModeT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.MemoryModeT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.MemoryModeT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.MemoryModeT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.MemoryModeT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtLayoutBaselineTagT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtLayoutGlyphClassT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtMathConstantT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtMathConstantT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtMathConstantT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtMathConstantT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtMathConstantT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtMathKernT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtMathKernT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtMathKernT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtMathKernT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtMathKernT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtMetaTagT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtMetaTagT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtMetaTagT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtMetaTagT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtMetaTagT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.OtMetricsTagT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.OtMetricsTagT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.OtMetricsTagT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.OtMetricsTagT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.OtMetricsTagT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.ScriptT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.ScriptT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.ScriptT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.ScriptT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.ScriptT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.UnicodeCombiningClassT
instance GHC.Enum.Enum GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance GHC.Classes.Ord GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Enums.UnicodeGeneralCategoryT
instance Data.GI.Base.BasicTypes.BoxedEnum GI.HarfBuzz.Enums.UnicodeGeneralCategoryT


module GI.HarfBuzz.Flags

-- | <i>No description available in the introspection data.</i>
data BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTEqual :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTContentTypeMismatch :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTLengthMismatch :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTNotdefPresent :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTDottedCirclePresent :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTCodepointMismatch :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTClusterMismatch :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTGlyphFlagsMismatch :: BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
BufferDiffFlagsTPositionMismatch :: BufferDiffFlagsT

-- | Catch-all for unknown values
AnotherBufferDiffFlagsT :: Int -> BufferDiffFlagsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.20</i>
data BufferFlagsT

-- | the default buffer flag.
BufferFlagsTDefault :: BufferFlagsT

-- | 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.
BufferFlagsTBot :: BufferFlagsT

-- | flag indicating that special handling of the end of text paragraph can
--   be applied to this buffer, similar to <i><tt>hBBUFFERFLAGBOT</tt></i>.
BufferFlagsTEot :: BufferFlagsT

-- | 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
--   <i><tt>hBBUFFERFLAGREMOVEDEFAULTIGNORABLES</tt></i>.
BufferFlagsTPreserveDefaultIgnorables :: BufferFlagsT

-- | 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.)
--   <i><tt>hBBUFFERFLAGPRESERVEDEFAULTIGNORABLES</tt></i> takes precedence
--   over this flag. Since: 1.8.0
BufferFlagsTRemoveDefaultIgnorables :: BufferFlagsT

-- | flag indicating that a dotted circle should not be inserted in the
--   rendering of incorrect character sequences (such at &lt;0905
--   093E&gt;). Since: 2.4
BufferFlagsTDoNotInsertDottedCircle :: BufferFlagsT

-- | Catch-all for unknown values
AnotherBufferFlagsT :: Int -> BufferFlagsT

-- | Flags that control what glyph information are serialized in
--   <a>bufferSerializeGlyphs</a>.
--   
--   <i>Since: 0.9.20</i>
data BufferSerializeFlagsT

-- | serialize glyph names, clusters and positions.
BufferSerializeFlagsTDefault :: BufferSerializeFlagsT

-- | do not serialize glyph cluster.
BufferSerializeFlagsTNoClusters :: BufferSerializeFlagsT

-- | do not serialize glyph position information.
BufferSerializeFlagsTNoPositions :: BufferSerializeFlagsT

-- | do no serialize glyph name.
BufferSerializeFlagsTNoGlyphNames :: BufferSerializeFlagsT

-- | serialize glyph extents.
BufferSerializeFlagsTGlyphExtents :: BufferSerializeFlagsT

-- | serialize glyph flags. Since: 1.5.0
BufferSerializeFlagsTGlyphFlags :: BufferSerializeFlagsT

-- | do not serialize glyph advances, glyph offsets will reflect absolute
--   glyph positions. Since: 1.8.0
BufferSerializeFlagsTNoAdvances :: BufferSerializeFlagsT

-- | Catch-all for unknown values
AnotherBufferSerializeFlagsT :: Int -> BufferSerializeFlagsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.5.0</i>
data GlyphFlagsT

-- | Indicates that if input text is broken at the beginning of the cluster
--   this glyph is part of, then both sides need to be re-shaped, as the
--   result might be different. On the flip side, it means that when this
--   flag is not present, then it's safe to break the glyph-run at the
--   beginning of this cluster, and the two sides represent the exact same
--   result one would get if breaking input text at the beginning of this
--   cluster and shaping the two sides separately. This can be used to
--   optimize paragraph layout, by avoiding re-shaping of each line after
--   line-breaking, or limiting the reshaping to a small piece around the
--   breaking point only.
GlyphFlagsTUnsafeToBreak :: GlyphFlagsT

-- | All the currently defined flags.
GlyphFlagsTDefined :: GlyphFlagsT

-- | Catch-all for unknown values
AnotherGlyphFlagsT :: Int -> GlyphFlagsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.1.0</i>
data OtColorPaletteFlagsT

-- | Default indicating that there is nothing special to note about a color
--   palette.
OtColorPaletteFlagsTDefault :: OtColorPaletteFlagsT

-- | Flag indicating that the color palette is appropriate to use when
--   displaying the font on a light background such as white.
OtColorPaletteFlagsTUsableWithLightBackground :: OtColorPaletteFlagsT

-- | Flag indicating that the color palette is appropriate to use when
--   displaying the font on a dark background such as black.
OtColorPaletteFlagsTUsableWithDarkBackground :: OtColorPaletteFlagsT

-- | Catch-all for unknown values
AnotherOtColorPaletteFlagsT :: Int -> OtColorPaletteFlagsT

-- | Flags for math glyph parts.
--   
--   <i>Since: 1.3.3</i>
data OtMathGlyphPartFlagsT

-- | <i>No description available in the introspection data.</i>
OtMathGlyphPartFlagsTExtender :: OtMathGlyphPartFlagsT

-- | Catch-all for unknown values
AnotherOtMathGlyphPartFlagsT :: Int -> OtMathGlyphPartFlagsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
data OtVarAxisFlagsT

-- | The axis should not be exposed directly in user interfaces.
OtVarAxisFlagsTHidden :: OtVarAxisFlagsT

-- | Catch-all for unknown values
AnotherOtVarAxisFlagsT :: Int -> OtVarAxisFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.BufferDiffFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.BufferDiffFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.BufferFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.BufferFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.GlyphFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.GlyphFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance GHC.Classes.Eq GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance GHC.Show.Show GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.BufferDiffFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.BufferDiffFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.BufferDiffFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.BufferDiffFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.BufferDiffFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.BufferDiffFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.BufferFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.BufferFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.BufferFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.BufferFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.BufferFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.BufferFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.BufferSerializeFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.GlyphFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.GlyphFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.GlyphFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.GlyphFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.GlyphFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.GlyphFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.OtColorPaletteFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.OtMathGlyphPartFlagsT
instance GHC.Enum.Enum GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance GHC.Classes.Ord GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance Data.GI.Base.BasicTypes.BoxedFlags GI.HarfBuzz.Flags.OtVarAxisFlagsT
instance Data.GI.Base.BasicTypes.IsGFlag GI.HarfBuzz.Flags.OtVarAxisFlagsT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.BlobT

-- | Memory-managed wrapper type.
newtype BlobT
BlobT :: ManagedPtr BlobT -> BlobT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.BlobT.BlobT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.BlobT.BlobT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.BlobT.BlobT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.BlobT.BlobT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.BlobT.BlobT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.BlobT.BlobT


-- | The main structure holding the input text and its properties before
--   shaping, and output glyphs and their information after shaping.
module GI.HarfBuzz.Structs.BufferT

-- | Memory-managed wrapper type.
newtype BufferT
BufferT :: ManagedPtr BufferT -> BufferT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.BufferT.BufferT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.BufferT.BufferT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.BufferT.BufferT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.BufferT.BufferT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.BufferT.BufferT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.BufferT.BufferT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.FaceT

-- | Memory-managed wrapper type.
newtype FaceT
FaceT :: ManagedPtr FaceT -> FaceT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.FaceT.FaceT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.FaceT.FaceT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.FaceT.FaceT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.FaceT.FaceT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.FaceT.FaceT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.FaceT.FaceT


-- | The <a>FeatureT</a> is the structure that holds information about
--   requested feature application. The feature will be applied with the
--   given value to all glyphs which are in clusters between
--   <i><tt>start</tt></i> (inclusive) and <i><tt>end</tt></i> (exclusive).
--   Setting start to <i><tt>hBFEATUREGLOBALSTART</tt></i> and end to
--   <i><tt>hBFEATUREGLOBALEND</tt></i> specifies that the feature always
--   applies to the entire buffer.
module GI.HarfBuzz.Structs.FeatureT

-- | Memory-managed wrapper type.
newtype FeatureT
FeatureT :: ManagedPtr FeatureT -> FeatureT

-- | Construct a <a>FeatureT</a> struct initialized to zero.
newZeroFeatureT :: MonadIO m => m FeatureT

-- | Get the value of the “<tt>end</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> featureT #end
--   </pre>
getFeatureTEnd :: MonadIO m => FeatureT -> m Word32

-- | Set the value of the “<tt>end</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> featureT [ #end <a>:=</a> value ]
--   </pre>
setFeatureTEnd :: MonadIO m => FeatureT -> Word32 -> m ()

-- | Get the value of the “<tt>start</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> featureT #start
--   </pre>
getFeatureTStart :: MonadIO m => FeatureT -> m Word32

-- | Set the value of the “<tt>start</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> featureT [ #start <a>:=</a> value ]
--   </pre>
setFeatureTStart :: MonadIO m => FeatureT -> Word32 -> m ()

-- | Get the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> featureT #tag
--   </pre>
getFeatureTTag :: MonadIO m => FeatureT -> m Word32

-- | Set the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> featureT [ #tag <a>:=</a> value ]
--   </pre>
setFeatureTTag :: MonadIO m => FeatureT -> Word32 -> m ()

-- | Get the value of the “<tt>value</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> featureT #value
--   </pre>
getFeatureTValue :: MonadIO m => FeatureT -> m Word32

-- | Set the value of the “<tt>value</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> featureT [ #value <a>:=</a> value ]
--   </pre>
setFeatureTValue :: MonadIO m => FeatureT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.FeatureT.FeatureT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.FeatureT.FeatureT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.FeatureT.FeatureT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.FeatureT.FeatureT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.FeatureT.FeatureT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.FeatureT.FeatureT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.FeatureT.FeatureT tag


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.FontExtentsT

-- | Memory-managed wrapper type.
newtype FontExtentsT
FontExtentsT :: ManagedPtr FontExtentsT -> FontExtentsT

-- | Construct a <a>FontExtentsT</a> struct initialized to zero.
newZeroFontExtentsT :: MonadIO m => m FontExtentsT

-- | Get the value of the “<tt>ascender</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> fontExtentsT #ascender
--   </pre>
getFontExtentsTAscender :: MonadIO m => FontExtentsT -> m Int32

-- | Set the value of the “<tt>ascender</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> fontExtentsT [ #ascender <a>:=</a> value ]
--   </pre>
setFontExtentsTAscender :: MonadIO m => FontExtentsT -> Int32 -> m ()

-- | Get the value of the “<tt>descender</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> fontExtentsT #descender
--   </pre>
getFontExtentsTDescender :: MonadIO m => FontExtentsT -> m Int32

-- | Set the value of the “<tt>descender</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> fontExtentsT [ #descender <a>:=</a> value ]
--   </pre>
setFontExtentsTDescender :: MonadIO m => FontExtentsT -> Int32 -> m ()

-- | Get the value of the “<tt>line_gap</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> fontExtentsT #lineGap
--   </pre>
getFontExtentsTLineGap :: MonadIO m => FontExtentsT -> m Int32

-- | Set the value of the “<tt>line_gap</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> fontExtentsT [ #lineGap <a>:=</a> value ]
--   </pre>
setFontExtentsTLineGap :: MonadIO m => FontExtentsT -> Int32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.FontExtentsT.FontExtentsT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.FontExtentsT.FontExtentsT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.FontExtentsT.FontExtentsT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.FontExtentsT.FontExtentsT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.FontExtentsT.FontExtentsT tag


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.FontFuncsT

-- | Memory-managed wrapper type.
newtype FontFuncsT
FontFuncsT :: ManagedPtr FontFuncsT -> FontFuncsT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.FontFuncsT.FontFuncsT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.FontT

-- | Memory-managed wrapper type.
newtype FontT
FontT :: ManagedPtr FontT -> FontT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.FontT.FontT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.FontT.FontT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.FontT.FontT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.FontT.FontT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.FontT.FontT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.FontT.FontT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.GlyphExtentsT

-- | Memory-managed wrapper type.
newtype GlyphExtentsT
GlyphExtentsT :: ManagedPtr GlyphExtentsT -> GlyphExtentsT

-- | Construct a <a>GlyphExtentsT</a> struct initialized to zero.
newZeroGlyphExtentsT :: MonadIO m => m GlyphExtentsT

-- | Get the value of the “<tt>height</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphExtentsT #height
--   </pre>
getGlyphExtentsTHeight :: MonadIO m => GlyphExtentsT -> m Int32

-- | Set the value of the “<tt>height</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphExtentsT [ #height <a>:=</a> value ]
--   </pre>
setGlyphExtentsTHeight :: MonadIO m => GlyphExtentsT -> Int32 -> m ()

-- | Get the value of the “<tt>width</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphExtentsT #width
--   </pre>
getGlyphExtentsTWidth :: MonadIO m => GlyphExtentsT -> m Int32

-- | Set the value of the “<tt>width</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphExtentsT [ #width <a>:=</a> value ]
--   </pre>
setGlyphExtentsTWidth :: MonadIO m => GlyphExtentsT -> Int32 -> m ()

-- | Get the value of the “<tt>x_bearing</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphExtentsT #xBearing
--   </pre>
getGlyphExtentsTXBearing :: MonadIO m => GlyphExtentsT -> m Int32

-- | Set the value of the “<tt>x_bearing</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphExtentsT [ #xBearing <a>:=</a> value ]
--   </pre>
setGlyphExtentsTXBearing :: MonadIO m => GlyphExtentsT -> Int32 -> m ()

-- | Get the value of the “<tt>y_bearing</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphExtentsT #yBearing
--   </pre>
getGlyphExtentsTYBearing :: MonadIO m => GlyphExtentsT -> m Int32

-- | Set the value of the “<tt>y_bearing</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphExtentsT [ #yBearing <a>:=</a> value ]
--   </pre>
setGlyphExtentsTYBearing :: MonadIO m => GlyphExtentsT -> Int32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.GlyphExtentsT.GlyphExtentsT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.GlyphExtentsT.GlyphExtentsT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.GlyphExtentsT.GlyphExtentsT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.GlyphExtentsT.GlyphExtentsT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.GlyphExtentsT.GlyphExtentsT tag


-- | The <a>GlyphInfoT</a> is the structure that holds information about
--   the glyphs and their relation to input text.
module GI.HarfBuzz.Structs.GlyphInfoT

-- | Memory-managed wrapper type.
newtype GlyphInfoT
GlyphInfoT :: ManagedPtr GlyphInfoT -> GlyphInfoT

-- | Construct a <a>GlyphInfoT</a> struct initialized to zero.
newZeroGlyphInfoT :: MonadIO m => m GlyphInfoT

-- | Get the value of the “<tt>cluster</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphInfoT #cluster
--   </pre>
getGlyphInfoTCluster :: MonadIO m => GlyphInfoT -> m Word32

-- | Set the value of the “<tt>cluster</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphInfoT [ #cluster <a>:=</a> value ]
--   </pre>
setGlyphInfoTCluster :: MonadIO m => GlyphInfoT -> Word32 -> m ()

-- | Get the value of the “<tt>codepoint</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphInfoT #codepoint
--   </pre>
getGlyphInfoTCodepoint :: MonadIO m => GlyphInfoT -> m Word32

-- | Set the value of the “<tt>codepoint</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphInfoT [ #codepoint <a>:=</a> value ]
--   </pre>
setGlyphInfoTCodepoint :: MonadIO m => GlyphInfoT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT tag


-- | The <a>GlyphPositionT</a> is the structure that holds the positions of
--   the glyph in both horizontal and vertical directions. All positions in
--   <a>GlyphPositionT</a> are relative to the current point.
module GI.HarfBuzz.Structs.GlyphPositionT

-- | Memory-managed wrapper type.
newtype GlyphPositionT
GlyphPositionT :: ManagedPtr GlyphPositionT -> GlyphPositionT

-- | Construct a <a>GlyphPositionT</a> struct initialized to zero.
newZeroGlyphPositionT :: MonadIO m => m GlyphPositionT

-- | Get the value of the “<tt>x_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphPositionT #xAdvance
--   </pre>
getGlyphPositionTXAdvance :: MonadIO m => GlyphPositionT -> m Int32

-- | Set the value of the “<tt>x_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphPositionT [ #xAdvance <a>:=</a> value ]
--   </pre>
setGlyphPositionTXAdvance :: MonadIO m => GlyphPositionT -> Int32 -> m ()

-- | Get the value of the “<tt>x_offset</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphPositionT #xOffset
--   </pre>
getGlyphPositionTXOffset :: MonadIO m => GlyphPositionT -> m Int32

-- | Set the value of the “<tt>x_offset</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphPositionT [ #xOffset <a>:=</a> value ]
--   </pre>
setGlyphPositionTXOffset :: MonadIO m => GlyphPositionT -> Int32 -> m ()

-- | Get the value of the “<tt>y_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphPositionT #yAdvance
--   </pre>
getGlyphPositionTYAdvance :: MonadIO m => GlyphPositionT -> m Int32

-- | Set the value of the “<tt>y_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphPositionT [ #yAdvance <a>:=</a> value ]
--   </pre>
setGlyphPositionTYAdvance :: MonadIO m => GlyphPositionT -> Int32 -> m ()

-- | Get the value of the “<tt>y_offset</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> glyphPositionT #yOffset
--   </pre>
getGlyphPositionTYOffset :: MonadIO m => GlyphPositionT -> m Int32

-- | Set the value of the “<tt>y_offset</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> glyphPositionT [ #yOffset <a>:=</a> value ]
--   </pre>
setGlyphPositionTYOffset :: MonadIO m => GlyphPositionT -> Int32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT tag


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.LanguageT

-- | Memory-managed wrapper type.
newtype LanguageT
LanguageT :: ManagedPtr LanguageT -> LanguageT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.LanguageT.LanguageT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.LanguageT.LanguageT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.LanguageT.LanguageT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.MapT

-- | Memory-managed wrapper type.
newtype MapT
MapT :: ManagedPtr MapT -> MapT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.MapT.MapT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.MapT.MapT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.MapT.MapT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.MapT.MapT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.MapT.MapT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.MapT.MapT


-- | Pairs of glyph and color index.
--   
--   <i>Since: 2.1.0</i>
module GI.HarfBuzz.Structs.OtColorLayerT

-- | Memory-managed wrapper type.
newtype OtColorLayerT
OtColorLayerT :: ManagedPtr OtColorLayerT -> OtColorLayerT

-- | Construct a <a>OtColorLayerT</a> struct initialized to zero.
newZeroOtColorLayerT :: MonadIO m => m OtColorLayerT

-- | Get the value of the “<tt>color_index</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otColorLayerT #colorIndex
--   </pre>
getOtColorLayerTColorIndex :: MonadIO m => OtColorLayerT -> m Word32

-- | Set the value of the “<tt>color_index</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otColorLayerT [ #colorIndex <a>:=</a> value ]
--   </pre>
setOtColorLayerTColorIndex :: MonadIO m => OtColorLayerT -> Word32 -> m ()

-- | Get the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otColorLayerT #glyph
--   </pre>
getOtColorLayerTGlyph :: MonadIO m => OtColorLayerT -> m Word32

-- | Set the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otColorLayerT [ #glyph <a>:=</a> value ]
--   </pre>
setOtColorLayerTGlyph :: MonadIO m => OtColorLayerT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtColorLayerT.OtColorLayerT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtColorLayerT.OtColorLayerT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.OtColorLayerT.OtColorLayerT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.OtColorLayerT.OtColorLayerT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtColorLayerT.OtColorLayerT tag


-- | Data type to hold information for a "part" component of a math-variant
--   glyph. Large variants for stretchable math glyphs (such as
--   parentheses) can be constructed on the fly from parts.
--   
--   <i>Since: 1.3.3</i>
module GI.HarfBuzz.Structs.OtMathGlyphPartT

-- | Memory-managed wrapper type.
newtype OtMathGlyphPartT
OtMathGlyphPartT :: ManagedPtr OtMathGlyphPartT -> OtMathGlyphPartT

-- | Construct a <a>OtMathGlyphPartT</a> struct initialized to zero.
newZeroOtMathGlyphPartT :: MonadIO m => m OtMathGlyphPartT

-- | Get the value of the “<tt>end_connector_length</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphPartT #endConnectorLength
--   </pre>
getOtMathGlyphPartTEndConnectorLength :: MonadIO m => OtMathGlyphPartT -> m Int32

-- | Set the value of the “<tt>end_connector_length</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphPartT [ #endConnectorLength <a>:=</a> value ]
--   </pre>
setOtMathGlyphPartTEndConnectorLength :: MonadIO m => OtMathGlyphPartT -> Int32 -> m ()

-- | Get the value of the “<tt>flags</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphPartT #flags
--   </pre>
getOtMathGlyphPartTFlags :: MonadIO m => OtMathGlyphPartT -> m [OtMathGlyphPartFlagsT]

-- | Set the value of the “<tt>flags</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphPartT [ #flags <a>:=</a> value ]
--   </pre>
setOtMathGlyphPartTFlags :: MonadIO m => OtMathGlyphPartT -> [OtMathGlyphPartFlagsT] -> m ()

-- | Get the value of the “<tt>full_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphPartT #fullAdvance
--   </pre>
getOtMathGlyphPartTFullAdvance :: MonadIO m => OtMathGlyphPartT -> m Int32

-- | Set the value of the “<tt>full_advance</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphPartT [ #fullAdvance <a>:=</a> value ]
--   </pre>
setOtMathGlyphPartTFullAdvance :: MonadIO m => OtMathGlyphPartT -> Int32 -> m ()

-- | Get the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphPartT #glyph
--   </pre>
getOtMathGlyphPartTGlyph :: MonadIO m => OtMathGlyphPartT -> m Word32

-- | Set the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphPartT [ #glyph <a>:=</a> value ]
--   </pre>
setOtMathGlyphPartTGlyph :: MonadIO m => OtMathGlyphPartT -> Word32 -> m ()

-- | Get the value of the “<tt>start_connector_length</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphPartT #startConnectorLength
--   </pre>
getOtMathGlyphPartTStartConnectorLength :: MonadIO m => OtMathGlyphPartT -> m Int32

-- | Set the value of the “<tt>start_connector_length</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphPartT [ #startConnectorLength <a>:=</a> value ]
--   </pre>
setOtMathGlyphPartTStartConnectorLength :: MonadIO m => OtMathGlyphPartT -> Int32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtMathGlyphPartT.OtMathGlyphPartT tag


-- | Data type to hold math-variant information for a glyph.
--   
--   <i>Since: 1.3.3</i>
module GI.HarfBuzz.Structs.OtMathGlyphVariantT

-- | Memory-managed wrapper type.
newtype OtMathGlyphVariantT
OtMathGlyphVariantT :: ManagedPtr OtMathGlyphVariantT -> OtMathGlyphVariantT

-- | Construct a <a>OtMathGlyphVariantT</a> struct initialized to zero.
newZeroOtMathGlyphVariantT :: MonadIO m => m OtMathGlyphVariantT

-- | Get the value of the “<tt>advance</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphVariantT #advance
--   </pre>
getOtMathGlyphVariantTAdvance :: MonadIO m => OtMathGlyphVariantT -> m Int32

-- | Set the value of the “<tt>advance</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphVariantT [ #advance <a>:=</a> value ]
--   </pre>
setOtMathGlyphVariantTAdvance :: MonadIO m => OtMathGlyphVariantT -> Int32 -> m ()

-- | Get the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otMathGlyphVariantT #glyph
--   </pre>
getOtMathGlyphVariantTGlyph :: MonadIO m => OtMathGlyphVariantT -> m Word32

-- | Set the value of the “<tt>glyph</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otMathGlyphVariantT [ #glyph <a>:=</a> value ]
--   </pre>
setOtMathGlyphVariantTGlyph :: MonadIO m => OtMathGlyphVariantT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtMathGlyphVariantT.OtMathGlyphVariantT tag


-- | Structure representing a name ID in a particular language.
--   
--   <i>Since: 2.1.0</i>
module GI.HarfBuzz.Structs.OtNameEntryT

-- | Memory-managed wrapper type.
newtype OtNameEntryT
OtNameEntryT :: ManagedPtr OtNameEntryT -> OtNameEntryT

-- | Construct a <a>OtNameEntryT</a> struct initialized to zero.
newZeroOtNameEntryT :: MonadIO m => m OtNameEntryT

-- | Get the value of the “<tt>language</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otNameEntryT #language
--   </pre>
getOtNameEntryTLanguage :: MonadIO m => OtNameEntryT -> m LanguageT

-- | Get the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otNameEntryT #nameId
--   </pre>
getOtNameEntryTNameId :: MonadIO m => OtNameEntryT -> m Word32

-- | Set the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otNameEntryT [ #nameId <a>:=</a> value ]
--   </pre>
setOtNameEntryTNameId :: MonadIO m => OtNameEntryT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtNameEntryT.OtNameEntryT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtNameEntryT.OtNameEntryT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.OtNameEntryT.OtNameEntryT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.OtNameEntryT.OtNameEntryT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtNameEntryT.OtNameEntryT tag


-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
module GI.HarfBuzz.Structs.OtVarAxisInfoT

-- | Memory-managed wrapper type.
newtype OtVarAxisInfoT
OtVarAxisInfoT :: ManagedPtr OtVarAxisInfoT -> OtVarAxisInfoT

-- | Construct a <a>OtVarAxisInfoT</a> struct initialized to zero.
newZeroOtVarAxisInfoT :: MonadIO m => m OtVarAxisInfoT

-- | Get the value of the “<tt>axis_index</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #axisIndex
--   </pre>
getOtVarAxisInfoTAxisIndex :: MonadIO m => OtVarAxisInfoT -> m Word32

-- | Set the value of the “<tt>axis_index</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #axisIndex <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTAxisIndex :: MonadIO m => OtVarAxisInfoT -> Word32 -> m ()

-- | Get the value of the “<tt>default_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #defaultValue
--   </pre>
getOtVarAxisInfoTDefaultValue :: MonadIO m => OtVarAxisInfoT -> m Float

-- | Set the value of the “<tt>default_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #defaultValue <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTDefaultValue :: MonadIO m => OtVarAxisInfoT -> Float -> m ()

-- | Get the value of the “<tt>flags</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #flags
--   </pre>
getOtVarAxisInfoTFlags :: MonadIO m => OtVarAxisInfoT -> m [OtVarAxisFlagsT]

-- | Set the value of the “<tt>flags</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #flags <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTFlags :: MonadIO m => OtVarAxisInfoT -> [OtVarAxisFlagsT] -> m ()

-- | Get the value of the “<tt>max_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #maxValue
--   </pre>
getOtVarAxisInfoTMaxValue :: MonadIO m => OtVarAxisInfoT -> m Float

-- | Set the value of the “<tt>max_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #maxValue <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTMaxValue :: MonadIO m => OtVarAxisInfoT -> Float -> m ()

-- | Get the value of the “<tt>min_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #minValue
--   </pre>
getOtVarAxisInfoTMinValue :: MonadIO m => OtVarAxisInfoT -> m Float

-- | Set the value of the “<tt>min_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #minValue <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTMinValue :: MonadIO m => OtVarAxisInfoT -> Float -> m ()

-- | Get the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #nameId
--   </pre>
getOtVarAxisInfoTNameId :: MonadIO m => OtVarAxisInfoT -> m Word32

-- | Set the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #nameId <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTNameId :: MonadIO m => OtVarAxisInfoT -> Word32 -> m ()

-- | Get the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisInfoT #tag
--   </pre>
getOtVarAxisInfoTTag :: MonadIO m => OtVarAxisInfoT -> m Word32

-- | Set the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisInfoT [ #tag <a>:=</a> value ]
--   </pre>
setOtVarAxisInfoTTag :: MonadIO m => OtVarAxisInfoT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT tag


-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
module GI.HarfBuzz.Structs.OtVarAxisT

-- | Memory-managed wrapper type.
newtype OtVarAxisT
OtVarAxisT :: ManagedPtr OtVarAxisT -> OtVarAxisT

-- | Construct a <a>OtVarAxisT</a> struct initialized to zero.
newZeroOtVarAxisT :: MonadIO m => m OtVarAxisT

-- | Get the value of the “<tt>default_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisT #defaultValue
--   </pre>
getOtVarAxisTDefaultValue :: MonadIO m => OtVarAxisT -> m Float

-- | Set the value of the “<tt>default_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisT [ #defaultValue <a>:=</a> value ]
--   </pre>
setOtVarAxisTDefaultValue :: MonadIO m => OtVarAxisT -> Float -> m ()

-- | Get the value of the “<tt>max_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisT #maxValue
--   </pre>
getOtVarAxisTMaxValue :: MonadIO m => OtVarAxisT -> m Float

-- | Set the value of the “<tt>max_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisT [ #maxValue <a>:=</a> value ]
--   </pre>
setOtVarAxisTMaxValue :: MonadIO m => OtVarAxisT -> Float -> m ()

-- | Get the value of the “<tt>min_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisT #minValue
--   </pre>
getOtVarAxisTMinValue :: MonadIO m => OtVarAxisT -> m Float

-- | Set the value of the “<tt>min_value</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisT [ #minValue <a>:=</a> value ]
--   </pre>
setOtVarAxisTMinValue :: MonadIO m => OtVarAxisT -> Float -> m ()

-- | Get the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisT #nameId
--   </pre>
getOtVarAxisTNameId :: MonadIO m => OtVarAxisT -> m Word32

-- | Set the value of the “<tt>name_id</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisT [ #nameId <a>:=</a> value ]
--   </pre>
setOtVarAxisTNameId :: MonadIO m => OtVarAxisT -> Word32 -> m ()

-- | Get the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> otVarAxisT #tag
--   </pre>
getOtVarAxisTTag :: MonadIO m => OtVarAxisT -> m Word32

-- | Set the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> otVarAxisT [ #tag <a>:=</a> value ]
--   </pre>
setOtVarAxisTTag :: MonadIO m => OtVarAxisT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.OtVarAxisT.OtVarAxisT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.OtVarAxisT.OtVarAxisT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.OtVarAxisT.OtVarAxisT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.OtVarAxisT.OtVarAxisT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.OtVarAxisT.OtVarAxisT tag


-- | The structure that holds various text properties of an <a>BufferT</a>.
--   Can be set and retrieved using <a>bufferSetSegmentProperties</a> and
--   <a>bufferGetSegmentProperties</a>, respectively.
module GI.HarfBuzz.Structs.SegmentPropertiesT

-- | Memory-managed wrapper type.
newtype SegmentPropertiesT
SegmentPropertiesT :: ManagedPtr SegmentPropertiesT -> SegmentPropertiesT

-- | Construct a <a>SegmentPropertiesT</a> struct initialized to zero.
newZeroSegmentPropertiesT :: MonadIO m => m SegmentPropertiesT

-- | Get the value of the “<tt>direction</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> segmentPropertiesT #direction
--   </pre>
getSegmentPropertiesTDirection :: MonadIO m => SegmentPropertiesT -> m DirectionT

-- | Set the value of the “<tt>direction</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> segmentPropertiesT [ #direction <a>:=</a> value ]
--   </pre>
setSegmentPropertiesTDirection :: MonadIO m => SegmentPropertiesT -> DirectionT -> m ()

-- | Get the value of the “<tt>language</tt>” field. When
--   <a>overloading</a> is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> segmentPropertiesT #language
--   </pre>
getSegmentPropertiesTLanguage :: MonadIO m => SegmentPropertiesT -> m LanguageT

-- | Get the value of the “<tt>script</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> segmentPropertiesT #script
--   </pre>
getSegmentPropertiesTScript :: MonadIO m => SegmentPropertiesT -> m ScriptT

-- | Set the value of the “<tt>script</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> segmentPropertiesT [ #script <a>:=</a> value ]
--   </pre>
setSegmentPropertiesTScript :: MonadIO m => SegmentPropertiesT -> ScriptT -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.SegmentPropertiesT.SegmentPropertiesT tag


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.SetT

-- | Memory-managed wrapper type.
newtype SetT
SetT :: ManagedPtr SetT -> SetT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.SetT.SetT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.SetT.SetT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.SetT.SetT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.SetT.SetT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.SetT.SetT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.SetT.SetT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.ShapePlanT

-- | Memory-managed wrapper type.
newtype ShapePlanT
ShapePlanT :: ManagedPtr ShapePlanT -> ShapePlanT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.ShapePlanT.ShapePlanT


module GI.HarfBuzz.Callbacks

-- | <i>No description available in the introspection data.</i>
type BufferMessageFuncT = BufferT -> FontT -> Text -> IO Int32

-- | <i>No description available in the introspection data.</i>
type BufferMessageFuncT_WithClosures = BufferT -> FontT -> Text -> Ptr () -> IO Int32

-- | Type for the callback on the (unwrapped) C side.
type C_BufferMessageFuncT = Ptr BufferT -> Ptr FontT -> CString -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_BufferMessageFuncT :: BufferMessageFuncT -> BufferMessageFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_BufferMessageFuncT :: (HasCallStack, MonadIO m) => FunPtr C_BufferMessageFuncT -> BufferT -> FontT -> Text -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_BufferMessageFuncT :: MonadIO m => BufferMessageFuncT -> m (GClosure C_BufferMessageFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_BufferMessageFuncT</a>.
mk_BufferMessageFuncT :: C_BufferMessageFuncT -> IO (FunPtr C_BufferMessageFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>BufferMessageFuncT</a></tt>.
noBufferMessageFuncT :: Maybe BufferMessageFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>BufferMessageFuncT_WithClosures</a></tt>.
noBufferMessageFuncT_WithClosures :: Maybe BufferMessageFuncT_WithClosures

-- | Wrap a <a>BufferMessageFuncT</a> into a <a>C_BufferMessageFuncT</a>.
wrap_BufferMessageFuncT :: Maybe (Ptr (FunPtr C_BufferMessageFuncT)) -> BufferMessageFuncT_WithClosures -> C_BufferMessageFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_DestroyFuncT = Ptr () -> IO ()

-- | <i>No description available in the introspection data.</i>
type DestroyFuncT = IO ()

-- | <i>No description available in the introspection data.</i>
type DestroyFuncT_WithClosures = Ptr () -> IO ()

-- | A simple wrapper that ignores the closure arguments.
drop_closures_DestroyFuncT :: DestroyFuncT -> DestroyFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_DestroyFuncT :: (HasCallStack, MonadIO m) => FunPtr C_DestroyFuncT -> Ptr () -> m ()

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_DestroyFuncT :: MonadIO m => DestroyFuncT -> m (GClosure C_DestroyFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_DestroyFuncT</a>.
mk_DestroyFuncT :: C_DestroyFuncT -> IO (FunPtr C_DestroyFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>DestroyFuncT</a></tt>.
noDestroyFuncT :: Maybe DestroyFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>DestroyFuncT_WithClosures</a></tt>.
noDestroyFuncT_WithClosures :: Maybe DestroyFuncT_WithClosures

-- | Wrap a <a>DestroyFuncT</a> into a <a>C_DestroyFuncT</a>.
wrap_DestroyFuncT :: Maybe (Ptr (FunPtr C_DestroyFuncT)) -> DestroyFuncT_WithClosures -> C_DestroyFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetFontExtentsFuncT = Ptr FontT -> Ptr () -> Ptr FontExtentsT -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetFontExtentsFuncT = FontT -> Ptr () -> FontExtentsT -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetFontExtentsFuncT_WithClosures = FontT -> Ptr () -> FontExtentsT -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetFontExtentsFuncT :: FontGetFontExtentsFuncT -> FontGetFontExtentsFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetFontExtentsFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetFontExtentsFuncT -> FontT -> Ptr () -> FontExtentsT -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetFontExtentsFuncT :: MonadIO m => FontGetFontExtentsFuncT -> m (GClosure C_FontGetFontExtentsFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetFontExtentsFuncT</a>.
mk_FontGetFontExtentsFuncT :: C_FontGetFontExtentsFuncT -> IO (FunPtr C_FontGetFontExtentsFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetFontExtentsFuncT</a></tt>.
noFontGetFontExtentsFuncT :: Maybe FontGetFontExtentsFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetFontExtentsFuncT_WithClosures</a></tt>.
noFontGetFontExtentsFuncT_WithClosures :: Maybe FontGetFontExtentsFuncT_WithClosures

-- | Wrap a <a>FontGetFontExtentsFuncT</a> into a
--   <a>C_FontGetFontExtentsFuncT</a>.
wrap_FontGetFontExtentsFuncT :: Maybe (Ptr (FunPtr C_FontGetFontExtentsFuncT)) -> FontGetFontExtentsFuncT_WithClosures -> C_FontGetFontExtentsFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphAdvanceFuncT = Ptr FontT -> Ptr () -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphAdvanceFuncT = FontT -> Ptr () -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphAdvanceFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphAdvanceFuncT :: FontGetGlyphAdvanceFuncT -> FontGetGlyphAdvanceFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphAdvanceFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphAdvanceFuncT -> FontT -> Ptr () -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphAdvanceFuncT :: MonadIO m => FontGetGlyphAdvanceFuncT -> m (GClosure C_FontGetGlyphAdvanceFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphAdvanceFuncT</a>.
mk_FontGetGlyphAdvanceFuncT :: C_FontGetGlyphAdvanceFuncT -> IO (FunPtr C_FontGetGlyphAdvanceFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphAdvanceFuncT</a></tt>.
noFontGetGlyphAdvanceFuncT :: Maybe FontGetGlyphAdvanceFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphAdvanceFuncT_WithClosures</a></tt>.
noFontGetGlyphAdvanceFuncT_WithClosures :: Maybe FontGetGlyphAdvanceFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphAdvanceFuncT</a> into a
--   <a>C_FontGetGlyphAdvanceFuncT</a>.
wrap_FontGetGlyphAdvanceFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphAdvanceFuncT)) -> FontGetGlyphAdvanceFuncT_WithClosures -> C_FontGetGlyphAdvanceFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphAdvancesFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> Ptr () -> IO ()

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphAdvancesFuncT = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO ()

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphAdvancesFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> Ptr () -> IO ()

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphAdvancesFuncT :: FontGetGlyphAdvancesFuncT -> FontGetGlyphAdvancesFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphAdvancesFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphAdvancesFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> Ptr () -> m ()

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphAdvancesFuncT :: MonadIO m => FontGetGlyphAdvancesFuncT -> m (GClosure C_FontGetGlyphAdvancesFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphAdvancesFuncT</a>.
mk_FontGetGlyphAdvancesFuncT :: C_FontGetGlyphAdvancesFuncT -> IO (FunPtr C_FontGetGlyphAdvancesFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphAdvancesFuncT</a></tt>.
noFontGetGlyphAdvancesFuncT :: Maybe FontGetGlyphAdvancesFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphAdvancesFuncT_WithClosures</a></tt>.
noFontGetGlyphAdvancesFuncT_WithClosures :: Maybe FontGetGlyphAdvancesFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphAdvancesFuncT</a> into a
--   <a>C_FontGetGlyphAdvancesFuncT</a>.
wrap_FontGetGlyphAdvancesFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphAdvancesFuncT)) -> FontGetGlyphAdvancesFuncT_WithClosures -> C_FontGetGlyphAdvancesFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphContourPointFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Int32 -> Int32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphContourPointFuncT = FontT -> Ptr () -> Word32 -> Word32 -> Int32 -> Int32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphContourPointFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Int32 -> Int32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphContourPointFuncT :: FontGetGlyphContourPointFuncT -> FontGetGlyphContourPointFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphContourPointFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphContourPointFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Int32 -> Int32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphContourPointFuncT :: MonadIO m => FontGetGlyphContourPointFuncT -> m (GClosure C_FontGetGlyphContourPointFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphContourPointFuncT</a>.
mk_FontGetGlyphContourPointFuncT :: C_FontGetGlyphContourPointFuncT -> IO (FunPtr C_FontGetGlyphContourPointFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphContourPointFuncT</a></tt>.
noFontGetGlyphContourPointFuncT :: Maybe FontGetGlyphContourPointFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphContourPointFuncT_WithClosures</a></tt>.
noFontGetGlyphContourPointFuncT_WithClosures :: Maybe FontGetGlyphContourPointFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphContourPointFuncT</a> into a
--   <a>C_FontGetGlyphContourPointFuncT</a>.
wrap_FontGetGlyphContourPointFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphContourPointFuncT)) -> FontGetGlyphContourPointFuncT_WithClosures -> C_FontGetGlyphContourPointFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphExtentsFuncT = Ptr FontT -> Ptr () -> Word32 -> Ptr GlyphExtentsT -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphExtentsFuncT = FontT -> Ptr () -> Word32 -> GlyphExtentsT -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphExtentsFuncT_WithClosures = FontT -> Ptr () -> Word32 -> GlyphExtentsT -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphExtentsFuncT :: FontGetGlyphExtentsFuncT -> FontGetGlyphExtentsFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphExtentsFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphExtentsFuncT -> FontT -> Ptr () -> Word32 -> GlyphExtentsT -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphExtentsFuncT :: MonadIO m => FontGetGlyphExtentsFuncT -> m (GClosure C_FontGetGlyphExtentsFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphExtentsFuncT</a>.
mk_FontGetGlyphExtentsFuncT :: C_FontGetGlyphExtentsFuncT -> IO (FunPtr C_FontGetGlyphExtentsFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphExtentsFuncT</a></tt>.
noFontGetGlyphExtentsFuncT :: Maybe FontGetGlyphExtentsFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphExtentsFuncT_WithClosures</a></tt>.
noFontGetGlyphExtentsFuncT_WithClosures :: Maybe FontGetGlyphExtentsFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphExtentsFuncT</a> into a
--   <a>C_FontGetGlyphExtentsFuncT</a>.
wrap_FontGetGlyphExtentsFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphExtentsFuncT)) -> FontGetGlyphExtentsFuncT_WithClosures -> C_FontGetGlyphExtentsFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphFromNameFuncT = Ptr FontT -> Ptr () -> CString -> Int32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphFromNameFuncT = FontT -> Ptr () -> Text -> Int32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphFromNameFuncT_WithClosures = FontT -> Ptr () -> Text -> Int32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphFromNameFuncT :: FontGetGlyphFromNameFuncT -> FontGetGlyphFromNameFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphFromNameFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphFromNameFuncT -> FontT -> Ptr () -> Text -> Int32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphFromNameFuncT :: MonadIO m => FontGetGlyphFromNameFuncT -> m (GClosure C_FontGetGlyphFromNameFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphFromNameFuncT</a>.
mk_FontGetGlyphFromNameFuncT :: C_FontGetGlyphFromNameFuncT -> IO (FunPtr C_FontGetGlyphFromNameFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphFromNameFuncT</a></tt>.
noFontGetGlyphFromNameFuncT :: Maybe FontGetGlyphFromNameFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphFromNameFuncT_WithClosures</a></tt>.
noFontGetGlyphFromNameFuncT_WithClosures :: Maybe FontGetGlyphFromNameFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphFromNameFuncT</a> into a
--   <a>C_FontGetGlyphFromNameFuncT</a>.
wrap_FontGetGlyphFromNameFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphFromNameFuncT)) -> FontGetGlyphFromNameFuncT_WithClosures -> C_FontGetGlyphFromNameFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphFuncT = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphFuncT :: FontGetGlyphFuncT -> FontGetGlyphFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphFuncT :: MonadIO m => FontGetGlyphFuncT -> m (GClosure C_FontGetGlyphFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphFuncT</a>.
mk_FontGetGlyphFuncT :: C_FontGetGlyphFuncT -> IO (FunPtr C_FontGetGlyphFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphFuncT</a></tt>.
noFontGetGlyphFuncT :: Maybe FontGetGlyphFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphFuncT_WithClosures</a></tt>.
noFontGetGlyphFuncT_WithClosures :: Maybe FontGetGlyphFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphFuncT</a> into a <a>C_FontGetGlyphFuncT</a>.
wrap_FontGetGlyphFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphFuncT)) -> FontGetGlyphFuncT_WithClosures -> C_FontGetGlyphFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphKerningFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphKerningFuncT = FontT -> Ptr () -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphKerningFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphKerningFuncT :: FontGetGlyphKerningFuncT -> FontGetGlyphKerningFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphKerningFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphKerningFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphKerningFuncT :: MonadIO m => FontGetGlyphKerningFuncT -> m (GClosure C_FontGetGlyphKerningFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphKerningFuncT</a>.
mk_FontGetGlyphKerningFuncT :: C_FontGetGlyphKerningFuncT -> IO (FunPtr C_FontGetGlyphKerningFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphKerningFuncT</a></tt>.
noFontGetGlyphKerningFuncT :: Maybe FontGetGlyphKerningFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphKerningFuncT_WithClosures</a></tt>.
noFontGetGlyphKerningFuncT_WithClosures :: Maybe FontGetGlyphKerningFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphKerningFuncT</a> into a
--   <a>C_FontGetGlyphKerningFuncT</a>.
wrap_FontGetGlyphKerningFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphKerningFuncT)) -> FontGetGlyphKerningFuncT_WithClosures -> C_FontGetGlyphKerningFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphNameFuncT = Ptr FontT -> Ptr () -> Word32 -> CString -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphNameFuncT = FontT -> Ptr () -> Word32 -> Text -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphNameFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Text -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphNameFuncT :: FontGetGlyphNameFuncT -> FontGetGlyphNameFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphNameFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphNameFuncT -> FontT -> Ptr () -> Word32 -> Text -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphNameFuncT :: MonadIO m => FontGetGlyphNameFuncT -> m (GClosure C_FontGetGlyphNameFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphNameFuncT</a>.
mk_FontGetGlyphNameFuncT :: C_FontGetGlyphNameFuncT -> IO (FunPtr C_FontGetGlyphNameFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphNameFuncT</a></tt>.
noFontGetGlyphNameFuncT :: Maybe FontGetGlyphNameFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphNameFuncT_WithClosures</a></tt>.
noFontGetGlyphNameFuncT_WithClosures :: Maybe FontGetGlyphNameFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphNameFuncT</a> into a
--   <a>C_FontGetGlyphNameFuncT</a>.
wrap_FontGetGlyphNameFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphNameFuncT)) -> FontGetGlyphNameFuncT_WithClosures -> C_FontGetGlyphNameFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetGlyphOriginFuncT = Ptr FontT -> Ptr () -> Word32 -> Int32 -> Int32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphOriginFuncT = FontT -> Ptr () -> Word32 -> Int32 -> Int32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetGlyphOriginFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Int32 -> Int32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetGlyphOriginFuncT :: FontGetGlyphOriginFuncT -> FontGetGlyphOriginFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetGlyphOriginFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetGlyphOriginFuncT -> FontT -> Ptr () -> Word32 -> Int32 -> Int32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetGlyphOriginFuncT :: MonadIO m => FontGetGlyphOriginFuncT -> m (GClosure C_FontGetGlyphOriginFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetGlyphOriginFuncT</a>.
mk_FontGetGlyphOriginFuncT :: C_FontGetGlyphOriginFuncT -> IO (FunPtr C_FontGetGlyphOriginFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphOriginFuncT</a></tt>.
noFontGetGlyphOriginFuncT :: Maybe FontGetGlyphOriginFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetGlyphOriginFuncT_WithClosures</a></tt>.
noFontGetGlyphOriginFuncT_WithClosures :: Maybe FontGetGlyphOriginFuncT_WithClosures

-- | Wrap a <a>FontGetGlyphOriginFuncT</a> into a
--   <a>C_FontGetGlyphOriginFuncT</a>.
wrap_FontGetGlyphOriginFuncT :: Maybe (Ptr (FunPtr C_FontGetGlyphOriginFuncT)) -> FontGetGlyphOriginFuncT_WithClosures -> C_FontGetGlyphOriginFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetNominalGlyphFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetNominalGlyphFuncT = FontT -> Ptr () -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetNominalGlyphFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetNominalGlyphFuncT :: FontGetNominalGlyphFuncT -> FontGetNominalGlyphFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetNominalGlyphFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetNominalGlyphFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetNominalGlyphFuncT :: MonadIO m => FontGetNominalGlyphFuncT -> m (GClosure C_FontGetNominalGlyphFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetNominalGlyphFuncT</a>.
mk_FontGetNominalGlyphFuncT :: C_FontGetNominalGlyphFuncT -> IO (FunPtr C_FontGetNominalGlyphFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetNominalGlyphFuncT</a></tt>.
noFontGetNominalGlyphFuncT :: Maybe FontGetNominalGlyphFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetNominalGlyphFuncT_WithClosures</a></tt>.
noFontGetNominalGlyphFuncT_WithClosures :: Maybe FontGetNominalGlyphFuncT_WithClosures

-- | Wrap a <a>FontGetNominalGlyphFuncT</a> into a
--   <a>C_FontGetNominalGlyphFuncT</a>.
wrap_FontGetNominalGlyphFuncT :: Maybe (Ptr (FunPtr C_FontGetNominalGlyphFuncT)) -> FontGetNominalGlyphFuncT_WithClosures -> C_FontGetNominalGlyphFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetNominalGlyphsFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Word32

-- | <i>No description available in the introspection data.</i>
type FontGetNominalGlyphsFuncT = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO Word32

-- | <i>No description available in the introspection data.</i>
type FontGetNominalGlyphsFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Word32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetNominalGlyphsFuncT :: FontGetNominalGlyphsFuncT -> FontGetNominalGlyphsFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetNominalGlyphsFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetNominalGlyphsFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Ptr () -> m Word32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetNominalGlyphsFuncT :: MonadIO m => FontGetNominalGlyphsFuncT -> m (GClosure C_FontGetNominalGlyphsFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetNominalGlyphsFuncT</a>.
mk_FontGetNominalGlyphsFuncT :: C_FontGetNominalGlyphsFuncT -> IO (FunPtr C_FontGetNominalGlyphsFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetNominalGlyphsFuncT</a></tt>.
noFontGetNominalGlyphsFuncT :: Maybe FontGetNominalGlyphsFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetNominalGlyphsFuncT_WithClosures</a></tt>.
noFontGetNominalGlyphsFuncT_WithClosures :: Maybe FontGetNominalGlyphsFuncT_WithClosures

-- | Wrap a <a>FontGetNominalGlyphsFuncT</a> into a
--   <a>C_FontGetNominalGlyphsFuncT</a>.
wrap_FontGetNominalGlyphsFuncT :: Maybe (Ptr (FunPtr C_FontGetNominalGlyphsFuncT)) -> FontGetNominalGlyphsFuncT_WithClosures -> C_FontGetNominalGlyphsFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_FontGetVariationGlyphFuncT = Ptr FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetVariationGlyphFuncT = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type FontGetVariationGlyphFuncT_WithClosures = FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_FontGetVariationGlyphFuncT :: FontGetVariationGlyphFuncT -> FontGetVariationGlyphFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_FontGetVariationGlyphFuncT :: (HasCallStack, MonadIO m) => FunPtr C_FontGetVariationGlyphFuncT -> FontT -> Ptr () -> Word32 -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_FontGetVariationGlyphFuncT :: MonadIO m => FontGetVariationGlyphFuncT -> m (GClosure C_FontGetVariationGlyphFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_FontGetVariationGlyphFuncT</a>.
mk_FontGetVariationGlyphFuncT :: C_FontGetVariationGlyphFuncT -> IO (FunPtr C_FontGetVariationGlyphFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetVariationGlyphFuncT</a></tt>.
noFontGetVariationGlyphFuncT :: Maybe FontGetVariationGlyphFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>FontGetVariationGlyphFuncT_WithClosures</a></tt>.
noFontGetVariationGlyphFuncT_WithClosures :: Maybe FontGetVariationGlyphFuncT_WithClosures

-- | Wrap a <a>FontGetVariationGlyphFuncT</a> into a
--   <a>C_FontGetVariationGlyphFuncT</a>.
wrap_FontGetVariationGlyphFuncT :: Maybe (Ptr (FunPtr C_FontGetVariationGlyphFuncT)) -> FontGetVariationGlyphFuncT_WithClosures -> C_FontGetVariationGlyphFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_ReferenceTableFuncT = Ptr FaceT -> Word32 -> Ptr () -> IO (Ptr BlobT)

-- | <i>No description available in the introspection data.</i>
type ReferenceTableFuncT = FaceT -> Word32 -> IO BlobT

-- | <i>No description available in the introspection data.</i>
type ReferenceTableFuncT_WithClosures = FaceT -> Word32 -> Ptr () -> IO BlobT

-- | A simple wrapper that ignores the closure arguments.
drop_closures_ReferenceTableFuncT :: ReferenceTableFuncT -> ReferenceTableFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_ReferenceTableFuncT :: (HasCallStack, MonadIO m) => FunPtr C_ReferenceTableFuncT -> FaceT -> Word32 -> Ptr () -> m BlobT

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_ReferenceTableFuncT :: MonadIO m => ReferenceTableFuncT -> m (GClosure C_ReferenceTableFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_ReferenceTableFuncT</a>.
mk_ReferenceTableFuncT :: C_ReferenceTableFuncT -> IO (FunPtr C_ReferenceTableFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>ReferenceTableFuncT</a></tt>.
noReferenceTableFuncT :: Maybe ReferenceTableFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>ReferenceTableFuncT_WithClosures</a></tt>.
noReferenceTableFuncT_WithClosures :: Maybe ReferenceTableFuncT_WithClosures

-- | Wrap a <a>ReferenceTableFuncT</a> into a <a>C_ReferenceTableFuncT</a>.
wrap_ReferenceTableFuncT :: Maybe (Ptr (FunPtr C_ReferenceTableFuncT)) -> ReferenceTableFuncT_WithClosures -> C_ReferenceTableFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeCombiningClassFuncT = Ptr UnicodeFuncsT -> Word32 -> Ptr () -> IO CUInt

-- | <i>No description available in the introspection data.</i>
type UnicodeCombiningClassFuncT = UnicodeFuncsT -> Word32 -> IO UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
type UnicodeCombiningClassFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Ptr () -> IO UnicodeCombiningClassT

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeCombiningClassFuncT :: UnicodeCombiningClassFuncT -> UnicodeCombiningClassFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeCombiningClassFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeCombiningClassFuncT -> UnicodeFuncsT -> Word32 -> Ptr () -> m UnicodeCombiningClassT

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeCombiningClassFuncT :: MonadIO m => UnicodeCombiningClassFuncT -> m (GClosure C_UnicodeCombiningClassFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeCombiningClassFuncT</a>.
mk_UnicodeCombiningClassFuncT :: C_UnicodeCombiningClassFuncT -> IO (FunPtr C_UnicodeCombiningClassFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeCombiningClassFuncT</a></tt>.
noUnicodeCombiningClassFuncT :: Maybe UnicodeCombiningClassFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeCombiningClassFuncT_WithClosures</a></tt>.
noUnicodeCombiningClassFuncT_WithClosures :: Maybe UnicodeCombiningClassFuncT_WithClosures

-- | Wrap a <a>UnicodeCombiningClassFuncT</a> into a
--   <a>C_UnicodeCombiningClassFuncT</a>.
wrap_UnicodeCombiningClassFuncT :: Maybe (Ptr (FunPtr C_UnicodeCombiningClassFuncT)) -> UnicodeCombiningClassFuncT_WithClosures -> C_UnicodeCombiningClassFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeComposeFuncT = Ptr UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type UnicodeComposeFuncT = UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type UnicodeComposeFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeComposeFuncT :: UnicodeComposeFuncT -> UnicodeComposeFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeComposeFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeComposeFuncT -> UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeComposeFuncT :: MonadIO m => UnicodeComposeFuncT -> m (GClosure C_UnicodeComposeFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeComposeFuncT</a>.
mk_UnicodeComposeFuncT :: C_UnicodeComposeFuncT -> IO (FunPtr C_UnicodeComposeFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeComposeFuncT</a></tt>.
noUnicodeComposeFuncT :: Maybe UnicodeComposeFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeComposeFuncT_WithClosures</a></tt>.
noUnicodeComposeFuncT_WithClosures :: Maybe UnicodeComposeFuncT_WithClosures

-- | Wrap a <a>UnicodeComposeFuncT</a> into a <a>C_UnicodeComposeFuncT</a>.
wrap_UnicodeComposeFuncT :: Maybe (Ptr (FunPtr C_UnicodeComposeFuncT)) -> UnicodeComposeFuncT_WithClosures -> C_UnicodeComposeFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeDecomposeCompatibilityFuncT = Ptr UnicodeFuncsT -> Word32 -> Word32 -> Ptr () -> IO Word32

-- | Fully decompose <i><tt>u</tt></i> to its Unicode compatibility
--   decomposition. The codepoints of the decomposition will be written to
--   <i><tt>decomposed</tt></i>. The complete length of the decomposition
--   will be returned.
--   
--   If <i><tt>u</tt></i> has no compatibility decomposition, zero should
--   be returned.
--   
--   The Unicode standard guarantees that a buffer of length
--   <a>UNICODE_MAX_DECOMPOSITION_LEN</a> codepoints will always be
--   sufficient for any compatibility decomposition plus an terminating
--   value of 0. Consequently, <i><tt>decompose</tt></i> must be allocated
--   by the caller to be at least this length. Implementations of this
--   function type must ensure that they do not write past the provided
--   array.

-- | <i>Deprecated: (Since version 2.0.0)</i>
type UnicodeDecomposeCompatibilityFuncT = UnicodeFuncsT " /@ufuncs@/: a Unicode function structure" -> Word32 " /@u@/: codepoint to decompose" -> Word32 " /@decomposed@/: address of codepoint array (of length 'GI.HarfBuzz.Constants.UNICODE_MAX_DECOMPOSITION_LEN') to write decomposition into" -> IO Word32 " __Returns:__ number of codepoints in the full compatibility decomposition of /@u@/, or 0 if no decomposition available."

-- | Fully decompose <i><tt>u</tt></i> to its Unicode compatibility
--   decomposition. The codepoints of the decomposition will be written to
--   <i><tt>decomposed</tt></i>. The complete length of the decomposition
--   will be returned.
--   
--   If <i><tt>u</tt></i> has no compatibility decomposition, zero should
--   be returned.
--   
--   The Unicode standard guarantees that a buffer of length
--   <a>UNICODE_MAX_DECOMPOSITION_LEN</a> codepoints will always be
--   sufficient for any compatibility decomposition plus an terminating
--   value of 0. Consequently, <i><tt>decompose</tt></i> must be allocated
--   by the caller to be at least this length. Implementations of this
--   function type must ensure that they do not write past the provided
--   array.
type UnicodeDecomposeCompatibilityFuncT_WithClosures = UnicodeFuncsT " /@ufuncs@/: a Unicode function structure" -> Word32 " /@u@/: codepoint to decompose" -> Word32 " /@decomposed@/: address of codepoint array (of length 'GI.HarfBuzz.Constants.UNICODE_MAX_DECOMPOSITION_LEN') to write decomposition into" -> Ptr () " /@userData@/: user data pointer as passed to 'GI.HarfBuzz.Functions.unicodeFuncsSetDecomposeCompatibilityFunc'" -> IO Word32 " __Returns:__ number of codepoints in the full compatibility decomposition of /@u@/, or 0 if no decomposition available."

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeDecomposeCompatibilityFuncT :: UnicodeDecomposeCompatibilityFuncT -> UnicodeDecomposeCompatibilityFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeDecomposeCompatibilityFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeDecomposeCompatibilityFuncT -> UnicodeFuncsT -> Word32 -> Word32 -> Ptr () -> m Word32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeDecomposeCompatibilityFuncT :: MonadIO m => UnicodeDecomposeCompatibilityFuncT -> m (GClosure C_UnicodeDecomposeCompatibilityFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeDecomposeCompatibilityFuncT</a>.
mk_UnicodeDecomposeCompatibilityFuncT :: C_UnicodeDecomposeCompatibilityFuncT -> IO (FunPtr C_UnicodeDecomposeCompatibilityFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeDecomposeCompatibilityFuncT</a></tt>.
noUnicodeDecomposeCompatibilityFuncT :: Maybe UnicodeDecomposeCompatibilityFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeDecomposeCompatibilityFuncT_WithClosures</a></tt>.
noUnicodeDecomposeCompatibilityFuncT_WithClosures :: Maybe UnicodeDecomposeCompatibilityFuncT_WithClosures

-- | Wrap a <a>UnicodeDecomposeCompatibilityFuncT</a> into a
--   <a>C_UnicodeDecomposeCompatibilityFuncT</a>.
wrap_UnicodeDecomposeCompatibilityFuncT :: Maybe (Ptr (FunPtr C_UnicodeDecomposeCompatibilityFuncT)) -> UnicodeDecomposeCompatibilityFuncT_WithClosures -> C_UnicodeDecomposeCompatibilityFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeDecomposeFuncT = Ptr UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | <i>No description available in the introspection data.</i>
type UnicodeDecomposeFuncT = UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> IO Int32

-- | <i>No description available in the introspection data.</i>
type UnicodeDecomposeFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> IO Int32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeDecomposeFuncT :: UnicodeDecomposeFuncT -> UnicodeDecomposeFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeDecomposeFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeDecomposeFuncT -> UnicodeFuncsT -> Word32 -> Word32 -> Word32 -> Ptr () -> m Int32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeDecomposeFuncT :: MonadIO m => UnicodeDecomposeFuncT -> m (GClosure C_UnicodeDecomposeFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeDecomposeFuncT</a>.
mk_UnicodeDecomposeFuncT :: C_UnicodeDecomposeFuncT -> IO (FunPtr C_UnicodeDecomposeFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeDecomposeFuncT</a></tt>.
noUnicodeDecomposeFuncT :: Maybe UnicodeDecomposeFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeDecomposeFuncT_WithClosures</a></tt>.
noUnicodeDecomposeFuncT_WithClosures :: Maybe UnicodeDecomposeFuncT_WithClosures

-- | Wrap a <a>UnicodeDecomposeFuncT</a> into a
--   <a>C_UnicodeDecomposeFuncT</a>.
wrap_UnicodeDecomposeFuncT :: Maybe (Ptr (FunPtr C_UnicodeDecomposeFuncT)) -> UnicodeDecomposeFuncT_WithClosures -> C_UnicodeDecomposeFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeEastasianWidthFuncT = Ptr UnicodeFuncsT -> Word32 -> Ptr () -> IO Word32

-- | <i>No description available in the introspection data.</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
type UnicodeEastasianWidthFuncT = UnicodeFuncsT -> Word32 -> IO Word32

-- | <i>No description available in the introspection data.</i>
type UnicodeEastasianWidthFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Ptr () -> IO Word32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeEastasianWidthFuncT :: UnicodeEastasianWidthFuncT -> UnicodeEastasianWidthFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeEastasianWidthFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeEastasianWidthFuncT -> UnicodeFuncsT -> Word32 -> Ptr () -> m Word32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeEastasianWidthFuncT :: MonadIO m => UnicodeEastasianWidthFuncT -> m (GClosure C_UnicodeEastasianWidthFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeEastasianWidthFuncT</a>.
mk_UnicodeEastasianWidthFuncT :: C_UnicodeEastasianWidthFuncT -> IO (FunPtr C_UnicodeEastasianWidthFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeEastasianWidthFuncT</a></tt>.
noUnicodeEastasianWidthFuncT :: Maybe UnicodeEastasianWidthFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeEastasianWidthFuncT_WithClosures</a></tt>.
noUnicodeEastasianWidthFuncT_WithClosures :: Maybe UnicodeEastasianWidthFuncT_WithClosures

-- | Wrap a <a>UnicodeEastasianWidthFuncT</a> into a
--   <a>C_UnicodeEastasianWidthFuncT</a>.
wrap_UnicodeEastasianWidthFuncT :: Maybe (Ptr (FunPtr C_UnicodeEastasianWidthFuncT)) -> UnicodeEastasianWidthFuncT_WithClosures -> C_UnicodeEastasianWidthFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeGeneralCategoryFuncT = Ptr UnicodeFuncsT -> Word32 -> Ptr () -> IO CUInt

-- | <i>No description available in the introspection data.</i>
type UnicodeGeneralCategoryFuncT = UnicodeFuncsT -> Word32 -> IO UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
type UnicodeGeneralCategoryFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Ptr () -> IO UnicodeGeneralCategoryT

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeGeneralCategoryFuncT :: UnicodeGeneralCategoryFuncT -> UnicodeGeneralCategoryFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeGeneralCategoryFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeGeneralCategoryFuncT -> UnicodeFuncsT -> Word32 -> Ptr () -> m UnicodeGeneralCategoryT

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeGeneralCategoryFuncT :: MonadIO m => UnicodeGeneralCategoryFuncT -> m (GClosure C_UnicodeGeneralCategoryFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeGeneralCategoryFuncT</a>.
mk_UnicodeGeneralCategoryFuncT :: C_UnicodeGeneralCategoryFuncT -> IO (FunPtr C_UnicodeGeneralCategoryFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeGeneralCategoryFuncT</a></tt>.
noUnicodeGeneralCategoryFuncT :: Maybe UnicodeGeneralCategoryFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeGeneralCategoryFuncT_WithClosures</a></tt>.
noUnicodeGeneralCategoryFuncT_WithClosures :: Maybe UnicodeGeneralCategoryFuncT_WithClosures

-- | Wrap a <a>UnicodeGeneralCategoryFuncT</a> into a
--   <a>C_UnicodeGeneralCategoryFuncT</a>.
wrap_UnicodeGeneralCategoryFuncT :: Maybe (Ptr (FunPtr C_UnicodeGeneralCategoryFuncT)) -> UnicodeGeneralCategoryFuncT_WithClosures -> C_UnicodeGeneralCategoryFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeMirroringFuncT = Ptr UnicodeFuncsT -> Word32 -> Ptr () -> IO Word32

-- | <i>No description available in the introspection data.</i>
type UnicodeMirroringFuncT = UnicodeFuncsT -> Word32 -> IO Word32

-- | <i>No description available in the introspection data.</i>
type UnicodeMirroringFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Ptr () -> IO Word32

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeMirroringFuncT :: UnicodeMirroringFuncT -> UnicodeMirroringFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeMirroringFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeMirroringFuncT -> UnicodeFuncsT -> Word32 -> Ptr () -> m Word32

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeMirroringFuncT :: MonadIO m => UnicodeMirroringFuncT -> m (GClosure C_UnicodeMirroringFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeMirroringFuncT</a>.
mk_UnicodeMirroringFuncT :: C_UnicodeMirroringFuncT -> IO (FunPtr C_UnicodeMirroringFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeMirroringFuncT</a></tt>.
noUnicodeMirroringFuncT :: Maybe UnicodeMirroringFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeMirroringFuncT_WithClosures</a></tt>.
noUnicodeMirroringFuncT_WithClosures :: Maybe UnicodeMirroringFuncT_WithClosures

-- | Wrap a <a>UnicodeMirroringFuncT</a> into a
--   <a>C_UnicodeMirroringFuncT</a>.
wrap_UnicodeMirroringFuncT :: Maybe (Ptr (FunPtr C_UnicodeMirroringFuncT)) -> UnicodeMirroringFuncT_WithClosures -> C_UnicodeMirroringFuncT

-- | Type for the callback on the (unwrapped) C side.
type C_UnicodeScriptFuncT = Ptr UnicodeFuncsT -> Word32 -> Ptr () -> IO CUInt

-- | <i>No description available in the introspection data.</i>
type UnicodeScriptFuncT = UnicodeFuncsT -> Word32 -> IO ScriptT

-- | <i>No description available in the introspection data.</i>
type UnicodeScriptFuncT_WithClosures = UnicodeFuncsT -> Word32 -> Ptr () -> IO ScriptT

-- | A simple wrapper that ignores the closure arguments.
drop_closures_UnicodeScriptFuncT :: UnicodeScriptFuncT -> UnicodeScriptFuncT_WithClosures

-- | Given a pointer to a foreign C function, wrap it into a function
--   callable from Haskell.
dynamic_UnicodeScriptFuncT :: (HasCallStack, MonadIO m) => FunPtr C_UnicodeScriptFuncT -> UnicodeFuncsT -> Word32 -> Ptr () -> m ScriptT

-- | Wrap the callback into a <a>GClosure</a>.
genClosure_UnicodeScriptFuncT :: MonadIO m => UnicodeScriptFuncT -> m (GClosure C_UnicodeScriptFuncT)

-- | Generate a function pointer callable from C code, from a
--   <a>C_UnicodeScriptFuncT</a>.
mk_UnicodeScriptFuncT :: C_UnicodeScriptFuncT -> IO (FunPtr C_UnicodeScriptFuncT)

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeScriptFuncT</a></tt>.
noUnicodeScriptFuncT :: Maybe UnicodeScriptFuncT

-- | A convenience synonym for <tt><a>Nothing</a> :: <a>Maybe</a>
--   <a>UnicodeScriptFuncT_WithClosures</a></tt>.
noUnicodeScriptFuncT_WithClosures :: Maybe UnicodeScriptFuncT_WithClosures

-- | Wrap a <a>UnicodeScriptFuncT</a> into a <a>C_UnicodeScriptFuncT</a>.
wrap_UnicodeScriptFuncT :: Maybe (Ptr (FunPtr C_UnicodeScriptFuncT)) -> UnicodeScriptFuncT_WithClosures -> C_UnicodeScriptFuncT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.UnicodeFuncsT

-- | Memory-managed wrapper type.
newtype UnicodeFuncsT
UnicodeFuncsT :: ManagedPtr UnicodeFuncsT -> UnicodeFuncsT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.UnicodeFuncsT.UnicodeFuncsT


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Structs.UserDataKeyT

-- | Memory-managed wrapper type.
newtype UserDataKeyT
UserDataKeyT :: ManagedPtr UserDataKeyT -> UserDataKeyT

-- | Construct a <a>UserDataKeyT</a> struct initialized to zero.
newZeroUserDataKeyT :: MonadIO m => m UserDataKeyT
instance GHC.Classes.Eq GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance Data.GI.Base.Overloading.HasParentTypes GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance Data.GI.Base.BasicTypes.TypedObject GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance Data.GI.Base.BasicTypes.GBoxed GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance Data.GI.Base.GValue.IsGValue GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.UserDataKeyT.UserDataKeyT tag


module GI.HarfBuzz.Functions

-- | Makes a writable copy of <i><tt>blob</tt></i>.
--   
--   <i>Since: 1.8.0</i>
blobCopyWritableOrFail :: (HasCallStack, MonadIO m) => BlobT -> m BlobT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
blobCreateFromFile :: (HasCallStack, MonadIO m) => Text -> m BlobT

-- | Returns a blob that represents a range of bytes in
--   <i><tt>parent</tt></i>. The new blob is always created with
--   <a>MemoryModeTReadonly</a>, meaning that it will never modify data in
--   the parent blob. The parent data is not expected to be modified, and
--   will result in undefined behavior if it is.
--   
--   Makes <i><tt>parent</tt></i> immutable.
--   
--   <i>Since: 0.9.2</i>
blobCreateSubBlob :: (HasCallStack, MonadIO m) => BlobT -> Word32 -> Word32 -> m BlobT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
blobGetData :: (HasCallStack, MonadIO m) => BlobT -> m [Text]

-- | Tries to make blob data writable (possibly copying it) and return
--   pointer to data.
--   
--   Fails if blob has been made immutable, or if memory allocation fails.
--   
--   <i>Since: 0.9.2</i>
blobGetDataWritable :: (HasCallStack, MonadIO m) => BlobT -> m [Text]

-- | Returns the singleton empty blob.
--   
--   See TODO:link object types for more information.
--   
--   <i>Since: 0.9.2</i>
blobGetEmpty :: (HasCallStack, MonadIO m) => m BlobT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
blobGetLength :: (HasCallStack, MonadIO m) => BlobT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
blobIsImmutable :: (HasCallStack, MonadIO m) => BlobT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
blobMakeImmutable :: (HasCallStack, MonadIO m) => BlobT -> m ()

-- | Appends a character with the Unicode value of
--   <i><tt>codepoint</tt></i> to <i><tt>buffer</tt></i>, and gives it the
--   initial cluster value of <i><tt>cluster</tt></i>. Clusters can be any
--   thing the client wants, they are usually used to refer to the index of
--   the character in the input text stream and are output in
--   <a>GlyphInfoT</a>.<tt><i>cluster</i></tt> field.
--   
--   This function does not check the validity of
--   <i><tt>codepoint</tt></i>, it is up to the caller to ensure it is a
--   valid Unicode code point.
--   
--   <i>Since: 0.9.7</i>
bufferAdd :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> Word32 -> m ()

-- | Appends characters from <i><tt>text</tt></i> array to
--   <i><tt>buffer</tt></i>. The <i><tt>itemOffset</tt></i> is the position
--   of the first character from <i><tt>text</tt></i> that will be
--   appended, and <i><tt>itemLength</tt></i> is the number of character.
--   When shaping part of a larger text (e.g. a run of text from a
--   paragraph), instead of passing just the substring corresponding to the
--   run, it is preferable to pass the whole paragraph and specify the run
--   start and length as <i><tt>itemOffset</tt></i> and
--   <i><tt>itemLength</tt></i>, respectively, to give HarfBuzz the full
--   context to be able, for example, to do cross-run Arabic shaping or
--   properly handle combining marks at stat of run.
--   
--   This function does not check the validity of <i><tt>text</tt></i>, it
--   is up to the caller to ensure it contains a valid Unicode code points.
--   
--   <i>Since: 0.9.31</i>
bufferAddCodepoints :: (HasCallStack, MonadIO m) => BufferT -> [Word32] -> Word32 -> Int32 -> m ()

-- | Similar to <a>bufferAddCodepoints</a>, but allows only access to first
--   256 Unicode code points that can fit in 8-bit strings.
--   
--   &lt;note&gt;Has nothing to do with non-Unicode Latin-1
--   encoding.&lt;/note&gt;
--   
--   <i>Since: 0.9.39</i>
bufferAddLatin1 :: (HasCallStack, MonadIO m) => BufferT -> ByteString -> Word32 -> Int32 -> m ()

-- | See <a>bufferAddCodepoints</a>.
--   
--   Replaces invalid UTF-16 characters with the <i><tt>buffer</tt></i>
--   replacement code point, see <a>bufferSetReplacementCodepoint</a>.
--   
--   <i>Since: 0.9.2</i>
bufferAddUtf16 :: (HasCallStack, MonadIO m) => BufferT -> [Word16] -> Word32 -> Int32 -> m ()

-- | See <a>bufferAddCodepoints</a>.
--   
--   Replaces invalid UTF-32 characters with the <i><tt>buffer</tt></i>
--   replacement code point, see <a>bufferSetReplacementCodepoint</a>.
--   
--   <i>Since: 0.9.2</i>
bufferAddUtf32 :: (HasCallStack, MonadIO m) => BufferT -> [Word32] -> Word32 -> Int32 -> m ()

-- | See <a>bufferAddCodepoints</a>.
--   
--   Replaces invalid UTF-8 characters with the <i><tt>buffer</tt></i>
--   replacement code point, see <a>bufferSetReplacementCodepoint</a>.
--   
--   <i>Since: 0.9.2</i>
bufferAddUtf8 :: (HasCallStack, MonadIO m) => BufferT -> ByteString -> Word32 -> Int32 -> m ()

-- | Check if allocating memory for the buffer succeeded.
--   
--   <i>Since: 0.9.2</i>
bufferAllocationSuccessful :: (HasCallStack, MonadIO m) => BufferT -> m Int32

-- | Append (part of) contents of another buffer to this buffer.
--   
--   <i>Since: 1.5.0</i>
bufferAppend :: (HasCallStack, MonadIO m) => BufferT -> BufferT -> Word32 -> Word32 -> m ()

-- | Similar to <a>bufferReset</a>, but does not clear the Unicode
--   functions and the replacement code point.
--   
--   <i>Since: 0.9.11</i>
bufferClearContents :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Creates a new <a>BufferT</a> with all properties to defaults.
--   
--   <i>Since: 0.9.2</i>
bufferCreate :: (HasCallStack, MonadIO m) => m BufferT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
bufferDeserializeGlyphs :: (HasCallStack, MonadIO m) => BufferT -> [Text] -> FontT -> BufferSerializeFormatT -> m (Int32, Text)

-- | If dottedcircle_glyph is (hb_codepoint_t) -1 then
--   <a>BufferDiffFlagsTDottedCirclePresent</a> and
--   <a>BufferDiffFlagsTNotdefPresent</a> are never returned. This should
--   be used by most callers if just comparing two buffers is needed.
--   
--   <i>Since: 1.5.0</i>
bufferDiff :: (HasCallStack, MonadIO m) => BufferT -> BufferT -> Word32 -> Word32 -> m [BufferDiffFlagsT]

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.42</i>
bufferGetClusterLevel :: (HasCallStack, MonadIO m) => BufferT -> m BufferClusterLevelT

-- | see <a>bufferSetContentType</a>.
--   
--   <i>Since: 0.9.5</i>
bufferGetContentType :: (HasCallStack, MonadIO m) => BufferT -> m BufferContentTypeT

-- | See <a>bufferSetDirection</a>
--   
--   <i>Since: 0.9.2</i>
bufferGetDirection :: (HasCallStack, MonadIO m) => BufferT -> m DirectionT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
bufferGetEmpty :: (HasCallStack, MonadIO m) => m BufferT

-- | See <a>bufferSetFlags</a>.
--   
--   <i>Since: 0.9.7</i>
bufferGetFlags :: (HasCallStack, MonadIO m) => BufferT -> m [BufferFlagsT]

-- | Returns <i><tt>buffer</tt></i> glyph information array. Returned
--   pointer is valid as long as <i><tt>buffer</tt></i> contents are not
--   modified.
--   
--   <i>Since: 0.9.2</i>
bufferGetGlyphInfos :: (HasCallStack, MonadIO m) => BufferT -> m [GlyphInfoT]

-- | Returns <i><tt>buffer</tt></i> glyph position array. Returned pointer
--   is valid as long as <i><tt>buffer</tt></i> contents are not modified.
--   
--   <i>Since: 0.9.2</i>
bufferGetGlyphPositions :: (HasCallStack, MonadIO m) => BufferT -> m [GlyphPositionT]

-- | See <a>bufferSetInvisibleGlyph</a>.
--   
--   <i>Since: 2.0.0</i>
bufferGetInvisibleGlyph :: (HasCallStack, MonadIO m) => BufferT -> m Word32

-- | See <a>bufferSetLanguage</a>.
--   
--   <i>Since: 0.9.2</i>
bufferGetLanguage :: (HasCallStack, MonadIO m) => BufferT -> m LanguageT

-- | Returns the number of items in the buffer.
--   
--   <i>Since: 0.9.2</i>
bufferGetLength :: (HasCallStack, MonadIO m) => BufferT -> m Word32

-- | See <a>bufferSetReplacementCodepoint</a>.
--   
--   <i>Since: 0.9.31</i>
bufferGetReplacementCodepoint :: (HasCallStack, MonadIO m) => BufferT -> m Word32

-- | See <a>bufferSetScript</a>.
--   
--   <i>Since: 0.9.2</i>
bufferGetScript :: (HasCallStack, MonadIO m) => BufferT -> m ScriptT

-- | Sets <i><tt>props</tt></i> to the <a>SegmentPropertiesT</a> of
--   <i><tt>buffer</tt></i>.
--   
--   <i>Since: 0.9.7</i>
bufferGetSegmentProperties :: (HasCallStack, MonadIO m) => BufferT -> m SegmentPropertiesT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
bufferGetUnicodeFuncs :: (HasCallStack, MonadIO m) => BufferT -> m UnicodeFuncsT

-- | Sets unset buffer segment properties based on buffer Unicode contents.
--   If buffer is not empty, it must have content type
--   <a>BufferContentTypeTUnicode</a>.
--   
--   If buffer script is not set (ie. is <a>ScriptTInvalid</a>), it will be
--   set to the Unicode script of the first character in the buffer that
--   has a script other than <a>ScriptTCommon</a>, <a>ScriptTInherited</a>,
--   and <a>ScriptTUnknown</a>.
--   
--   Next, if buffer direction is not set (ie. is
--   <a>DirectionTInvalid</a>), it will be set to the natural horizontal
--   direction of the buffer script as returned by
--   <a>scriptGetHorizontalDirection</a>. If
--   <a>scriptGetHorizontalDirection</a> returns <a>DirectionTInvalid</a>,
--   then <a>DirectionTLtr</a> is used.
--   
--   Finally, if buffer language is not set (ie. is
--   <a>LANGUAGE_INVALID</a>), it will be set to the process's default
--   language as returned by <a>languageGetDefault</a>. This may change in
--   the future by taking buffer script into consideration when choosing a
--   language. Note that <a>languageGetDefault</a> is NOT threadsafe the
--   first time it is called. See documentation for that function for
--   details.
--   
--   <i>Since: 0.9.7</i>
bufferGuessSegmentProperties :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Reorders a glyph buffer to have canonical in-cluster glyph order /
--   position. The resulting clusters should behave identical to
--   pre-reordering clusters.
--   
--   &lt;note&gt;This has nothing to do with Unicode
--   normalization.&lt;/note&gt;
--   
--   <i>Since: 0.9.2</i>
bufferNormalizeGlyphs :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Pre allocates memory for <i><tt>buffer</tt></i> to fit at least
--   <i><tt>size</tt></i> number of items.
--   
--   <i>Since: 0.9.2</i>
bufferPreAllocate :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> m Int32

-- | Resets the buffer to its initial status, as if it was just newly
--   created with <a>bufferCreate</a>.
--   
--   <i>Since: 0.9.2</i>
bufferReset :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Reverses buffer contents.
--   
--   <i>Since: 0.9.2</i>
bufferReverse :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Reverses buffer clusters. That is, the buffer contents are reversed,
--   then each cluster (consecutive items having the same cluster number)
--   are reversed again.
--   
--   <i>Since: 0.9.2</i>
bufferReverseClusters :: (HasCallStack, MonadIO m) => BufferT -> m ()

-- | Reverses buffer contents between start to end.
--   
--   <i>Since: 0.9.41</i>
bufferReverseRange :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> Word32 -> m ()

-- | Parses a string into an <a>BufferSerializeFormatT</a>. Does not check
--   if <i><tt>str</tt></i> is a valid buffer serialization format, use
--   <a>bufferSerializeListFormats</a> to get the list of supported
--   formats.
--   
--   <i>Since: 0.9.7</i>
bufferSerializeFormatFromString :: (HasCallStack, MonadIO m) => ByteString -> m BufferSerializeFormatT

-- | Converts <i><tt>format</tt></i> to the string corresponding it, or
--   <a>Nothing</a> if it is not a valid <a>BufferSerializeFormatT</a>.
--   
--   <i>Since: 0.9.7</i>
bufferSerializeFormatToString :: (HasCallStack, MonadIO m) => BufferSerializeFormatT -> m Text

-- | Serializes <i><tt>buffer</tt></i> into a textual representation of its
--   glyph content, useful for showing the contents of the buffer, for
--   example during debugging. There are currently two supported
--   serialization formats:
--   
--   <h2>text</h2>
--   
--   A human-readable, plain text format. The serialized glyphs will look
--   something like:
--   
--   ``<tt> [uni0651=0@518,0+0|uni0628=0+1897] </tt>`<tt> - The serialized
--   glyphs are delimited with </tt>[<tt> and </tt>]<tt>. - Glyphs are
--   separated with </tt>|<tt> - Each glyph starts with glyph name, or
--   glyph index if #HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES flag is set.
--   Then, - If #HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS is not set,
--   </tt>=<tt> then #hb_glyph_info_t.cluster. - If hb_glyph_position_t in
--   the format: - If both hb_glyph_position_t.y_offset are not 0,
--   </tt><i><tt>xOffset</tt></i>,y_offset<tt>. Then, -
--   </tt>+x_advance<tt>, then </tt>,y_advance<tt> if
--   #hb_glyph_position_t.y_advance is not 0. Then, - If
--   #HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS is set, the
--   #hb_glyph_extents_t in the format
--   </tt>&amp;lt;x_bearing,y_bearing,width,height&amp;gt;`
--   
--   <h2>json</h2>
--   
--   TODO.
--   
--   <i>Since: 0.9.7</i>
bufferSerializeGlyphs :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> Word32 -> Maybe FontT -> BufferSerializeFormatT -> [BufferSerializeFlagsT] -> m (Word32, ByteString, Word32)

-- | Returns a list of supported buffer serialization formats.
--   
--   <i>Since: 0.9.7</i>
bufferSerializeListFormats :: (HasCallStack, MonadIO m) => m [Text]

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.42</i>
bufferSetClusterLevel :: (HasCallStack, MonadIO m) => BufferT -> BufferClusterLevelT -> m ()

-- | Sets the type of <i><tt>buffer</tt></i> contents, buffers are either
--   empty, contain characters (before shaping) or glyphs (the result of
--   shaping).
--   
--   <i>Since: 0.9.5</i>
bufferSetContentType :: (HasCallStack, MonadIO m) => BufferT -> BufferContentTypeT -> m ()

-- | Set the text flow direction of the buffer. No shaping can happen
--   without setting <i><tt>buffer</tt></i> direction, and it controls the
--   visual direction for the output glyphs; for RTL direction the glyphs
--   will be reversed. Many layout features depend on the proper setting of
--   the direction, for example, reversing RTL text before shaping, then
--   shaping with LTR direction is not the same as keeping the text in
--   logical order and shaping with RTL direction.
--   
--   <i>Since: 0.9.2</i>
bufferSetDirection :: (HasCallStack, MonadIO m) => BufferT -> DirectionT -> m ()

-- | Sets <i><tt>buffer</tt></i> flags to <i><tt>flags</tt></i>. See
--   <a>BufferFlagsT</a>.
--   
--   <i>Since: 0.9.7</i>
bufferSetFlags :: (HasCallStack, MonadIO m) => BufferT -> [BufferFlagsT] -> m ()

-- | Sets the <tt><i>hb_codepoint_t</i></tt> that replaces invisible
--   characters in the shaping result. If set to zero (default), the glyph
--   for the U+0020 SPACE character is used. Otherwise, this value is used
--   verbatim.
--   
--   <i>Since: 2.0.0</i>
bufferSetInvisibleGlyph :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> m ()

-- | Sets the language of <i><tt>buffer</tt></i> to
--   <i><tt>language</tt></i>.
--   
--   Languages are crucial for selecting which OpenType feature to apply to
--   the buffer which can result in applying language-specific behaviour.
--   Languages are orthogonal to the scripts, and though they are related,
--   they are different concepts and should not be confused with each
--   other.
--   
--   Use <a>languageFromString</a> to convert from BCP 47 language tags to
--   <a>LanguageT</a>.
--   
--   <i>Since: 0.9.2</i>
bufferSetLanguage :: (HasCallStack, MonadIO m) => BufferT -> LanguageT -> m ()

-- | Similar to <a>bufferPreAllocate</a>, but clears any new items added at
--   the end.
--   
--   <i>Since: 0.9.2</i>
bufferSetLength :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.3</i>
bufferSetMessageFunc :: (HasCallStack, MonadIO m) => BufferT -> BufferMessageFuncT -> m ()

-- | Sets the <tt><i>hb_codepoint_t</i></tt> that replaces invalid entries
--   for a given encoding when adding text to <i><tt>buffer</tt></i>.
--   
--   Default is <a>BUFFER_REPLACEMENT_CODEPOINT_DEFAULT</a>.
--   
--   <i>Since: 0.9.31</i>
bufferSetReplacementCodepoint :: (HasCallStack, MonadIO m) => BufferT -> Word32 -> m ()

-- | Sets the script of <i><tt>buffer</tt></i> to <i><tt>script</tt></i>.
--   
--   Script is crucial for choosing the proper shaping behaviour for
--   scripts that require it (e.g. Arabic) and the which OpenType features
--   defined in the font to be applied.
--   
--   You can pass one of the predefined <a>ScriptT</a> values, or use
--   <a>scriptFromString</a> or <a>scriptFromIso15924Tag</a> to get the
--   corresponding script from an ISO 15924 script tag.
--   
--   <i>Since: 0.9.2</i>
bufferSetScript :: (HasCallStack, MonadIO m) => BufferT -> ScriptT -> m ()

-- | Sets the segment properties of the buffer, a shortcut for calling
--   <a>bufferSetDirection</a>, <a>bufferSetScript</a> and
--   <a>bufferSetLanguage</a> individually.
--   
--   <i>Since: 0.9.7</i>
bufferSetSegmentProperties :: (HasCallStack, MonadIO m) => BufferT -> SegmentPropertiesT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
bufferSetUnicodeFuncs :: (HasCallStack, MonadIO m) => BufferT -> UnicodeFuncsT -> m ()

-- | color: a <tt><i>hb_color_t</i></tt> we are interested in its channels.
--   
--   <i>Since: 2.1.0</i>
colorGetAlpha :: (HasCallStack, MonadIO m) => Word32 -> m Word8

-- | color: a <tt><i>hb_color_t</i></tt> we are interested in its channels.
--   
--   <i>Since: 2.1.0</i>
colorGetBlue :: (HasCallStack, MonadIO m) => Word32 -> m Word8

-- | color: a <tt><i>hb_color_t</i></tt> we are interested in its channels.
--   
--   <i>Since: 2.1.0</i>
colorGetGreen :: (HasCallStack, MonadIO m) => Word32 -> m Word8

-- | color: a <tt><i>hb_color_t</i></tt> we are interested in its channels.
--   
--   <i>Since: 2.1.0</i>
colorGetRed :: (HasCallStack, MonadIO m) => Word32 -> m Word8

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
directionFromString :: (HasCallStack, MonadIO m) => ByteString -> m DirectionT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
directionToString :: (HasCallStack, MonadIO m) => DirectionT -> m Text

-- | Add table for <i><tt>tag</tt></i> with data provided by
--   <i><tt>blob</tt></i> to the face. <i><tt>face</tt></i> must be created
--   using <a>faceBuilderCreate</a>.
--   
--   <i>Since: 1.9.0</i>
faceBuilderAddTable :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> BlobT -> m Int32

-- | Creates a <a>FaceT</a> that can be used with
--   <a>faceBuilderAddTable</a>. After tables are added to the face, it can
--   be compiled to a binary font file by calling <a>faceReferenceBlob</a>.
--   
--   <i>Since: 1.9.0</i>
faceBuilderCreate :: (HasCallStack, MonadIO m) => m FaceT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.9.0</i>
faceCollectUnicodes :: (HasCallStack, MonadIO m) => FaceT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.9.0</i>
faceCollectVariationSelectors :: (HasCallStack, MonadIO m) => FaceT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.9.0</i>
faceCollectVariationUnicodes :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> SetT -> m ()

-- | Get number of faces in a blob.
--   
--   <i>Since: 1.7.7</i>
faceCount :: (HasCallStack, MonadIO m) => BlobT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceCreate :: (HasCallStack, MonadIO m) => BlobT -> Word32 -> m FaceT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceCreateForTables :: (HasCallStack, MonadIO m) => ReferenceTableFuncT -> m FaceT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceGetEmpty :: (HasCallStack, MonadIO m) => m FaceT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
faceGetGlyphCount :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceGetIndex :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | Retrieves table tags for a face, if possible.
--   
--   <i>Since: 1.6.0</i>
faceGetTableTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceGetUpem :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceIsImmutable :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceMakeImmutable :: (HasCallStack, MonadIO m) => FaceT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceReferenceBlob :: (HasCallStack, MonadIO m) => FaceT -> m BlobT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceReferenceTable :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m BlobT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
faceSetGlyphCount :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceSetIndex :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
faceSetUpem :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m ()

-- | Parses a string into a <a>FeatureT</a>.
--   
--   The format for specifying feature strings follows. All valid CSS
--   font-feature-settings values other than 'normal' and the global values
--   are also accepted, though not documented below. CSS string escapes are
--   not supported.
--   
--   The range indices refer to the positions between Unicode characters.
--   The position before the first character is always 0.
--   
--   The format is Python-esque. Here is how it all works:
--   
--   &lt;informaltable pgwide='1' align='left' frame='none'&gt; &lt;tgroup
--   cols='5'&gt; &lt;thead&gt;
--   &lt;row&gt;&lt;entry&gt;Syntax&lt;/entry&gt;
--   &lt;entry&gt;Value&lt;/entry&gt; &lt;entry&gt;Start&lt;/entry&gt;
--   &lt;entry&gt;End&lt;/entry&gt;&lt;/row&gt; &lt;/thead&gt;
--   &lt;tbody&gt; &lt;row&gt;&lt;entry&gt;Setting
--   value:&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   on&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;+kern&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   on&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;-kern&lt;/entry&gt;
--   &lt;entry&gt;0&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   off&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern=0&lt;/entry&gt;
--   &lt;entry&gt;0&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   off&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern=1&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   on&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;aalt=2&lt;/entry&gt;
--   &lt;entry&gt;2&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Choose 2nd
--   alternate&lt;/entry&gt;&lt;/row&gt; &lt;row&gt;&lt;entry&gt;Setting
--   index:&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   on&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[:]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature
--   on&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[5:]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;5&lt;/entry&gt;
--   &lt;entry&gt;∞&lt;/entry&gt; &lt;entry&gt;Turn feature on,
--   partial&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[:5]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;0&lt;/entry&gt;
--   &lt;entry&gt;5&lt;/entry&gt; &lt;entry&gt;Turn feature on,
--   partial&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[3:5]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;3&lt;/entry&gt;
--   &lt;entry&gt;5&lt;/entry&gt; &lt;entry&gt;Turn feature on,
--   range&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;kern[3]&lt;/entry&gt;
--   &lt;entry&gt;1&lt;/entry&gt; &lt;entry&gt;3&lt;/entry&gt;
--   &lt;entry&gt;3+1&lt;/entry&gt; &lt;entry&gt;Turn feature on, single
--   char&lt;/entry&gt;&lt;/row&gt; &lt;row&gt;&lt;entry&gt;Mixing it
--   all:&lt;/entry&gt;&lt;/row&gt;
--   &lt;row&gt;&lt;entry&gt;aalt[3:5]=2&lt;/entry&gt;
--   &lt;entry&gt;2&lt;/entry&gt; &lt;entry&gt;3&lt;/entry&gt;
--   &lt;entry&gt;5&lt;/entry&gt; &lt;entry&gt;Turn 2nd alternate on for
--   range&lt;/entry&gt;&lt;/row&gt; &lt;/tbody&gt; &lt;/tgroup&gt;
--   &lt;/informaltable&gt;
--   
--   <i>Since: 0.9.5</i>
featureFromString :: (HasCallStack, MonadIO m) => ByteString -> m (Int32, FeatureT)

-- | Converts a <a>FeatureT</a> into a <a>Nothing</a>-terminated string in
--   the format understood by <a>featureFromString</a>. The client in
--   responsible for allocating big enough size for <i><tt>buf</tt></i>,
--   128 bytes is more than enough.
--   
--   <i>Since: 0.9.5</i>
featureToString :: (HasCallStack, MonadIO m) => FeatureT -> m [Text]

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontAddGlyphOriginForDirection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontCreate :: (HasCallStack, MonadIO m) => FaceT -> m FontT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontCreateSubFont :: (HasCallStack, MonadIO m) => FontT -> m FontT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsCreate :: (HasCallStack, MonadIO m) => m FontFuncsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsGetEmpty :: (HasCallStack, MonadIO m) => m FontFuncsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsIsImmutable :: (HasCallStack, MonadIO m) => FontFuncsT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsMakeImmutable :: (HasCallStack, MonadIO m) => FontFuncsT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.2</i>
fontFuncsSetFontHExtentsFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetFontExtentsFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.2</i>
fontFuncsSetFontVExtentsFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetFontExtentsFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphContourPointFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphContourPointFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphExtentsFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphExtentsFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphFromNameFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphFromNameFuncT -> m ()

-- | Deprecated. Use <a>fontFuncsSetNominalGlyphFunc</a> and
--   <a>fontFuncsSetVariationGlyphFunc</a> instead.
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 1.2.3)</i>
fontFuncsSetGlyphFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphHAdvanceFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphAdvanceFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.6</i>
fontFuncsSetGlyphHAdvancesFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphAdvancesFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphHKerningFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphKerningFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphHOriginFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphOriginFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphNameFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphNameFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphVAdvanceFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphAdvanceFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.6</i>
fontFuncsSetGlyphVAdvancesFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphAdvancesFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
fontFuncsSetGlyphVKerningFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphKerningFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontFuncsSetGlyphVOriginFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetGlyphOriginFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.2.3</i>
fontFuncsSetNominalGlyphFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetNominalGlyphFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.0.0</i>
fontFuncsSetNominalGlyphsFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetNominalGlyphsFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.2.3</i>
fontFuncsSetVariationGlyphFunc :: (HasCallStack, MonadIO m) => FontFuncsT -> FontGetVariationGlyphFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetEmpty :: (HasCallStack, MonadIO m) => m FontT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.3</i>
fontGetExtentsForDirection :: (HasCallStack, MonadIO m) => FontT -> DirectionT -> m FontExtentsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetFace :: (HasCallStack, MonadIO m) => FontT -> m FaceT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyph :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphAdvanceForDirection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.6</i>
fontGetGlyphAdvancesForDirection :: (HasCallStack, MonadIO m) => FontT -> DirectionT -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphContourPoint :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m (Int32, Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphContourPointForOrigin :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> DirectionT -> m (Int32, Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphExtents :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m (Int32, GlyphExtentsT)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphExtentsForOrigin :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> m (Int32, GlyphExtentsT)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphFromName :: (HasCallStack, MonadIO m) => FontT -> [Text] -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphHAdvance :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.6</i>
fontGetGlyphHAdvances :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphHKerning :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphHOrigin :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m (Int32, Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphKerningForDirection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> DirectionT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphName :: (HasCallStack, MonadIO m) => FontT -> Word32 -> [Text] -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphOriginForDirection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphVAdvance :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.6</i>
fontGetGlyphVAdvances :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
fontGetGlyphVKerning :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetGlyphVOrigin :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m (Int32, Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.3</i>
fontGetHExtents :: (HasCallStack, MonadIO m) => FontT -> m (Int32, FontExtentsT)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.2.3</i>
fontGetNominalGlyph :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.6.3</i>
fontGetNominalGlyphs :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetParent :: (HasCallStack, MonadIO m) => FontT -> m FontT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetPpem :: (HasCallStack, MonadIO m) => FontT -> m (Word32, Word32)

-- | Gets the "point size" of the font. A value of 0 means unset.
--   
--   <i>Since: 0.9.2</i>
fontGetPtem :: (HasCallStack, MonadIO m) => FontT -> m Float

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGetScale :: (HasCallStack, MonadIO m) => FontT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.1.3</i>
fontGetVExtents :: (HasCallStack, MonadIO m) => FontT -> m (Int32, FontExtentsT)

-- | Return value is valid as long as variation coordinates of the font are
--   not modified.
--   
--   <i>Since: 1.4.2</i>
fontGetVarCoordsNormalized :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.2.3</i>
fontGetVariationGlyph :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGlyphFromString :: (HasCallStack, MonadIO m) => FontT -> ByteString -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontGlyphToString :: (HasCallStack, MonadIO m) => FontT -> Word32 -> [Text] -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontIsImmutable :: (HasCallStack, MonadIO m) => FontT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontMakeImmutable :: (HasCallStack, MonadIO m) => FontT -> m ()

-- | Sets font-face of <i><tt>font</tt></i>.
--   
--   <i>Since: 1.4.3</i>
fontSetFace :: (HasCallStack, MonadIO m) => FontT -> FaceT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontSetFuncs :: (HasCallStack, MonadIO m) => FontT -> FontFuncsT -> Ptr () -> DestroyFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontSetFuncsData :: (HasCallStack, MonadIO m) => FontT -> Ptr () -> DestroyFuncT -> m ()

-- | Sets parent font of <i><tt>font</tt></i>.
--   
--   <i>Since: 1.0.5</i>
fontSetParent :: (HasCallStack, MonadIO m) => FontT -> FontT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontSetPpem :: (HasCallStack, MonadIO m) => FontT -> Word32 -> Word32 -> m ()

-- | Sets "point size" of the font. Set to 0 to unset.
--   
--   There are 72 points in an inch.
--   
--   <i>Since: 1.6.0</i>
fontSetPtem :: (HasCallStack, MonadIO m) => FontT -> Float -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontSetScale :: (HasCallStack, MonadIO m) => FontT -> Int32 -> Int32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
fontSetVarCoordsDesign :: (HasCallStack, MonadIO m) => FontT -> Float -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
fontSetVarCoordsNormalized :: (HasCallStack, MonadIO m) => FontT -> Int32 -> Word32 -> m ()

-- | Sets design coords of a font from a named instance index.
--   
--   <i>Since: 2.6.0</i>
fontSetVarNamedInstance :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
fontSetVariations :: (HasCallStack, MonadIO m) => FontT -> VariationT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
fontSubtractGlyphOriginForDirection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
ftFontChanged :: (HasCallStack, MonadIO m) => FontT -> m ()

-- | Fetches the FT_Load_Glyph load flags of the specified <a>FontT</a>.
--   
--   For more information, see
--   https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html<tt><i>ft_load_xxx</i></tt>
--   
--   <i>Since: 1.0.5</i>
ftFontGetLoadFlags :: (HasCallStack, MonadIO m) => FontT -> m Int32

-- | Configures the font-functions structure of the specified <a>FontT</a>
--   font object to use FreeType font functions.
--   
--   In particular, you can use this function to configure an existing
--   <a>FaceT</a> face object for use with FreeType font functions even if
--   that <a>FaceT</a> face object was initially created with
--   <a>faceCreate</a>, and therefore was not initially configured to use
--   FreeType font functions.
--   
--   An <a>FaceT</a> face object created with
--   <tt><i>hb_ft_face_create()</i></tt> is preconfigured for FreeType font
--   functions and does not require this function to be used.
--   
--   &lt;note&gt;Note: Internally, this function creates an FT_Face.
--   &lt;/note&gt;
--   
--   <i>Since: 1.0.5</i>
ftFontSetFuncs :: (HasCallStack, MonadIO m) => FontT -> m ()

-- | Sets the FT_Load_Glyph load flags for the specified <a>FontT</a>.
--   
--   For more information, see
--   https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html<tt><i>ft_load_xxx</i></tt>
--   
--   <i>Since: 1.0.5</i>
ftFontSetLoadFlags :: (HasCallStack, MonadIO m) => FontT -> Int32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.6.5</i>
ftFontUnlockFace :: (HasCallStack, MonadIO m) => FontT -> m ()

-- | Creates an <a>BlobT</a> blob from the specified GBytes data structure.
--   
--   <i>Since: 0.9.38</i>
glibBlobCreate :: (HasCallStack, MonadIO m) => Bytes -> m BlobT

-- | Fetches a Unicode-functions structure that is populated with the
--   appropriate GLib function for each method.
--   
--   <i>Since: 0.9.38</i>
glibGetUnicodeFuncs :: (HasCallStack, MonadIO m) => m UnicodeFuncsT

-- | Fetches the GUnicodeScript identifier that corresponds to the
--   specified <a>ScriptT</a> script.
--   
--   <i>Since: 0.9.38</i>
glibScriptFromScript :: (HasCallStack, MonadIO m) => ScriptT -> m UnicodeScript

-- | Fetches the <a>ScriptT</a> script that corresponds to the specified
--   GUnicodeScript identifier.
--   
--   <i>Since: 0.9.38</i>
glibScriptToScript :: (HasCallStack, MonadIO m) => UnicodeScript -> m ScriptT

-- | Returns glyph flags encoded within a <a>GlyphInfoT</a>.
--   
--   <i>Since: 1.5.0</i>
glyphInfoGetGlyphFlags :: (HasCallStack, MonadIO m) => GlyphInfoT -> m [GlyphFlagsT]

-- | Converts <i><tt>str</tt></i> representing a BCP 47 language tag to the
--   corresponding <a>LanguageT</a>.
--   
--   <i>Since: 0.9.2</i>
languageFromString :: (HasCallStack, MonadIO m) => ByteString -> m LanguageT

-- | Get default language from current locale.
--   
--   Note that the first time this function is called, it calls "setlocale
--   (LC_CTYPE, nullptr)" to fetch current locale. The underlying setlocale
--   function is, in many implementations, NOT threadsafe. To avoid
--   problems, call this function once before multiple threads can call it.
--   This function is only used from <a>bufferGuessSegmentProperties</a> by
--   HarfBuzz itself.
--   
--   <i>Since: 0.9.2</i>
languageGetDefault :: (HasCallStack, MonadIO m) => m LanguageT

-- | See <a>languageFromString</a>.
--   
--   <i>Since: 0.9.2</i>
languageToString :: (HasCallStack, MonadIO m) => LanguageT -> m Text

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapAllocationSuccessful :: (HasCallStack, MonadIO m) => MapT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapClear :: (HasCallStack, MonadIO m) => MapT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapCreate :: (HasCallStack, MonadIO m) => m MapT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapDel :: (HasCallStack, MonadIO m) => MapT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapGet :: (HasCallStack, MonadIO m) => MapT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapGetEmpty :: (HasCallStack, MonadIO m) => m MapT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapGetPopulation :: (HasCallStack, MonadIO m) => MapT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapHas :: (HasCallStack, MonadIO m) => MapT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapIsEmpty :: (HasCallStack, MonadIO m) => MapT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.7.7</i>
mapSet :: (HasCallStack, MonadIO m) => MapT -> Word32 -> Word32 -> m ()

-- | Fetches a list of all color layers for the specified glyph index in
--   the specified face. The list returned will begin at the offset
--   provided.
--   
--   <i>Since: 2.1.0</i>
otColorGlyphGetLayers :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Maybe [OtColorLayerT] -> m (Word32, Maybe [OtColorLayerT])

-- | Fetches the PNG image for a glyph. This function takes a font object,
--   not a face object, as input. To get an optimally sized PNG blob, the
--   UPEM value must be set on the <i><tt>font</tt></i> object. If UPEM is
--   unset, the blob returned will be the largest PNG available.
--   
--   <i>Since: 2.1.0</i>
otColorGlyphReferencePng :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m BlobT

-- | Fetches the SVG document for a glyph. The blob may be either plain
--   text or gzip-encoded.
--   
--   <i>Since: 2.1.0</i>
otColorGlyphReferenceSvg :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m BlobT

-- | Tests whether a face includes any <tt>COLR</tt> color layers.
--   
--   <i>Since: 2.1.0</i>
otColorHasLayers :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Tests whether a face includes a <tt>CPAL</tt> color-palette table.
--   
--   <i>Since: 2.1.0</i>
otColorHasPalettes :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Tests whether a face has PNG glyph images (either in <tt>CBDT</tt> or
--   <tt>sbix</tt> tables).
--   
--   <i>Since: 2.1.0</i>
otColorHasPng :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Tests whether a face includes any <tt>SVG</tt> glyph images.
--   
--   <i>Since: 2.1.0</i>
otColorHasSvg :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Fetches the <tt>name</tt> table Name ID that provides display names
--   for the specificed color in a face's <tt>CPAL</tt> color palette.
--   
--   Display names can be generic (e.g., "Background") or specific (e.g.,
--   "Eye color").
--   
--   <i>Since: 2.1.0</i>
otColorPaletteColorGetNameId :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Word32

-- | Fetches a list of the colors in a color palette.
--   
--   After calling this function, <i><tt>colors</tt></i> will be filled
--   with the palette colors. If <i><tt>colors</tt></i> is NULL, the
--   function will just return the number of total colors without storing
--   any actual colors; this can be used for allocating a buffer of
--   suitable size before calling <a>otColorPaletteGetColors</a> a second
--   time.
--   
--   <i>Since: 2.1.0</i>
otColorPaletteGetColors :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Word32, Maybe [Word32])

-- | Fetches the number of color palettes in a face.
--   
--   <i>Since: 2.1.0</i>
otColorPaletteGetCount :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | Fetches the flags defined for a color palette.
--   
--   <i>Since: 2.1.0</i>
otColorPaletteGetFlags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m [OtColorPaletteFlagsT]

-- | Fetches the <tt>name</tt> table Name ID that provides display names
--   for a <tt>CPAL</tt> color palette.
--   
--   Palette display names can be generic (e.g., "Default") or provide
--   specific, themed names (e.g., "Spring", "Summer", "Fall", and
--   "Winter").
--   
--   <i>Since: 2.1.0</i>
otColorPaletteGetNameId :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.28</i>
otFontSetFuncs :: (HasCallStack, MonadIO m) => FontT -> m ()

-- | Fetches a list of the characters defined as having a variant under the
--   specified "Character Variant" ("cvXX") feature tag.
--   
--   &lt;note&gt;Note: If the char_count output value is equal to its input
--   value, then there is a chance there were more characters defined under
--   the feature tag than were returned. This function can be called with
--   incrementally larger start_offset until the char_count output value is
--   lower than its input value, or the size of the characters array can be
--   increased.&lt;/note&gt;
--   
--   <i>Since: 2.0.0</i>
otLayoutFeatureGetCharacters :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> [Word32] -> m (Word32, [Word32])

-- | Fetches a list of all lookups enumerated for the specified feature, in
--   the specified face's GSUB table or GPOS table. The list returned will
--   begin at the offset provided.
--   
--   <i>Since: 0.9.7</i>
otLayoutFeatureGetLookups :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches name indices from feature parameters for "Stylistic Set"
--   ('ssXX') or "Character Variant" ('cvXX') features.
--   
--   <i>Since: 2.0.0</i>
otLayoutFeatureGetNameIds :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Int32, Word32, Word32, Word32, Word32, Word32)

-- | Fetches a list of all lookups enumerated for the specified feature, in
--   the specified face's GSUB table or GPOS table, enabled at the
--   specified variations index. The list returned will begin at the offset
--   provided.
otLayoutFeatureWithVariationsGetLookups :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches a list of all attachment points for the specified glyph in the
--   GDEF table of the face. The list returned will begin at the offset
--   provided.
--   
--   Useful if the client program wishes to cache the list.
otLayoutGetAttachPoints :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches a baseline value from the face.
--   
--   <i>Since: 2.6.0</i>
otLayoutGetBaseline :: (HasCallStack, MonadIO m) => FontT -> OtLayoutBaselineTagT -> DirectionT -> Word32 -> Word32 -> m (Int32, Int32)

-- | Fetches the GDEF class of the requested glyph in the specified face.
--   
--   <i>Since: 0.9.7</i>
otLayoutGetGlyphClass :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m OtLayoutGlyphClassT

-- | Fetches a list of the caret positions defined for a ligature glyph in
--   the GDEF table of the font. The list returned will begin at the offset
--   provided.
otLayoutGetLigatureCarets :: (HasCallStack, MonadIO m) => FontT -> DirectionT -> Word32 -> Word32 -> m (Word32, [Int32])

-- | Fetches optical-size feature data (i.e., the <tt>size</tt> feature
--   from GPOS). Note that the subfamily_id and the subfamily name string
--   (accessible via the subfamily_name_id) as used here are defined as
--   pertaining only to fonts within a font family that differ specifically
--   in their respective size ranges; other ways to differentiate fonts
--   within a subfamily are not covered by the <tt>size</tt> feature.
--   
--   For more information on this distinction, see the
--   &lt;<a>http://developer.gnome.org/harfbuzz/stable/</a>
--   <a>https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#tag-size</a>
--   <tt>size</tt> feature documentation&gt;.
--   
--   <i>Since: 0.9.10</i>
otLayoutGetSizeParams :: (HasCallStack, MonadIO m) => FaceT -> m (Int32, Word32, Word32, Word32, Word32, Word32)

-- | Tests whether a face has any glyph classes defined in its GDEF table.
otLayoutHasGlyphClasses :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | <i>No description available in the introspection data.</i>
otLayoutHasPositioning :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Tests whether the specified face includes any GSUB substitutions.
otLayoutHasSubstitution :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Fetches the index of a given feature tag in the specified face's GSUB
--   table or GPOS table, underneath the specified script and language.
otLayoutLanguageFindFeature :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m (Int32, Word32)

-- | Fetches a list of all features in the specified face's GSUB table or
--   GPOS table, underneath the specified script and language. The list
--   returned will begin at the offset provided.
otLayoutLanguageGetFeatureIndexes :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches a list of all features in the specified face's GSUB table or
--   GPOS table, underneath the specified script and language. The list
--   returned will begin at the offset provided.
otLayoutLanguageGetFeatureTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches the tag of a requested feature index in the given face's GSUB
--   or GPOS table, underneath the specified script and language.
--   
--   <i>Since: 0.9.30</i>
otLayoutLanguageGetRequiredFeature :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m (Int32, Word32, Word32)

-- | Fetches the index of a requested feature in the given face's GSUB or
--   GPOS table, underneath the specified script and language.
otLayoutLanguageGetRequiredFeatureIndex :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m (Int32, Word32)

-- | Tests whether a specified lookup in the specified face would trigger a
--   substitution on the given glyph sequence.
--   
--   <i>Since: 0.9.7</i>
otLayoutLookupWouldSubstitute :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Int32 -> m Int32

-- | Fetches the index of a given language tag in the specified face's GSUB
--   table or GPOS table, underneath the specified script tag.

-- | <i>Deprecated: ??</i>
otLayoutScriptFindLanguage :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m Int32

-- | Fetches a list of language tags in the given face's GSUB or GPOS
--   table, underneath the specified script index. The list returned will
--   begin at the offset provided.
otLayoutScriptGetLanguageTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches the index of a given language tag in the specified face's GSUB
--   table or GPOS table, underneath the specified script index.
--   
--   <i>Since: 2.0.0</i>
otLayoutScriptSelectLanguage :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> Word32 -> m (Int32, Word32)

-- | Deprecated since 2.0.0
otLayoutTableChooseScript :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Int32, Word32, Word32)

-- | Fetches a list of feature variations in the specified face's GSUB
--   table or GPOS table, at the specified variation coordinates.
otLayoutTableFindFeatureVariations :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Int32 -> Word32 -> m (Int32, Word32)

-- | Fetches the index if a given script tag in the specified face's GSUB
--   table or GPOS table.
otLayoutTableFindScript :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Int32, Word32)

-- | Fetches a list of all feature tags in the given face's GSUB or GPOS
--   table.
otLayoutTableGetFeatureTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Word32, [Word32])

-- | Fetches the total number of lookups enumerated in the specified face's
--   GSUB table or GPOS table.
--   
--   <i>Since: 0.9.22</i>
otLayoutTableGetLookupCount :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Word32

-- | Fetches a list of all scripts enumerated in the specified face's GSUB
--   table or GPOS table. The list returned will begin at the offset
--   provided.
otLayoutTableGetScriptTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> m (Word32, [Word32])

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.0.0</i>
otLayoutTableSelectScript :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Word32 -> m (Int32, Word32, Word32)

-- | Fetches the specified math constant. For most constants, the value
--   returned is an <tt><i>hb_position_t</i></tt>.
--   
--   However, if the requested constant is
--   <tt><i>HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</i></tt>,
--   <tt><i>HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN</i></tt>
--   or <tt><i>HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN</i></tt>, then
--   the return value is an integer between 0 and 100 representing that
--   percentage.
--   
--   <i>Since: 1.3.3</i>
otMathGetConstant :: (HasCallStack, MonadIO m) => FontT -> OtMathConstantT -> m Int32

-- | Fetches the GlyphAssembly for the specified font, glyph index, and
--   direction. Returned are a list of <a>OtMathGlyphPartT</a> glyph parts
--   that can be used to draw the glyph and an italics-correction value (if
--   one is defined in the font).
--   
--   &lt;note&gt;The <i><tt>direction</tt></i> parameter is only used to
--   select between horizontal or vertical directions for the construction.
--   Even though all <a>DirectionT</a> values are accepted, only the result
--   of <tt><i>HB_DIRECTION_IS_HORIZONTAL</i></tt> is
--   considered.&lt;/note&gt;
--   
--   <i>Since: 1.3.3</i>
otMathGetGlyphAssembly :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> Word32 -> [OtMathGlyphPartT] -> m (Word32, [OtMathGlyphPartT], Int32)

-- | Fetches an italics-correction value (if one exists) for the specified
--   glyph index.
--   
--   <i>Since: 1.3.3</i>
otMathGetGlyphItalicsCorrection :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m Int32

-- | Fetches the math kerning (cut-ins) value for the specified font, glyph
--   index, and <i><tt>kern</tt></i>.
--   
--   If the MathKern table is found, the function examines it to find a
--   height value that is greater or equal to
--   <i><tt>correctionHeight</tt></i>. If such a height value is found,
--   corresponding kerning value from the table is returned. If no such
--   height value is found, the last kerning value is returned.
--   
--   <i>Since: 1.3.3</i>
otMathGetGlyphKerning :: (HasCallStack, MonadIO m) => FontT -> Word32 -> OtMathKernT -> Int32 -> m Int32

-- | Fetches a top-accent-attachment value (if one exists) for the
--   specified glyph index.
--   
--   For any glyph that does not have a top-accent-attachment value - that
--   is, a glyph not covered by the <tt>MathTopAccentAttachment</tt> table
--   (or, when <i><tt>font</tt></i> has no <tt>MathTopAccentAttachment</tt>
--   table or no <tt>MATH</tt> table, any glyph) - the function synthesizes
--   a value, returning the position at one-half the glyph's advance width.
--   
--   <i>Since: 1.3.3</i>
otMathGetGlyphTopAccentAttachment :: (HasCallStack, MonadIO m) => FontT -> Word32 -> m Int32

-- | Fetches the MathGlyphConstruction for the specified font, glyph index,
--   and direction. The corresponding list of size variants is returned as
--   a list of <a>OtMathGlyphVariantT</a> structs.
--   
--   &lt;note&gt;The <i><tt>direction</tt></i> parameter is only used to
--   select between horizontal or vertical directions for the construction.
--   Even though all <a>DirectionT</a> values are accepted, only the result
--   of <tt><i>HB_DIRECTION_IS_HORIZONTAL</i></tt> is
--   considered.&lt;/note&gt;
--   
--   <i>Since: 1.3.3</i>
otMathGetGlyphVariants :: (HasCallStack, MonadIO m) => FontT -> Word32 -> DirectionT -> Word32 -> [OtMathGlyphVariantT] -> m (Word32, [OtMathGlyphVariantT])

-- | Fetches the MathVariants table for the specified font and returns the
--   minimum overlap of connecting glyphs that are required to draw a glyph
--   assembly in the specified direction.
--   
--   &lt;note&gt;The <i><tt>direction</tt></i> parameter is only used to
--   select between horizontal or vertical directions for the construction.
--   Even though all <a>DirectionT</a> values are accepted, only the result
--   of <tt><i>HB_DIRECTION_IS_HORIZONTAL</i></tt> is
--   considered.&lt;/note&gt;
--   
--   <i>Since: 1.3.3</i>
otMathGetMinConnectorOverlap :: (HasCallStack, MonadIO m) => FontT -> DirectionT -> m Int32

-- | Tests whether a face has a <tt>MATH</tt> table.
--   
--   <i>Since: 1.3.3</i>
otMathHasData :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | Tests whether the given glyph index is an extended shape in the face.
--   
--   <i>Since: 1.3.3</i>
otMathIsGlyphExtendedShape :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
otMetaGetEntryTags :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> OtMetaTagT -> m Word32

-- | It fetches metadata entry of a given tag from a font.
--   
--   <i>Since: 2.6.0</i>
otMetaReferenceEntry :: (HasCallStack, MonadIO m) => FaceT -> OtMetaTagT -> m BlobT

-- | It fetches metrics value corresponding to a given tag from a font.
--   
--   <i>Since: 2.6.0</i>
otMetricsGetPosition :: (HasCallStack, MonadIO m) => FontT -> OtMetricsTagT -> m (Int32, Int32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.6.0</i>
otMetricsGetVariation :: (HasCallStack, MonadIO m) => FontT -> OtMetricsTagT -> m Float

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.6.0</i>
otMetricsGetXVariation :: (HasCallStack, MonadIO m) => FontT -> OtMetricsTagT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.6.0</i>
otMetricsGetYVariation :: (HasCallStack, MonadIO m) => FontT -> OtMetricsTagT -> m Int32

-- | Fetches a font name from the OpenType 'name' table. If
--   <i><tt>language</tt></i> is <a>LANGUAGE_INVALID</a>, English ("en") is
--   assumed. Returns string in UTF-16 encoding.
--   
--   <i>Since: 2.1.0</i>
otNameGetUtf16 :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> LanguageT -> [Word16] -> m (Word32, [Word16])

-- | Fetches a font name from the OpenType 'name' table. If
--   <i><tt>language</tt></i> is <a>LANGUAGE_INVALID</a>, English ("en") is
--   assumed. Returns string in UTF-32 encoding.
--   
--   <i>Since: 2.1.0</i>
otNameGetUtf32 :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> LanguageT -> [Word32] -> m (Word32, [Word32])

-- | Fetches a font name from the OpenType 'name' table. If
--   <i><tt>language</tt></i> is <a>LANGUAGE_INVALID</a>, English ("en") is
--   assumed. Returns string in UTF-8 encoding.
--   
--   <i>Since: 2.1.0</i>
otNameGetUtf8 :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> LanguageT -> [Text] -> m (Word32, [Text])

-- | Enumerates all available name IDs and language combinations. Returned
--   array is owned by the <i><tt>face</tt></i> and should not be modified.
--   It can be used as long as <i><tt>face</tt></i> is alive.
--   
--   <i>Since: 2.1.0</i>
otNameListNames :: (HasCallStack, MonadIO m) => FaceT -> m [OtNameEntryT]

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
otShapeGlyphsClosure :: (HasCallStack, MonadIO m) => FontT -> BufferT -> FeatureT -> Word32 -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
otTagFromLanguage :: (HasCallStack, MonadIO m) => LanguageT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
otTagToLanguage :: (HasCallStack, MonadIO m) => Word32 -> m LanguageT

-- | <i>No description available in the introspection data.</i>
otTagToScript :: (HasCallStack, MonadIO m) => Word32 -> m ScriptT

-- | <i>No description available in the introspection data.</i>
otTagsFromScript :: (HasCallStack, MonadIO m) => ScriptT -> Word32 -> Word32 -> m ()

-- | Converts an <a>ScriptT</a> and an <a>LanguageT</a> to script and
--   language tags.
--   
--   <i>Since: 2.0.0</i>
otTagsFromScriptAndLanguage :: (HasCallStack, MonadIO m) => ScriptT -> LanguageT -> Word32 -> Word32 -> m (Word32, Word32)

-- | Converts a script tag and a language tag to an <a>ScriptT</a> and an
--   <a>LanguageT</a>.
--   
--   <i>Since: 2.0.0</i>
otTagsToScriptAndLanguage :: (HasCallStack, MonadIO m) => Word32 -> Word32 -> ScriptT -> Maybe LanguageT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>

-- | <i>Deprecated: (Since version 2.2.0)</i>
otVarFindAxis :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> OtVarAxisT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
otVarFindAxisInfo :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> OtVarAxisInfoT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>

-- | <i>Deprecated: (Since version 2.2.0)</i>
otVarGetAxes :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> OtVarAxisT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
otVarGetAxisCount :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 2.2.0</i>
otVarGetAxisInfos :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> OtVarAxisInfoT -> m Word32

-- | <i>No description available in the introspection data.</i>
otVarGetNamedInstanceCount :: (HasCallStack, MonadIO m) => FaceT -> m Word32

-- | This function allows to verify the presence of OpenType variation data
--   on the face.
--   
--   <i>Since: 1.4.2</i>
otVarHasData :: (HasCallStack, MonadIO m) => FaceT -> m Int32

-- | <i>No description available in the introspection data.</i>
otVarNamedInstanceGetDesignCoords :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Word32 -> Float -> m Word32

-- | <i>No description available in the introspection data.</i>
otVarNamedInstanceGetPostscriptNameId :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
otVarNamedInstanceGetSubfamilyNameId :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
otVarNormalizeCoords :: (HasCallStack, MonadIO m) => FaceT -> Word32 -> Float -> Int32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
otVarNormalizeVariations :: (HasCallStack, MonadIO m) => FaceT -> VariationT -> Word32 -> Int32 -> Word32 -> m ()

-- | Converts an ISO 15924 script tag to a corresponding <a>ScriptT</a>.
--   
--   <i>Since: 0.9.2</i>
scriptFromIso15924Tag :: (HasCallStack, MonadIO m) => Word32 -> m ScriptT

-- | Converts a string <i><tt>str</tt></i> representing an ISO 15924 script
--   tag to a corresponding <a>ScriptT</a>. Shorthand for
--   <a>tagFromString</a> then <a>scriptFromIso15924Tag</a>.
--   
--   <i>Since: 0.9.2</i>
scriptFromString :: (HasCallStack, MonadIO m) => ByteString -> m ScriptT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
scriptGetHorizontalDirection :: (HasCallStack, MonadIO m) => ScriptT -> m DirectionT

-- | See <a>scriptFromIso15924Tag</a>.
--   
--   <i>Since: 0.9.2</i>
scriptToIso15924Tag :: (HasCallStack, MonadIO m) => ScriptT -> m Word32

-- | Checks the equality of two <a>SegmentPropertiesT</a>'s.
--   
--   <i>Since: 0.9.7</i>
segmentPropertiesEqual :: (HasCallStack, MonadIO m) => SegmentPropertiesT -> SegmentPropertiesT -> m Int32

-- | Creates a hash representing <i><tt>p</tt></i>.
--   
--   <i>Since: 0.9.7</i>
segmentPropertiesHash :: (HasCallStack, MonadIO m) => SegmentPropertiesT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setAdd :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
setAddRange :: (HasCallStack, MonadIO m) => SetT -> Word32 -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setAllocationSuccessful :: (HasCallStack, MonadIO m) => SetT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setClear :: (HasCallStack, MonadIO m) => SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setCreate :: (HasCallStack, MonadIO m) => m SetT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setDel :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
setDelRange :: (HasCallStack, MonadIO m) => SetT -> Word32 -> Word32 -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setGetEmpty :: (HasCallStack, MonadIO m) => m SetT

-- | Finds the maximum number in the set.
--   
--   <i>Since: 0.9.7</i>
setGetMax :: (HasCallStack, MonadIO m) => SetT -> m Word32

-- | Finds the minimum number in the set.
--   
--   <i>Since: 0.9.7</i>
setGetMin :: (HasCallStack, MonadIO m) => SetT -> m Word32

-- | Returns the number of numbers in the set.
--   
--   <i>Since: 0.9.7</i>
setGetPopulation :: (HasCallStack, MonadIO m) => SetT -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setHas :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setIntersect :: (HasCallStack, MonadIO m) => SetT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.10</i>

-- | <i>Deprecated: (Since version 1.6.1)</i>
setInvert :: (HasCallStack, MonadIO m) => SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
setIsEmpty :: (HasCallStack, MonadIO m) => SetT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
setIsEqual :: (HasCallStack, MonadIO m) => SetT -> SetT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.8.1</i>
setIsSubset :: (HasCallStack, MonadIO m) => SetT -> SetT -> m Int32

-- | Gets the next number in <i><tt>set</tt></i> that is greater than
--   current value of <i><tt>codepoint</tt></i>.
--   
--   Set <i><tt>codepoint</tt></i> to <a>SET_VALUE_INVALID</a> to get
--   started.
--   
--   <i>Since: 0.9.2</i>
setNext :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m (Int32, Word32)

-- | Gets the next consecutive range of numbers in <i><tt>set</tt></i> that
--   are greater than current value of <i><tt>last</tt></i>.
--   
--   Set <i><tt>last</tt></i> to <a>SET_VALUE_INVALID</a> to get started.
--   
--   <i>Since: 0.9.7</i>
setNextRange :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m (Int32, Word32, Word32)

-- | Gets the previous number in <i><tt>set</tt></i> that is lower than
--   current value of <i><tt>codepoint</tt></i>.
--   
--   Set <i><tt>codepoint</tt></i> to <a>SET_VALUE_INVALID</a> to get
--   started.
--   
--   <i>Since: 1.8.0</i>
setPrevious :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m (Int32, Word32)

-- | Gets the previous consecutive range of numbers in <i><tt>set</tt></i>
--   that are less than current value of <i><tt>first</tt></i>.
--   
--   Set <i><tt>first</tt></i> to <a>SET_VALUE_INVALID</a> to get started.
--   
--   <i>Since: 1.8.0</i>
setPreviousRange :: (HasCallStack, MonadIO m) => SetT -> Word32 -> m (Int32, Word32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setSet :: (HasCallStack, MonadIO m) => SetT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setSubtract :: (HasCallStack, MonadIO m) => SetT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setSymmetricDifference :: (HasCallStack, MonadIO m) => SetT -> SetT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
setUnion :: (HasCallStack, MonadIO m) => SetT -> SetT -> m ()

-- | Shapes <i><tt>buffer</tt></i> using <i><tt>font</tt></i> turning its
--   Unicode characters content to positioned glyphs. If
--   <i><tt>features</tt></i> is not <a>Nothing</a>, it will be used to
--   control the features applied during shaping. If two
--   <i><tt>features</tt></i> have the same tag but overlapping ranges the
--   value of the feature with the higher index takes precedence.
--   
--   <i>Since: 0.9.2</i>
shape :: (HasCallStack, MonadIO m) => FontT -> BufferT -> Maybe [FeatureT] -> m ()

-- | See <a>shape</a> for details. If <i><tt>shaperList</tt></i> is not
--   <a>Nothing</a>, the specified shapers will be used in the given order,
--   otherwise the default shapers list will be used.
--   
--   <i>Since: 0.9.2</i>
shapeFull :: (HasCallStack, MonadIO m) => FontT -> BufferT -> Maybe [FeatureT] -> Maybe [Text] -> m Int32

-- | Retrieves the list of shapers supported by HarfBuzz.
--   
--   <i>Since: 0.9.2</i>
shapeListShapers :: (HasCallStack, MonadIO m) => m [Text]

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
shapePlanCreate :: (HasCallStack, MonadIO m) => FaceT -> SegmentPropertiesT -> [FeatureT] -> [Text] -> m ShapePlanT

-- | <i>No description available in the introspection data.</i>
shapePlanCreate2 :: (HasCallStack, MonadIO m) => FaceT -> SegmentPropertiesT -> FeatureT -> Word32 -> Int32 -> Word32 -> Text -> m ShapePlanT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
shapePlanCreateCached :: (HasCallStack, MonadIO m) => FaceT -> SegmentPropertiesT -> [FeatureT] -> [Text] -> m ShapePlanT

-- | <i>No description available in the introspection data.</i>
shapePlanCreateCached2 :: (HasCallStack, MonadIO m) => FaceT -> SegmentPropertiesT -> FeatureT -> Word32 -> Int32 -> Word32 -> Text -> m ShapePlanT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
shapePlanExecute :: (HasCallStack, MonadIO m) => ShapePlanT -> FontT -> BufferT -> [FeatureT] -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
shapePlanGetEmpty :: (HasCallStack, MonadIO m) => m ShapePlanT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.7</i>
shapePlanGetShaper :: (HasCallStack, MonadIO m) => ShapePlanT -> m Text

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
tagFromString :: (HasCallStack, MonadIO m) => ByteString -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeCombiningClass :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m UnicodeCombiningClassT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeCompose :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> Word32 -> m (Int32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeDecompose :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m (Int32, Word32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
unicodeDecomposeCompatibility :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m (Word32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
unicodeEastasianWidth :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsCreate :: (HasCallStack, MonadIO m) => Maybe UnicodeFuncsT -> m UnicodeFuncsT

-- | <i>No description available in the introspection data.</i>
unicodeFuncsGetDefault :: (HasCallStack, MonadIO m) => m UnicodeFuncsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsGetEmpty :: (HasCallStack, MonadIO m) => m UnicodeFuncsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsGetParent :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> m UnicodeFuncsT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsIsImmutable :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsMakeImmutable :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetCombiningClassFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeCombiningClassFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetComposeFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeComposeFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
unicodeFuncsSetDecomposeCompatibilityFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeDecomposeCompatibilityFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetDecomposeFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeDecomposeFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>

-- | <i>Deprecated: (Since version 2.0.0)</i>
unicodeFuncsSetEastasianWidthFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeEastasianWidthFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetGeneralCategoryFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeGeneralCategoryFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetMirroringFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeMirroringFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeFuncsSetScriptFunc :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> UnicodeScriptFuncT -> m ()

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeGeneralCategory :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m UnicodeGeneralCategoryT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeMirroring :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m Word32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.2</i>
unicodeScript :: (HasCallStack, MonadIO m) => UnicodeFuncsT -> Word32 -> m ScriptT

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
variationFromString :: (HasCallStack, MonadIO m) => Text -> Int32 -> VariationT -> m Int32

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
variationToString :: (HasCallStack, MonadIO m) => VariationT -> Text -> Word32 -> m ()

-- | Returns library version as three integer components.
--   
--   <i>Since: 0.9.2</i>
version :: (HasCallStack, MonadIO m) => m (Word32, Word32, Word32)

-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 0.9.30</i>
versionAtleast :: (HasCallStack, MonadIO m) => Word32 -> Word32 -> Word32 -> m Int32

-- | Returns library version as a string with three components.
--   
--   <i>Since: 0.9.2</i>
versionString :: (HasCallStack, MonadIO m) => m Text


-- | <i>No description available in the introspection data.</i>
--   
--   <i>Since: 1.4.2</i>
module GI.HarfBuzz.Structs.VariationT

-- | Memory-managed wrapper type.
newtype VariationT
VariationT :: ManagedPtr VariationT -> VariationT

-- | Construct a <a>VariationT</a> struct initialized to zero.
newZeroVariationT :: MonadIO m => m VariationT

-- | Get the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> variationT #tag
--   </pre>
getVariationTTag :: MonadIO m => VariationT -> m Word32

-- | Set the value of the “<tt>tag</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> variationT [ #tag <a>:=</a> value ]
--   </pre>
setVariationTTag :: MonadIO m => VariationT -> Word32 -> m ()

-- | Get the value of the “<tt>value</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> variationT #value
--   </pre>
getVariationTValue :: MonadIO m => VariationT -> m Float

-- | Set the value of the “<tt>value</tt>” field. When <a>overloading</a>
--   is enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> variationT [ #value <a>:=</a> value ]
--   </pre>
setVariationTValue :: MonadIO m => VariationT -> Float -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Structs.VariationT.VariationT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Structs.VariationT.VariationT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Structs.VariationT.VariationT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Structs.VariationT.VariationT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Structs.VariationT.VariationT tag


module GI.HarfBuzz.Structs


-- | <i>No description available in the introspection data.</i>
module GI.HarfBuzz.Unions.VarIntT

-- | Memory-managed wrapper type.
newtype VarIntT
VarIntT :: ManagedPtr VarIntT -> VarIntT

-- | Construct a <a>VarIntT</a> struct initialized to zero.
newZeroVarIntT :: MonadIO m => m VarIntT

-- | Get the value of the “<tt>i32</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> varIntT #i32
--   </pre>
getVarIntTI32 :: MonadIO m => VarIntT -> m Int32

-- | Set the value of the “<tt>i32</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> varIntT [ #i32 <a>:=</a> value ]
--   </pre>
setVarIntTI32 :: MonadIO m => VarIntT -> Int32 -> m ()

-- | Get the value of the “<tt>u32</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>get</a> varIntT #u32
--   </pre>
getVarIntTU32 :: MonadIO m => VarIntT -> m Word32

-- | Set the value of the “<tt>u32</tt>” field. When <a>overloading</a> is
--   enabled, this is equivalent to
--   
--   <pre>
--   <a>set</a> varIntT [ #u32 <a>:=</a> value ]
--   </pre>
setVarIntTU32 :: MonadIO m => VarIntT -> Word32 -> m ()
instance GHC.Classes.Eq GI.HarfBuzz.Unions.VarIntT.VarIntT
instance Data.GI.Base.BasicTypes.ManagedPtrNewtype GI.HarfBuzz.Unions.VarIntT.VarIntT
instance Data.GI.Base.BasicTypes.BoxedPtr GI.HarfBuzz.Unions.VarIntT.VarIntT
instance Data.GI.Base.BasicTypes.CallocPtr GI.HarfBuzz.Unions.VarIntT.VarIntT
instance (tag GHC.Types.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.HarfBuzz.Unions.VarIntT.VarIntT tag


module GI.HarfBuzz.Unions


module GI.HarfBuzz
