    -- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
    -- License    : LGPL-2.1
    -- Maintainer : Iñaki García Etxebarria

    #if !defined(__HADDOCK_VERSION__)
    #define ENABLE_OVERLOADING
    #endif

    module GI.HarfBuzz.Enums
        (

     -- * Enumerations
    -- ** AatLayoutFeatureSelectorT #enum:AatLayoutFeatureSelectorT#

        AatLayoutFeatureSelectorT(..)           ,

    -- ** AatLayoutFeatureTypeT #enum:AatLayoutFeatureTypeT#

        AatLayoutFeatureTypeT(..)               ,

    -- ** BufferClusterLevelT #enum:BufferClusterLevelT#

        BufferClusterLevelT(..)                 ,

    -- ** BufferContentTypeT #enum:BufferContentTypeT#

        BufferContentTypeT(..)                  ,

    -- ** BufferSerializeFormatT #enum:BufferSerializeFormatT#

        BufferSerializeFormatT(..)              ,

    -- ** DirectionT #enum:DirectionT#

        DirectionT(..)                          ,

    -- ** MemoryModeT #enum:MemoryModeT#

        MemoryModeT(..)                         ,

    -- ** OtLayoutBaselineTagT #enum:OtLayoutBaselineTagT#

        OtLayoutBaselineTagT(..)                ,

    -- ** OtLayoutGlyphClassT #enum:OtLayoutGlyphClassT#

        OtLayoutGlyphClassT(..)                 ,

    -- ** OtMathConstantT #enum:OtMathConstantT#

        OtMathConstantT(..)                     ,

    -- ** OtMathKernT #enum:OtMathKernT#

        OtMathKernT(..)                         ,

    -- ** OtMetaTagT #enum:OtMetaTagT#

        OtMetaTagT(..)                          ,

    -- ** OtMetricsTagT #enum:OtMetricsTagT#

        OtMetricsTagT(..)                       ,

    -- ** ScriptT #enum:ScriptT#

        ScriptT(..)                             ,

    -- ** UnicodeCombiningClassT #enum:UnicodeCombiningClassT#

        UnicodeCombiningClassT(..)              ,

    -- ** UnicodeGeneralCategoryT #enum:UnicodeGeneralCategoryT#

        UnicodeGeneralCategoryT(..)             ,

        ) where

    import Data.GI.Base.ShortPrelude
    import qualified Data.GI.Base.ShortPrelude as SP
    import qualified Data.GI.Base.Overloading as O
    import qualified Prelude as P

    import qualified Data.GI.Base.Attributes as GI.Attributes
    import qualified Data.GI.Base.BasicTypes as B.Types
    import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
    import qualified Data.GI.Base.GArray as B.GArray
    import qualified Data.GI.Base.GClosure as B.GClosure
    import qualified Data.GI.Base.GError as B.GError
    import qualified Data.GI.Base.GVariant as B.GVariant
    import qualified Data.GI.Base.GValue as B.GValue
    import qualified Data.GI.Base.GParamSpec as B.GParamSpec
    import qualified Data.GI.Base.CallStack as B.CallStack
    import qualified Data.GI.Base.Properties as B.Properties
    import qualified Data.GI.Base.Signals as B.Signals
    import qualified Control.Monad.IO.Class as MIO
    import qualified Data.Text as T
    import qualified Data.ByteString.Char8 as B
    import qualified Data.Map as Map
    import qualified Foreign.Ptr as FP
    import qualified GHC.OverloadedLabels as OL

    -- Enum unicode_general_category_t
    -- | /No description available in the introspection data./
    data UnicodeGeneralCategoryT =
          UnicodeGeneralCategoryTControl
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTFormat
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTUnassigned
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTPrivateUse
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTSurrogate
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTLowercaseLetter
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTModifierLetter
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTOtherLetter
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTTitlecaseLetter
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTUppercaseLetter
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTSpacingMark
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTEnclosingMark
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTNonSpacingMark
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTDecimalNumber
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTLetterNumber
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTOtherNumber
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTConnectPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTDashPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTClosePunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTFinalPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTInitialPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTOtherPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTOpenPunctuation
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTCurrencySymbol
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTModifierSymbol
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTMathSymbol
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTOtherSymbol
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTLineSeparator
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTParagraphSeparator
        -- ^ /No description available in the introspection data./
        | UnicodeGeneralCategoryTSpaceSeparator
        -- ^ /No description available in the introspection data./
        | AnotherUnicodeGeneralCategoryT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> UnicodeGeneralCategoryT -> ShowS
    [UnicodeGeneralCategoryT] -> ShowS
    UnicodeGeneralCategoryT -> String
    (Int -> UnicodeGeneralCategoryT -> ShowS)
    -> (UnicodeGeneralCategoryT -> String)
    -> ([UnicodeGeneralCategoryT] -> ShowS)
    -> Show UnicodeGeneralCategoryT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [UnicodeGeneralCategoryT] -> ShowS
    $cshowList :: [UnicodeGeneralCategoryT] -> ShowS
    show :: UnicodeGeneralCategoryT -> String
    $cshow :: UnicodeGeneralCategoryT -> String
    showsPrec :: Int -> UnicodeGeneralCategoryT -> ShowS
    $cshowsPrec :: Int -> UnicodeGeneralCategoryT -> ShowS
    Show, UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool
    (UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool)
    -> (UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool)
    -> Eq UnicodeGeneralCategoryT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool
    $c/= :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool
    == :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool
    $c== :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Bool
    Eq)

    instance P.Enum UnicodeGeneralCategoryT where
        fromEnum :: UnicodeGeneralCategoryT -> Int
    fromEnum UnicodeGeneralCategoryTControl = 0
        fromEnum UnicodeGeneralCategoryTFormat = 1
        fromEnum UnicodeGeneralCategoryTUnassigned = 2
        fromEnum UnicodeGeneralCategoryTPrivateUse = 3
        fromEnum UnicodeGeneralCategoryTSurrogate = 4
        fromEnum UnicodeGeneralCategoryTLowercaseLetter = 5
        fromEnum UnicodeGeneralCategoryTModifierLetter = 6
        fromEnum UnicodeGeneralCategoryTOtherLetter = 7
        fromEnum UnicodeGeneralCategoryTTitlecaseLetter = 8
        fromEnum UnicodeGeneralCategoryTUppercaseLetter = 9
        fromEnum UnicodeGeneralCategoryTSpacingMark = 10
        fromEnum UnicodeGeneralCategoryTEnclosingMark = 11
        fromEnum UnicodeGeneralCategoryTNonSpacingMark = 12
        fromEnum UnicodeGeneralCategoryTDecimalNumber = 13
        fromEnum UnicodeGeneralCategoryTLetterNumber = 14
        fromEnum UnicodeGeneralCategoryTOtherNumber = 15
        fromEnum UnicodeGeneralCategoryTConnectPunctuation = 16
        fromEnum UnicodeGeneralCategoryTDashPunctuation = 17
        fromEnum UnicodeGeneralCategoryTClosePunctuation = 18
        fromEnum UnicodeGeneralCategoryTFinalPunctuation = 19
        fromEnum UnicodeGeneralCategoryTInitialPunctuation = 20
        fromEnum UnicodeGeneralCategoryTOtherPunctuation = 21
        fromEnum UnicodeGeneralCategoryTOpenPunctuation = 22
        fromEnum UnicodeGeneralCategoryTCurrencySymbol = 23
        fromEnum UnicodeGeneralCategoryTModifierSymbol = 24
        fromEnum UnicodeGeneralCategoryTMathSymbol = 25
        fromEnum UnicodeGeneralCategoryTOtherSymbol = 26
        fromEnum UnicodeGeneralCategoryTLineSeparator = 27
        fromEnum UnicodeGeneralCategoryTParagraphSeparator = 28
        fromEnum UnicodeGeneralCategoryTSpaceSeparator = 29
        fromEnum (AnotherUnicodeGeneralCategoryT k :: Int
    k) = Int
    k

        toEnum :: Int -> UnicodeGeneralCategoryT
    toEnum 0 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTControl
        toEnum 1 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTFormat
        toEnum 2 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTUnassigned
        toEnum 3 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTPrivateUse
        toEnum 4 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTSurrogate
        toEnum 5 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTLowercaseLetter
        toEnum 6 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTModifierLetter
        toEnum 7 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTOtherLetter
        toEnum 8 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTTitlecaseLetter
        toEnum 9 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTUppercaseLetter
        toEnum 10 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTSpacingMark
        toEnum 11 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTEnclosingMark
        toEnum 12 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTNonSpacingMark
        toEnum 13 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTDecimalNumber
        toEnum 14 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTLetterNumber
        toEnum 15 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTOtherNumber
        toEnum 16 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTConnectPunctuation
        toEnum 17 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTDashPunctuation
        toEnum 18 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTClosePunctuation
        toEnum 19 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTFinalPunctuation
        toEnum 20 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTInitialPunctuation
        toEnum 21 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTOtherPunctuation
        toEnum 22 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTOpenPunctuation
        toEnum 23 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTCurrencySymbol
        toEnum 24 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTModifierSymbol
        toEnum 25 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTMathSymbol
        toEnum 26 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTOtherSymbol
        toEnum 27 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTLineSeparator
        toEnum 28 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTParagraphSeparator
        toEnum 29 = UnicodeGeneralCategoryT
    UnicodeGeneralCategoryTSpaceSeparator
        toEnum k :: Int
    k = Int -> UnicodeGeneralCategoryT
    AnotherUnicodeGeneralCategoryT Int
    k

    instance P.Ord UnicodeGeneralCategoryT where
        compare :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Ordering
    compare a :: UnicodeGeneralCategoryT
    a b :: UnicodeGeneralCategoryT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (UnicodeGeneralCategoryT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum UnicodeGeneralCategoryT
    a) (UnicodeGeneralCategoryT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum UnicodeGeneralCategoryT
    b)

    type instance O.ParentTypes UnicodeGeneralCategoryT = '[]
    instance O.HasParentTypes UnicodeGeneralCategoryT

    foreign import ccall "hb_gobject_unicode_general_category_get_type" c_hb_gobject_unicode_general_category_get_type ::
        IO GType

    instance B.Types.TypedObject UnicodeGeneralCategoryT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_unicode_general_category_get_type

    instance B.Types.BoxedEnum UnicodeGeneralCategoryT

    -- Enum unicode_combining_class_t
    -- | /No description available in the introspection data./
    data UnicodeCombiningClassT =
          UnicodeCombiningClassTNotReordered
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTOverlay
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTNukta
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTKanaVoicing
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTVirama
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc10
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc11
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc12
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc13
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc14
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc15
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc16
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc17
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc18
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc19
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc20
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc21
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc22
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc23
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc24
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc25
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc26
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc27
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc28
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc29
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc30
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc31
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc32
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc33
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc34
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc35
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc36
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc84
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc91
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc103
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc107
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc118
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc122
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc129
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc130
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTCcc133
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAttachedBelowLeft
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAttachedBelow
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAttachedAbove
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAttachedAboveRight
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTBelowLeft
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTBelow
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTBelowRight
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTLeft
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTRight
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAboveLeft
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAbove
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTAboveRight
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTDoubleBelow
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTDoubleAbove
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTIotaSubscript
        -- ^ /No description available in the introspection data./
        | UnicodeCombiningClassTInvalid
        -- ^ /No description available in the introspection data./
        | AnotherUnicodeCombiningClassT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> UnicodeCombiningClassT -> ShowS
    [UnicodeCombiningClassT] -> ShowS
    UnicodeCombiningClassT -> String
    (Int -> UnicodeCombiningClassT -> ShowS)
    -> (UnicodeCombiningClassT -> String)
    -> ([UnicodeCombiningClassT] -> ShowS)
    -> Show UnicodeCombiningClassT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [UnicodeCombiningClassT] -> ShowS
    $cshowList :: [UnicodeCombiningClassT] -> ShowS
    show :: UnicodeCombiningClassT -> String
    $cshow :: UnicodeCombiningClassT -> String
    showsPrec :: Int -> UnicodeCombiningClassT -> ShowS
    $cshowsPrec :: Int -> UnicodeCombiningClassT -> ShowS
    Show, UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool
    (UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool)
    -> (UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool)
    -> Eq UnicodeCombiningClassT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool
    $c/= :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool
    == :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool
    $c== :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Bool
    Eq)

    instance P.Enum UnicodeCombiningClassT where
        fromEnum :: UnicodeCombiningClassT -> Int
    fromEnum UnicodeCombiningClassTNotReordered = 0
        fromEnum UnicodeCombiningClassTOverlay = 1
        fromEnum UnicodeCombiningClassTNukta = 7
        fromEnum UnicodeCombiningClassTKanaVoicing = 8
        fromEnum UnicodeCombiningClassTVirama = 9
        fromEnum UnicodeCombiningClassTCcc10 = 10
        fromEnum UnicodeCombiningClassTCcc11 = 11
        fromEnum UnicodeCombiningClassTCcc12 = 12
        fromEnum UnicodeCombiningClassTCcc13 = 13
        fromEnum UnicodeCombiningClassTCcc14 = 14
        fromEnum UnicodeCombiningClassTCcc15 = 15
        fromEnum UnicodeCombiningClassTCcc16 = 16
        fromEnum UnicodeCombiningClassTCcc17 = 17
        fromEnum UnicodeCombiningClassTCcc18 = 18
        fromEnum UnicodeCombiningClassTCcc19 = 19
        fromEnum UnicodeCombiningClassTCcc20 = 20
        fromEnum UnicodeCombiningClassTCcc21 = 21
        fromEnum UnicodeCombiningClassTCcc22 = 22
        fromEnum UnicodeCombiningClassTCcc23 = 23
        fromEnum UnicodeCombiningClassTCcc24 = 24
        fromEnum UnicodeCombiningClassTCcc25 = 25
        fromEnum UnicodeCombiningClassTCcc26 = 26
        fromEnum UnicodeCombiningClassTCcc27 = 27
        fromEnum UnicodeCombiningClassTCcc28 = 28
        fromEnum UnicodeCombiningClassTCcc29 = 29
        fromEnum UnicodeCombiningClassTCcc30 = 30
        fromEnum UnicodeCombiningClassTCcc31 = 31
        fromEnum UnicodeCombiningClassTCcc32 = 32
        fromEnum UnicodeCombiningClassTCcc33 = 33
        fromEnum UnicodeCombiningClassTCcc34 = 34
        fromEnum UnicodeCombiningClassTCcc35 = 35
        fromEnum UnicodeCombiningClassTCcc36 = 36
        fromEnum UnicodeCombiningClassTCcc84 = 84
        fromEnum UnicodeCombiningClassTCcc91 = 91
        fromEnum UnicodeCombiningClassTCcc103 = 103
        fromEnum UnicodeCombiningClassTCcc107 = 107
        fromEnum UnicodeCombiningClassTCcc118 = 118
        fromEnum UnicodeCombiningClassTCcc122 = 122
        fromEnum UnicodeCombiningClassTCcc129 = 129
        fromEnum UnicodeCombiningClassTCcc130 = 130
        fromEnum UnicodeCombiningClassTCcc133 = 132
        fromEnum UnicodeCombiningClassTAttachedBelowLeft = 200
        fromEnum UnicodeCombiningClassTAttachedBelow = 202
        fromEnum UnicodeCombiningClassTAttachedAbove = 214
        fromEnum UnicodeCombiningClassTAttachedAboveRight = 216
        fromEnum UnicodeCombiningClassTBelowLeft = 218
        fromEnum UnicodeCombiningClassTBelow = 220
        fromEnum UnicodeCombiningClassTBelowRight = 222
        fromEnum UnicodeCombiningClassTLeft = 224
        fromEnum UnicodeCombiningClassTRight = 226
        fromEnum UnicodeCombiningClassTAboveLeft = 228
        fromEnum UnicodeCombiningClassTAbove = 230
        fromEnum UnicodeCombiningClassTAboveRight = 232
        fromEnum UnicodeCombiningClassTDoubleBelow = 233
        fromEnum UnicodeCombiningClassTDoubleAbove = 234
        fromEnum UnicodeCombiningClassTIotaSubscript = 240
        fromEnum UnicodeCombiningClassTInvalid = 255
        fromEnum (AnotherUnicodeCombiningClassT k :: Int
    k) = Int
    k

        toEnum :: Int -> UnicodeCombiningClassT
    toEnum 0 = UnicodeCombiningClassT
    UnicodeCombiningClassTNotReordered
        toEnum 1 = UnicodeCombiningClassT
    UnicodeCombiningClassTOverlay
        toEnum 7 = UnicodeCombiningClassT
    UnicodeCombiningClassTNukta
        toEnum 8 = UnicodeCombiningClassT
    UnicodeCombiningClassTKanaVoicing
        toEnum 9 = UnicodeCombiningClassT
    UnicodeCombiningClassTVirama
        toEnum 10 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc10
        toEnum 11 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc11
        toEnum 12 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc12
        toEnum 13 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc13
        toEnum 14 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc14
        toEnum 15 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc15
        toEnum 16 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc16
        toEnum 17 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc17
        toEnum 18 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc18
        toEnum 19 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc19
        toEnum 20 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc20
        toEnum 21 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc21
        toEnum 22 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc22
        toEnum 23 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc23
        toEnum 24 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc24
        toEnum 25 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc25
        toEnum 26 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc26
        toEnum 27 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc27
        toEnum 28 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc28
        toEnum 29 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc29
        toEnum 30 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc30
        toEnum 31 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc31
        toEnum 32 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc32
        toEnum 33 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc33
        toEnum 34 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc34
        toEnum 35 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc35
        toEnum 36 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc36
        toEnum 84 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc84
        toEnum 91 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc91
        toEnum 103 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc103
        toEnum 107 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc107
        toEnum 118 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc118
        toEnum 122 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc122
        toEnum 129 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc129
        toEnum 130 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc130
        toEnum 132 = UnicodeCombiningClassT
    UnicodeCombiningClassTCcc133
        toEnum 200 = UnicodeCombiningClassT
    UnicodeCombiningClassTAttachedBelowLeft
        toEnum 202 = UnicodeCombiningClassT
    UnicodeCombiningClassTAttachedBelow
        toEnum 214 = UnicodeCombiningClassT
    UnicodeCombiningClassTAttachedAbove
        toEnum 216 = UnicodeCombiningClassT
    UnicodeCombiningClassTAttachedAboveRight
        toEnum 218 = UnicodeCombiningClassT
    UnicodeCombiningClassTBelowLeft
        toEnum 220 = UnicodeCombiningClassT
    UnicodeCombiningClassTBelow
        toEnum 222 = UnicodeCombiningClassT
    UnicodeCombiningClassTBelowRight
        toEnum 224 = UnicodeCombiningClassT
    UnicodeCombiningClassTLeft
        toEnum 226 = UnicodeCombiningClassT
    UnicodeCombiningClassTRight
        toEnum 228 = UnicodeCombiningClassT
    UnicodeCombiningClassTAboveLeft
        toEnum 230 = UnicodeCombiningClassT
    UnicodeCombiningClassTAbove
        toEnum 232 = UnicodeCombiningClassT
    UnicodeCombiningClassTAboveRight
        toEnum 233 = UnicodeCombiningClassT
    UnicodeCombiningClassTDoubleBelow
        toEnum 234 = UnicodeCombiningClassT
    UnicodeCombiningClassTDoubleAbove
        toEnum 240 = UnicodeCombiningClassT
    UnicodeCombiningClassTIotaSubscript
        toEnum 255 = UnicodeCombiningClassT
    UnicodeCombiningClassTInvalid
        toEnum k :: Int
    k = Int -> UnicodeCombiningClassT
    AnotherUnicodeCombiningClassT Int
    k

    instance P.Ord UnicodeCombiningClassT where
        compare :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Ordering
    compare a :: UnicodeCombiningClassT
    a b :: UnicodeCombiningClassT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (UnicodeCombiningClassT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum UnicodeCombiningClassT
    a) (UnicodeCombiningClassT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum UnicodeCombiningClassT
    b)

    type instance O.ParentTypes UnicodeCombiningClassT = '[]
    instance O.HasParentTypes UnicodeCombiningClassT

    foreign import ccall "hb_gobject_unicode_combining_class_get_type" c_hb_gobject_unicode_combining_class_get_type ::
        IO GType

    instance B.Types.TypedObject UnicodeCombiningClassT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_unicode_combining_class_get_type

    instance B.Types.BoxedEnum UnicodeCombiningClassT

    -- Enum script_t
    -- | /No description available in the introspection data./
    data ScriptT =
          ScriptTCommon
        -- ^ /No description available in the introspection data./
        | ScriptTInherited
        -- ^ /No description available in the introspection data./
        | ScriptTUnknown
        -- ^ /No description available in the introspection data./
        | ScriptTArabic
        -- ^ /No description available in the introspection data./
        | ScriptTArmenian
        -- ^ /No description available in the introspection data./
        | ScriptTBengali
        -- ^ /No description available in the introspection data./
        | ScriptTCyrillic
        -- ^ /No description available in the introspection data./
        | ScriptTDevanagari
        -- ^ /No description available in the introspection data./
        | ScriptTGeorgian
        -- ^ /No description available in the introspection data./
        | ScriptTGreek
        -- ^ /No description available in the introspection data./
        | ScriptTGujarati
        -- ^ /No description available in the introspection data./
        | ScriptTGurmukhi
        -- ^ /No description available in the introspection data./
        | ScriptTHangul
        -- ^ /No description available in the introspection data./
        | ScriptTHan
        -- ^ /No description available in the introspection data./
        | ScriptTHebrew
        -- ^ /No description available in the introspection data./
        | ScriptTHiragana
        -- ^ /No description available in the introspection data./
        | ScriptTKannada
        -- ^ /No description available in the introspection data./
        | ScriptTKatakana
        -- ^ /No description available in the introspection data./
        | ScriptTLao
        -- ^ /No description available in the introspection data./
        | ScriptTLatin
        -- ^ /No description available in the introspection data./
        | ScriptTMalayalam
        -- ^ /No description available in the introspection data./
        | ScriptTOriya
        -- ^ /No description available in the introspection data./
        | ScriptTTamil
        -- ^ /No description available in the introspection data./
        | ScriptTTelugu
        -- ^ /No description available in the introspection data./
        | ScriptTThai
        -- ^ /No description available in the introspection data./
        | ScriptTTibetan
        -- ^ /No description available in the introspection data./
        | ScriptTBopomofo
        -- ^ /No description available in the introspection data./
        | ScriptTBraille
        -- ^ /No description available in the introspection data./
        | ScriptTCanadianSyllabics
        -- ^ /No description available in the introspection data./
        | ScriptTCherokee
        -- ^ /No description available in the introspection data./
        | ScriptTEthiopic
        -- ^ /No description available in the introspection data./
        | ScriptTKhmer
        -- ^ /No description available in the introspection data./
        | ScriptTMongolian
        -- ^ /No description available in the introspection data./
        | ScriptTMyanmar
        -- ^ /No description available in the introspection data./
        | ScriptTOgham
        -- ^ /No description available in the introspection data./
        | ScriptTRunic
        -- ^ /No description available in the introspection data./
        | ScriptTSinhala
        -- ^ /No description available in the introspection data./
        | ScriptTSyriac
        -- ^ /No description available in the introspection data./
        | ScriptTThaana
        -- ^ /No description available in the introspection data./
        | ScriptTYi
        -- ^ /No description available in the introspection data./
        | ScriptTDeseret
        -- ^ /No description available in the introspection data./
        | ScriptTGothic
        -- ^ /No description available in the introspection data./
        | ScriptTOldItalic
        -- ^ /No description available in the introspection data./
        | ScriptTBuhid
        -- ^ /No description available in the introspection data./
        | ScriptTHanunoo
        -- ^ /No description available in the introspection data./
        | ScriptTTagalog
        -- ^ /No description available in the introspection data./
        | ScriptTTagbanwa
        -- ^ /No description available in the introspection data./
        | ScriptTCypriot
        -- ^ /No description available in the introspection data./
        | ScriptTLimbu
        -- ^ /No description available in the introspection data./
        | ScriptTLinearB
        -- ^ /No description available in the introspection data./
        | ScriptTOsmanya
        -- ^ /No description available in the introspection data./
        | ScriptTShavian
        -- ^ /No description available in the introspection data./
        | ScriptTTaiLe
        -- ^ /No description available in the introspection data./
        | ScriptTUgaritic
        -- ^ /No description available in the introspection data./
        | ScriptTBuginese
        -- ^ /No description available in the introspection data./
        | ScriptTCoptic
        -- ^ /No description available in the introspection data./
        | ScriptTGlagolitic
        -- ^ /No description available in the introspection data./
        | ScriptTKharoshthi
        -- ^ /No description available in the introspection data./
        | ScriptTNewTaiLue
        -- ^ /No description available in the introspection data./
        | ScriptTOldPersian
        -- ^ /No description available in the introspection data./
        | ScriptTSylotiNagri
        -- ^ /No description available in the introspection data./
        | ScriptTTifinagh
        -- ^ /No description available in the introspection data./
        | ScriptTBalinese
        -- ^ /No description available in the introspection data./
        | ScriptTCuneiform
        -- ^ /No description available in the introspection data./
        | ScriptTNko
        -- ^ /No description available in the introspection data./
        | ScriptTPhagsPa
        -- ^ /No description available in the introspection data./
        | ScriptTPhoenician
        -- ^ /No description available in the introspection data./
        | ScriptTCarian
        -- ^ /No description available in the introspection data./
        | ScriptTCham
        -- ^ /No description available in the introspection data./
        | ScriptTKayahLi
        -- ^ /No description available in the introspection data./
        | ScriptTLepcha
        -- ^ /No description available in the introspection data./
        | ScriptTLycian
        -- ^ /No description available in the introspection data./
        | ScriptTLydian
        -- ^ /No description available in the introspection data./
        | ScriptTOlChiki
        -- ^ /No description available in the introspection data./
        | ScriptTRejang
        -- ^ /No description available in the introspection data./
        | ScriptTSaurashtra
        -- ^ /No description available in the introspection data./
        | ScriptTSundanese
        -- ^ /No description available in the introspection data./
        | ScriptTVai
        -- ^ /No description available in the introspection data./
        | ScriptTAvestan
        -- ^ /No description available in the introspection data./
        | ScriptTBamum
        -- ^ /No description available in the introspection data./
        | ScriptTEgyptianHieroglyphs
        -- ^ /No description available in the introspection data./
        | ScriptTImperialAramaic
        -- ^ /No description available in the introspection data./
        | ScriptTInscriptionalPahlavi
        -- ^ /No description available in the introspection data./
        | ScriptTInscriptionalParthian
        -- ^ /No description available in the introspection data./
        | ScriptTJavanese
        -- ^ /No description available in the introspection data./
        | ScriptTKaithi
        -- ^ /No description available in the introspection data./
        | ScriptTLisu
        -- ^ /No description available in the introspection data./
        | ScriptTMeeteiMayek
        -- ^ /No description available in the introspection data./
        | ScriptTOldSouthArabian
        -- ^ /No description available in the introspection data./
        | ScriptTOldTurkic
        -- ^ /No description available in the introspection data./
        | ScriptTSamaritan
        -- ^ /No description available in the introspection data./
        | ScriptTTaiTham
        -- ^ /No description available in the introspection data./
        | ScriptTTaiViet
        -- ^ /No description available in the introspection data./
        | ScriptTBatak
        -- ^ /No description available in the introspection data./
        | ScriptTBrahmi
        -- ^ /No description available in the introspection data./
        | ScriptTMandaic
        -- ^ /No description available in the introspection data./
        | ScriptTChakma
        -- ^ /No description available in the introspection data./
        | ScriptTMeroiticCursive
        -- ^ /No description available in the introspection data./
        | ScriptTMeroiticHieroglyphs
        -- ^ /No description available in the introspection data./
        | ScriptTMiao
        -- ^ /No description available in the introspection data./
        | ScriptTSharada
        -- ^ /No description available in the introspection data./
        | ScriptTSoraSompeng
        -- ^ /No description available in the introspection data./
        | ScriptTTakri
        -- ^ /No description available in the introspection data./
        | ScriptTBassaVah
        -- ^ /No description available in the introspection data./
        | ScriptTCaucasianAlbanian
        -- ^ /No description available in the introspection data./
        | ScriptTDuployan
        -- ^ /No description available in the introspection data./
        | ScriptTElbasan
        -- ^ /No description available in the introspection data./
        | ScriptTGrantha
        -- ^ /No description available in the introspection data./
        | ScriptTKhojki
        -- ^ /No description available in the introspection data./
        | ScriptTKhudawadi
        -- ^ /No description available in the introspection data./
        | ScriptTLinearA
        -- ^ /No description available in the introspection data./
        | ScriptTMahajani
        -- ^ /No description available in the introspection data./
        | ScriptTManichaean
        -- ^ /No description available in the introspection data./
        | ScriptTMendeKikakui
        -- ^ /No description available in the introspection data./
        | ScriptTModi
        -- ^ /No description available in the introspection data./
        | ScriptTMro
        -- ^ /No description available in the introspection data./
        | ScriptTNabataean
        -- ^ /No description available in the introspection data./
        | ScriptTOldNorthArabian
        -- ^ /No description available in the introspection data./
        | ScriptTOldPermic
        -- ^ /No description available in the introspection data./
        | ScriptTPahawhHmong
        -- ^ /No description available in the introspection data./
        | ScriptTPalmyrene
        -- ^ /No description available in the introspection data./
        | ScriptTPauCinHau
        -- ^ /No description available in the introspection data./
        | ScriptTPsalterPahlavi
        -- ^ /No description available in the introspection data./
        | ScriptTSiddham
        -- ^ /No description available in the introspection data./
        | ScriptTTirhuta
        -- ^ /No description available in the introspection data./
        | ScriptTWarangCiti
        -- ^ /No description available in the introspection data./
        | ScriptTAhom
        -- ^ /No description available in the introspection data./
        | ScriptTAnatolianHieroglyphs
        -- ^ /No description available in the introspection data./
        | ScriptTHatran
        -- ^ /No description available in the introspection data./
        | ScriptTMultani
        -- ^ /No description available in the introspection data./
        | ScriptTOldHungarian
        -- ^ /No description available in the introspection data./
        | ScriptTSignwriting
        -- ^ /No description available in the introspection data./
        | ScriptTAdlam
        -- ^ /No description available in the introspection data./
        | ScriptTBhaiksuki
        -- ^ /No description available in the introspection data./
        | ScriptTMarchen
        -- ^ /No description available in the introspection data./
        | ScriptTOsage
        -- ^ /No description available in the introspection data./
        | ScriptTTangut
        -- ^ /No description available in the introspection data./
        | ScriptTNewa
        -- ^ /No description available in the introspection data./
        | ScriptTMasaramGondi
        -- ^ /No description available in the introspection data./
        | ScriptTNushu
        -- ^ /No description available in the introspection data./
        | ScriptTSoyombo
        -- ^ /No description available in the introspection data./
        | ScriptTZanabazarSquare
        -- ^ /No description available in the introspection data./
        | ScriptTDogra
        -- ^ /No description available in the introspection data./
        | ScriptTGunjalaGondi
        -- ^ /No description available in the introspection data./
        | ScriptTHanifiRohingya
        -- ^ /No description available in the introspection data./
        | ScriptTMakasar
        -- ^ /No description available in the introspection data./
        | ScriptTMedefaidrin
        -- ^ /No description available in the introspection data./
        | ScriptTOldSogdian
        -- ^ /No description available in the introspection data./
        | ScriptTSogdian
        -- ^ /No description available in the introspection data./
        | ScriptTElymaic
        -- ^ /No description available in the introspection data./
        | ScriptTNandinagari
        -- ^ /No description available in the introspection data./
        | ScriptTNyiakengPuachueHmong
        -- ^ /No description available in the introspection data./
        | ScriptTWancho
        -- ^ /No description available in the introspection data./
        | ScriptTChorasmian
        -- ^ /No description available in the introspection data./
        | ScriptTDivesAkuru
        -- ^ /No description available in the introspection data./
        | ScriptTKhitanSmallScript
        -- ^ /No description available in the introspection data./
        | ScriptTYezidi
        -- ^ /No description available in the introspection data./
        | ScriptTInvalid
        -- ^ /No description available in the introspection data./
        | AnotherScriptT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> ScriptT -> ShowS
    [ScriptT] -> ShowS
    ScriptT -> String
    (Int -> ScriptT -> ShowS)
    -> (ScriptT -> String) -> ([ScriptT] -> ShowS) -> Show ScriptT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [ScriptT] -> ShowS
    $cshowList :: [ScriptT] -> ShowS
    show :: ScriptT -> String
    $cshow :: ScriptT -> String
    showsPrec :: Int -> ScriptT -> ShowS
    $cshowsPrec :: Int -> ScriptT -> ShowS
    Show, ScriptT -> ScriptT -> Bool
    (ScriptT -> ScriptT -> Bool)
    -> (ScriptT -> ScriptT -> Bool) -> Eq ScriptT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: ScriptT -> ScriptT -> Bool
    $c/= :: ScriptT -> ScriptT -> Bool
    == :: ScriptT -> ScriptT -> Bool
    $c== :: ScriptT -> ScriptT -> Bool
    Eq)

    instance P.Enum ScriptT where
        fromEnum :: ScriptT -> Int
    fromEnum ScriptTCommon = 1517910393
        fromEnum ScriptTInherited = 1516858984
        fromEnum ScriptTUnknown = 1517976186
        fromEnum ScriptTArabic = 1098015074
        fromEnum ScriptTArmenian = 1098018158
        fromEnum ScriptTBengali = 1113943655
        fromEnum ScriptTCyrillic = 1132032620
        fromEnum ScriptTDevanagari = 1147500129
        fromEnum ScriptTGeorgian = 1197830002
        fromEnum ScriptTGreek = 1198679403
        fromEnum ScriptTGujarati = 1198877298
        fromEnum ScriptTGurmukhi = 1198879349
        fromEnum ScriptTHangul = 1214344807
        fromEnum ScriptTHan = 1214344809
        fromEnum ScriptTHebrew = 1214603890
        fromEnum ScriptTHiragana = 1214870113
        fromEnum ScriptTKannada = 1265525857
        fromEnum ScriptTKatakana = 1264676449
        fromEnum ScriptTLao = 1281453935
        fromEnum ScriptTLatin = 1281455214
        fromEnum ScriptTMalayalam = 1298954605
        fromEnum ScriptTOriya = 1332902241
        fromEnum ScriptTTamil = 1415671148
        fromEnum ScriptTTelugu = 1415933045
        fromEnum ScriptTThai = 1416126825
        fromEnum ScriptTTibetan = 1416192628
        fromEnum ScriptTBopomofo = 1114599535
        fromEnum ScriptTBraille = 1114792297
        fromEnum ScriptTCanadianSyllabics = 1130458739
        fromEnum ScriptTCherokee = 1130915186
        fromEnum ScriptTEthiopic = 1165256809
        fromEnum ScriptTKhmer = 1265134962
        fromEnum ScriptTMongolian = 1299148391
        fromEnum ScriptTMyanmar = 1299803506
        fromEnum ScriptTOgham = 1332175213
        fromEnum ScriptTRunic = 1383427698
        fromEnum ScriptTSinhala = 1399418472
        fromEnum ScriptTSyriac = 1400468067
        fromEnum ScriptTThaana = 1416126817
        fromEnum ScriptTYi = 1500080489
        fromEnum ScriptTDeseret = 1148416628
        fromEnum ScriptTGothic = 1198486632
        fromEnum ScriptTOldItalic = 1232363884
        fromEnum ScriptTBuhid = 1114990692
        fromEnum ScriptTHanunoo = 1214344815
        fromEnum ScriptTTagalog = 1416064103
        fromEnum ScriptTTagbanwa = 1415669602
        fromEnum ScriptTCypriot = 1131442804
        fromEnum ScriptTLimbu = 1281977698
        fromEnum ScriptTLinearB = 1281977954
        fromEnum ScriptTOsmanya = 1332964705
        fromEnum ScriptTShavian = 1399349623
        fromEnum ScriptTTaiLe = 1415670885
        fromEnum ScriptTUgaritic = 1432838514
        fromEnum ScriptTBuginese = 1114990441
        fromEnum ScriptTCoptic = 1131376756
        fromEnum ScriptTGlagolitic = 1198285159
        fromEnum ScriptTKharoshthi = 1265131890
        fromEnum ScriptTNewTaiLue = 1415670901
        fromEnum ScriptTOldPersian = 1483761007
        fromEnum ScriptTSylotiNagri = 1400466543
        fromEnum ScriptTTifinagh = 1415999079
        fromEnum ScriptTBalinese = 1113681001
        fromEnum ScriptTCuneiform = 1483961720
        fromEnum ScriptTNko = 1315663727
        fromEnum ScriptTPhagsPa = 1349017959
        fromEnum ScriptTPhoenician = 1349021304
        fromEnum ScriptTCarian = 1130459753
        fromEnum ScriptTCham = 1130914157
        fromEnum ScriptTKayahLi = 1264675945
        fromEnum ScriptTLepcha = 1281716323
        fromEnum ScriptTLycian = 1283023721
        fromEnum ScriptTLydian = 1283023977
        fromEnum ScriptTOlChiki = 1332503403
        fromEnum ScriptTRejang = 1382706791
        fromEnum ScriptTSaurashtra = 1398895986
        fromEnum ScriptTSundanese = 1400204900
        fromEnum ScriptTVai = 1449224553
        fromEnum ScriptTAvestan = 1098281844
        fromEnum ScriptTBamum = 1113681269
        fromEnum ScriptTEgyptianHieroglyphs = 1164409200
        fromEnum ScriptTImperialAramaic = 1098018153
        fromEnum ScriptTInscriptionalPahlavi = 1349020777
        fromEnum ScriptTInscriptionalParthian = 1349678185
        fromEnum ScriptTJavanese = 1247901281
        fromEnum ScriptTKaithi = 1265920105
        fromEnum ScriptTLisu = 1281979253
        fromEnum ScriptTMeeteiMayek = 1299473769
        fromEnum ScriptTOldSouthArabian = 1398895202
        fromEnum ScriptTOldTurkic = 1332898664
        fromEnum ScriptTSamaritan = 1398893938
        fromEnum ScriptTTaiTham = 1281453665
        fromEnum ScriptTTaiViet = 1415673460
        fromEnum ScriptTBatak = 1113683051
        fromEnum ScriptTBrahmi = 1114792296
        fromEnum ScriptTMandaic = 1298230884
        fromEnum ScriptTChakma = 1130457965
        fromEnum ScriptTMeroiticCursive = 1298494051
        fromEnum ScriptTMeroiticHieroglyphs = 1298494063
        fromEnum ScriptTMiao = 1349284452
        fromEnum ScriptTSharada = 1399353956
        fromEnum ScriptTSoraSompeng = 1399812705
        fromEnum ScriptTTakri = 1415670642
        fromEnum ScriptTBassaVah = 1113682803
        fromEnum ScriptTCaucasianAlbanian = 1097295970
        fromEnum ScriptTDuployan = 1148547180
        fromEnum ScriptTElbasan = 1164730977
        fromEnum ScriptTGrantha = 1198678382
        fromEnum ScriptTKhojki = 1265135466
        fromEnum ScriptTKhudawadi = 1399418468
        fromEnum ScriptTLinearA = 1281977953
        fromEnum ScriptTMahajani = 1298229354
        fromEnum ScriptTManichaean = 1298230889
        fromEnum ScriptTMendeKikakui = 1298493028
        fromEnum ScriptTModi = 1299145833
        fromEnum ScriptTMro = 1299345263
        fromEnum ScriptTNabataean = 1315070324
        fromEnum ScriptTOldNorthArabian = 1315009122
        fromEnum ScriptTOldPermic = 1348825709
        fromEnum ScriptTPahawhHmong = 1215131239
        fromEnum ScriptTPalmyrene = 1348562029
        fromEnum ScriptTPauCinHau = 1348564323
        fromEnum ScriptTPsalterPahlavi = 1349020784
        fromEnum ScriptTSiddham = 1399415908
        fromEnum ScriptTTirhuta = 1416196712
        fromEnum ScriptTWarangCiti = 1466004065
        fromEnum ScriptTAhom = 1097363309
        fromEnum ScriptTAnatolianHieroglyphs = 1215067511
        fromEnum ScriptTHatran = 1214346354
        fromEnum ScriptTMultani = 1299541108
        fromEnum ScriptTOldHungarian = 1215655527
        fromEnum ScriptTSignwriting = 1399287415
        fromEnum ScriptTAdlam = 1097100397
        fromEnum ScriptTBhaiksuki = 1114139507
        fromEnum ScriptTMarchen = 1298231907
        fromEnum ScriptTOsage = 1332963173
        fromEnum ScriptTTangut = 1415671399
        fromEnum ScriptTNewa = 1315272545
        fromEnum ScriptTMasaramGondi = 1198485101
        fromEnum ScriptTNushu = 1316186229
        fromEnum ScriptTSoyombo = 1399814511
        fromEnum ScriptTZanabazarSquare = 1516334690
        fromEnum ScriptTDogra = 1148151666
        fromEnum ScriptTGunjalaGondi = 1198485095
        fromEnum ScriptTHanifiRohingya = 1383032935
        fromEnum ScriptTMakasar = 1298230113
        fromEnum ScriptTMedefaidrin = 1298490470
        fromEnum ScriptTOldSogdian = 1399809903
        fromEnum ScriptTSogdian = 1399809892
        fromEnum ScriptTElymaic = 1164736877
        fromEnum ScriptTNandinagari = 1315008100
        fromEnum ScriptTNyiakengPuachueHmong = 1215131248
        fromEnum ScriptTWancho = 1466132591
        fromEnum ScriptTChorasmian = 1130918515
        fromEnum ScriptTDivesAkuru = 1147756907
        fromEnum ScriptTKhitanSmallScript = 1265202291
        fromEnum ScriptTYezidi = 1499822697
        fromEnum ScriptTInvalid = 0
        fromEnum (AnotherScriptT k :: Int
    k) = Int
    k

        toEnum :: Int -> ScriptT
    toEnum 1517910393 = ScriptT
    ScriptTCommon
        toEnum 1516858984 = ScriptT
    ScriptTInherited
        toEnum 1517976186 = ScriptT
    ScriptTUnknown
        toEnum 1098015074 = ScriptT
    ScriptTArabic
        toEnum 1098018158 = ScriptT
    ScriptTArmenian
        toEnum 1113943655 = ScriptT
    ScriptTBengali
        toEnum 1132032620 = ScriptT
    ScriptTCyrillic
        toEnum 1147500129 = ScriptT
    ScriptTDevanagari
        toEnum 1197830002 = ScriptT
    ScriptTGeorgian
        toEnum 1198679403 = ScriptT
    ScriptTGreek
        toEnum 1198877298 = ScriptT
    ScriptTGujarati
        toEnum 1198879349 = ScriptT
    ScriptTGurmukhi
        toEnum 1214344807 = ScriptT
    ScriptTHangul
        toEnum 1214344809 = ScriptT
    ScriptTHan
        toEnum 1214603890 = ScriptT
    ScriptTHebrew
        toEnum 1214870113 = ScriptT
    ScriptTHiragana
        toEnum 1265525857 = ScriptT
    ScriptTKannada
        toEnum 1264676449 = ScriptT
    ScriptTKatakana
        toEnum 1281453935 = ScriptT
    ScriptTLao
        toEnum 1281455214 = ScriptT
    ScriptTLatin
        toEnum 1298954605 = ScriptT
    ScriptTMalayalam
        toEnum 1332902241 = ScriptT
    ScriptTOriya
        toEnum 1415671148 = ScriptT
    ScriptTTamil
        toEnum 1415933045 = ScriptT
    ScriptTTelugu
        toEnum 1416126825 = ScriptT
    ScriptTThai
        toEnum 1416192628 = ScriptT
    ScriptTTibetan
        toEnum 1114599535 = ScriptT
    ScriptTBopomofo
        toEnum 1114792297 = ScriptT
    ScriptTBraille
        toEnum 1130458739 = ScriptT
    ScriptTCanadianSyllabics
        toEnum 1130915186 = ScriptT
    ScriptTCherokee
        toEnum 1165256809 = ScriptT
    ScriptTEthiopic
        toEnum 1265134962 = ScriptT
    ScriptTKhmer
        toEnum 1299148391 = ScriptT
    ScriptTMongolian
        toEnum 1299803506 = ScriptT
    ScriptTMyanmar
        toEnum 1332175213 = ScriptT
    ScriptTOgham
        toEnum 1383427698 = ScriptT
    ScriptTRunic
        toEnum 1399418472 = ScriptT
    ScriptTSinhala
        toEnum 1400468067 = ScriptT
    ScriptTSyriac
        toEnum 1416126817 = ScriptT
    ScriptTThaana
        toEnum 1500080489 = ScriptT
    ScriptTYi
        toEnum 1148416628 = ScriptT
    ScriptTDeseret
        toEnum 1198486632 = ScriptT
    ScriptTGothic
        toEnum 1232363884 = ScriptT
    ScriptTOldItalic
        toEnum 1114990692 = ScriptT
    ScriptTBuhid
        toEnum 1214344815 = ScriptT
    ScriptTHanunoo
        toEnum 1416064103 = ScriptT
    ScriptTTagalog
        toEnum 1415669602 = ScriptT
    ScriptTTagbanwa
        toEnum 1131442804 = ScriptT
    ScriptTCypriot
        toEnum 1281977698 = ScriptT
    ScriptTLimbu
        toEnum 1281977954 = ScriptT
    ScriptTLinearB
        toEnum 1332964705 = ScriptT
    ScriptTOsmanya
        toEnum 1399349623 = ScriptT
    ScriptTShavian
        toEnum 1415670885 = ScriptT
    ScriptTTaiLe
        toEnum 1432838514 = ScriptT
    ScriptTUgaritic
        toEnum 1114990441 = ScriptT
    ScriptTBuginese
        toEnum 1131376756 = ScriptT
    ScriptTCoptic
        toEnum 1198285159 = ScriptT
    ScriptTGlagolitic
        toEnum 1265131890 = ScriptT
    ScriptTKharoshthi
        toEnum 1415670901 = ScriptT
    ScriptTNewTaiLue
        toEnum 1483761007 = ScriptT
    ScriptTOldPersian
        toEnum 1400466543 = ScriptT
    ScriptTSylotiNagri
        toEnum 1415999079 = ScriptT
    ScriptTTifinagh
        toEnum 1113681001 = ScriptT
    ScriptTBalinese
        toEnum 1483961720 = ScriptT
    ScriptTCuneiform
        toEnum 1315663727 = ScriptT
    ScriptTNko
        toEnum 1349017959 = ScriptT
    ScriptTPhagsPa
        toEnum 1349021304 = ScriptT
    ScriptTPhoenician
        toEnum 1130459753 = ScriptT
    ScriptTCarian
        toEnum 1130914157 = ScriptT
    ScriptTCham
        toEnum 1264675945 = ScriptT
    ScriptTKayahLi
        toEnum 1281716323 = ScriptT
    ScriptTLepcha
        toEnum 1283023721 = ScriptT
    ScriptTLycian
        toEnum 1283023977 = ScriptT
    ScriptTLydian
        toEnum 1332503403 = ScriptT
    ScriptTOlChiki
        toEnum 1382706791 = ScriptT
    ScriptTRejang
        toEnum 1398895986 = ScriptT
    ScriptTSaurashtra
        toEnum 1400204900 = ScriptT
    ScriptTSundanese
        toEnum 1449224553 = ScriptT
    ScriptTVai
        toEnum 1098281844 = ScriptT
    ScriptTAvestan
        toEnum 1113681269 = ScriptT
    ScriptTBamum
        toEnum 1164409200 = ScriptT
    ScriptTEgyptianHieroglyphs
        toEnum 1098018153 = ScriptT
    ScriptTImperialAramaic
        toEnum 1349020777 = ScriptT
    ScriptTInscriptionalPahlavi
        toEnum 1349678185 = ScriptT
    ScriptTInscriptionalParthian
        toEnum 1247901281 = ScriptT
    ScriptTJavanese
        toEnum 1265920105 = ScriptT
    ScriptTKaithi
        toEnum 1281979253 = ScriptT
    ScriptTLisu
        toEnum 1299473769 = ScriptT
    ScriptTMeeteiMayek
        toEnum 1398895202 = ScriptT
    ScriptTOldSouthArabian
        toEnum 1332898664 = ScriptT
    ScriptTOldTurkic
        toEnum 1398893938 = ScriptT
    ScriptTSamaritan
        toEnum 1281453665 = ScriptT
    ScriptTTaiTham
        toEnum 1415673460 = ScriptT
    ScriptTTaiViet
        toEnum 1113683051 = ScriptT
    ScriptTBatak
        toEnum 1114792296 = ScriptT
    ScriptTBrahmi
        toEnum 1298230884 = ScriptT
    ScriptTMandaic
        toEnum 1130457965 = ScriptT
    ScriptTChakma
        toEnum 1298494051 = ScriptT
    ScriptTMeroiticCursive
        toEnum 1298494063 = ScriptT
    ScriptTMeroiticHieroglyphs
        toEnum 1349284452 = ScriptT
    ScriptTMiao
        toEnum 1399353956 = ScriptT
    ScriptTSharada
        toEnum 1399812705 = ScriptT
    ScriptTSoraSompeng
        toEnum 1415670642 = ScriptT
    ScriptTTakri
        toEnum 1113682803 = ScriptT
    ScriptTBassaVah
        toEnum 1097295970 = ScriptT
    ScriptTCaucasianAlbanian
        toEnum 1148547180 = ScriptT
    ScriptTDuployan
        toEnum 1164730977 = ScriptT
    ScriptTElbasan
        toEnum 1198678382 = ScriptT
    ScriptTGrantha
        toEnum 1265135466 = ScriptT
    ScriptTKhojki
        toEnum 1399418468 = ScriptT
    ScriptTKhudawadi
        toEnum 1281977953 = ScriptT
    ScriptTLinearA
        toEnum 1298229354 = ScriptT
    ScriptTMahajani
        toEnum 1298230889 = ScriptT
    ScriptTManichaean
        toEnum 1298493028 = ScriptT
    ScriptTMendeKikakui
        toEnum 1299145833 = ScriptT
    ScriptTModi
        toEnum 1299345263 = ScriptT
    ScriptTMro
        toEnum 1315070324 = ScriptT
    ScriptTNabataean
        toEnum 1315009122 = ScriptT
    ScriptTOldNorthArabian
        toEnum 1348825709 = ScriptT
    ScriptTOldPermic
        toEnum 1215131239 = ScriptT
    ScriptTPahawhHmong
        toEnum 1348562029 = ScriptT
    ScriptTPalmyrene
        toEnum 1348564323 = ScriptT
    ScriptTPauCinHau
        toEnum 1349020784 = ScriptT
    ScriptTPsalterPahlavi
        toEnum 1399415908 = ScriptT
    ScriptTSiddham
        toEnum 1416196712 = ScriptT
    ScriptTTirhuta
        toEnum 1466004065 = ScriptT
    ScriptTWarangCiti
        toEnum 1097363309 = ScriptT
    ScriptTAhom
        toEnum 1215067511 = ScriptT
    ScriptTAnatolianHieroglyphs
        toEnum 1214346354 = ScriptT
    ScriptTHatran
        toEnum 1299541108 = ScriptT
    ScriptTMultani
        toEnum 1215655527 = ScriptT
    ScriptTOldHungarian
        toEnum 1399287415 = ScriptT
    ScriptTSignwriting
        toEnum 1097100397 = ScriptT
    ScriptTAdlam
        toEnum 1114139507 = ScriptT
    ScriptTBhaiksuki
        toEnum 1298231907 = ScriptT
    ScriptTMarchen
        toEnum 1332963173 = ScriptT
    ScriptTOsage
        toEnum 1415671399 = ScriptT
    ScriptTTangut
        toEnum 1315272545 = ScriptT
    ScriptTNewa
        toEnum 1198485101 = ScriptT
    ScriptTMasaramGondi
        toEnum 1316186229 = ScriptT
    ScriptTNushu
        toEnum 1399814511 = ScriptT
    ScriptTSoyombo
        toEnum 1516334690 = ScriptT
    ScriptTZanabazarSquare
        toEnum 1148151666 = ScriptT
    ScriptTDogra
        toEnum 1198485095 = ScriptT
    ScriptTGunjalaGondi
        toEnum 1383032935 = ScriptT
    ScriptTHanifiRohingya
        toEnum 1298230113 = ScriptT
    ScriptTMakasar
        toEnum 1298490470 = ScriptT
    ScriptTMedefaidrin
        toEnum 1399809903 = ScriptT
    ScriptTOldSogdian
        toEnum 1399809892 = ScriptT
    ScriptTSogdian
        toEnum 1164736877 = ScriptT
    ScriptTElymaic
        toEnum 1315008100 = ScriptT
    ScriptTNandinagari
        toEnum 1215131248 = ScriptT
    ScriptTNyiakengPuachueHmong
        toEnum 1466132591 = ScriptT
    ScriptTWancho
        toEnum 1130918515 = ScriptT
    ScriptTChorasmian
        toEnum 1147756907 = ScriptT
    ScriptTDivesAkuru
        toEnum 1265202291 = ScriptT
    ScriptTKhitanSmallScript
        toEnum 1499822697 = ScriptT
    ScriptTYezidi
        toEnum 0 = ScriptT
    ScriptTInvalid
        toEnum k :: Int
    k = Int -> ScriptT
    AnotherScriptT Int
    k

    instance P.Ord ScriptT where
        compare :: ScriptT -> ScriptT -> Ordering
    compare a :: ScriptT
    a b :: ScriptT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (ScriptT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum ScriptT
    a) (ScriptT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum ScriptT
    b)

    type instance O.ParentTypes ScriptT = '[]
    instance O.HasParentTypes ScriptT

    foreign import ccall "hb_gobject_script_get_type" c_hb_gobject_script_get_type ::
        IO GType

    instance B.Types.TypedObject ScriptT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_script_get_type

    instance B.Types.BoxedEnum ScriptT

    -- Enum ot_metrics_tag_t
    -- | From https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/mvar@/value/@-tags
    --
    -- /Since: 2.6.0/
    data OtMetricsTagT =
          OtMetricsTagTHorizontalAscender
        -- ^ horizontal ascender.
        | OtMetricsTagTHorizontalDescender
        -- ^ horizontal descender.
        | OtMetricsTagTHorizontalLineGap
        -- ^ horizontal line gap.
        | OtMetricsTagTHorizontalClippingAscent
        -- ^ horizontal clipping ascent.
        | OtMetricsTagTHorizontalClippingDescent
        -- ^ horizontal clipping descent.
        | OtMetricsTagTVerticalAscender
        -- ^ vertical ascender.
        | OtMetricsTagTVerticalDescender
        -- ^ vertical descender.
        | OtMetricsTagTVerticalLineGap
        -- ^ vertical line gap.
        | OtMetricsTagTHorizontalCaretRise
        -- ^ horizontal caret rise.
        | OtMetricsTagTHorizontalCaretRun
        -- ^ horizontal caret run.
        | OtMetricsTagTHorizontalCaretOffset
        -- ^ horizontal caret offset.
        | OtMetricsTagTVerticalCaretRise
        -- ^ vertical caret rise.
        | OtMetricsTagTVerticalCaretRun
        -- ^ vertical caret run.
        | OtMetricsTagTVerticalCaretOffset
        -- ^ vertical caret offset.
        | OtMetricsTagTXHeight
        -- ^ x height.
        | OtMetricsTagTCapHeight
        -- ^ cap height.
        | OtMetricsTagTSubscriptEmXSize
        -- ^ subscript em x size.
        | OtMetricsTagTSubscriptEmYSize
        -- ^ subscript em y size.
        | OtMetricsTagTSubscriptEmXOffset
        -- ^ subscript em x offset.
        | OtMetricsTagTSubscriptEmYOffset
        -- ^ subscript em y offset.
        | OtMetricsTagTSuperscriptEmXSize
        -- ^ superscript em x size.
        | OtMetricsTagTSuperscriptEmYSize
        -- ^ superscript em y size.
        | OtMetricsTagTSuperscriptEmXOffset
        -- ^ superscript em x offset.
        | OtMetricsTagTSuperscriptEmYOffset
        -- ^ superscript em y offset.
        | OtMetricsTagTStrikeoutSize
        -- ^ strikeout size.
        | OtMetricsTagTStrikeoutOffset
        -- ^ strikeout offset.
        | OtMetricsTagTUnderlineSize
        -- ^ underline size.
        | OtMetricsTagTUnderlineOffset
        -- ^ underline offset.
        | AnotherOtMetricsTagT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtMetricsTagT -> ShowS
    [OtMetricsTagT] -> ShowS
    OtMetricsTagT -> String
    (Int -> OtMetricsTagT -> ShowS)
    -> (OtMetricsTagT -> String)
    -> ([OtMetricsTagT] -> ShowS)
    -> Show OtMetricsTagT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtMetricsTagT] -> ShowS
    $cshowList :: [OtMetricsTagT] -> ShowS
    show :: OtMetricsTagT -> String
    $cshow :: OtMetricsTagT -> String
    showsPrec :: Int -> OtMetricsTagT -> ShowS
    $cshowsPrec :: Int -> OtMetricsTagT -> ShowS
    Show, OtMetricsTagT -> OtMetricsTagT -> Bool
    (OtMetricsTagT -> OtMetricsTagT -> Bool)
    -> (OtMetricsTagT -> OtMetricsTagT -> Bool) -> Eq OtMetricsTagT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtMetricsTagT -> OtMetricsTagT -> Bool
    $c/= :: OtMetricsTagT -> OtMetricsTagT -> Bool
    == :: OtMetricsTagT -> OtMetricsTagT -> Bool
    $c== :: OtMetricsTagT -> OtMetricsTagT -> Bool
    Eq)

    instance P.Enum OtMetricsTagT where
        fromEnum :: OtMetricsTagT -> Int
    fromEnum OtMetricsTagTHorizontalAscender = 1751216995
        fromEnum OtMetricsTagTHorizontalDescender = 1751413603
        fromEnum OtMetricsTagTHorizontalLineGap = 1751934832
        fromEnum OtMetricsTagTHorizontalClippingAscent = 1751346273
        fromEnum OtMetricsTagTHorizontalClippingDescent = 1751346276
        fromEnum OtMetricsTagTVerticalAscender = 1986098019
        fromEnum OtMetricsTagTVerticalDescender = 1986294627
        fromEnum OtMetricsTagTVerticalLineGap = 1986815856
        fromEnum OtMetricsTagTHorizontalCaretRise = 1751347827
        fromEnum OtMetricsTagTHorizontalCaretRun = 1751347822
        fromEnum OtMetricsTagTHorizontalCaretOffset = 1751347046
        fromEnum OtMetricsTagTVerticalCaretRise = 1986228851
        fromEnum OtMetricsTagTVerticalCaretRun = 1986228846
        fromEnum OtMetricsTagTVerticalCaretOffset = 1986228070
        fromEnum OtMetricsTagTXHeight = 2020108148
        fromEnum OtMetricsTagTCapHeight = 1668311156
        fromEnum OtMetricsTagTSubscriptEmXSize = 1935833203
        fromEnum OtMetricsTagTSubscriptEmYSize = 1935833459
        fromEnum OtMetricsTagTSubscriptEmXOffset = 1935833199
        fromEnum OtMetricsTagTSubscriptEmYOffset = 1935833455
        fromEnum OtMetricsTagTSuperscriptEmXSize = 1936750707
        fromEnum OtMetricsTagTSuperscriptEmYSize = 1936750963
        fromEnum OtMetricsTagTSuperscriptEmXOffset = 1936750703
        fromEnum OtMetricsTagTSuperscriptEmYOffset = 1936750959
        fromEnum OtMetricsTagTStrikeoutSize = 1937011315
        fromEnum OtMetricsTagTStrikeoutOffset = 1937011311
        fromEnum OtMetricsTagTUnderlineSize = 1970168947
        fromEnum OtMetricsTagTUnderlineOffset = 1970168943
        fromEnum (AnotherOtMetricsTagT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtMetricsTagT
    toEnum 1751216995 = OtMetricsTagT
    OtMetricsTagTHorizontalAscender
        toEnum 1751413603 = OtMetricsTagT
    OtMetricsTagTHorizontalDescender
        toEnum 1751934832 = OtMetricsTagT
    OtMetricsTagTHorizontalLineGap
        toEnum 1751346273 = OtMetricsTagT
    OtMetricsTagTHorizontalClippingAscent
        toEnum 1751346276 = OtMetricsTagT
    OtMetricsTagTHorizontalClippingDescent
        toEnum 1986098019 = OtMetricsTagT
    OtMetricsTagTVerticalAscender
        toEnum 1986294627 = OtMetricsTagT
    OtMetricsTagTVerticalDescender
        toEnum 1986815856 = OtMetricsTagT
    OtMetricsTagTVerticalLineGap
        toEnum 1751347827 = OtMetricsTagT
    OtMetricsTagTHorizontalCaretRise
        toEnum 1751347822 = OtMetricsTagT
    OtMetricsTagTHorizontalCaretRun
        toEnum 1751347046 = OtMetricsTagT
    OtMetricsTagTHorizontalCaretOffset
        toEnum 1986228851 = OtMetricsTagT
    OtMetricsTagTVerticalCaretRise
        toEnum 1986228846 = OtMetricsTagT
    OtMetricsTagTVerticalCaretRun
        toEnum 1986228070 = OtMetricsTagT
    OtMetricsTagTVerticalCaretOffset
        toEnum 2020108148 = OtMetricsTagT
    OtMetricsTagTXHeight
        toEnum 1668311156 = OtMetricsTagT
    OtMetricsTagTCapHeight
        toEnum 1935833203 = OtMetricsTagT
    OtMetricsTagTSubscriptEmXSize
        toEnum 1935833459 = OtMetricsTagT
    OtMetricsTagTSubscriptEmYSize
        toEnum 1935833199 = OtMetricsTagT
    OtMetricsTagTSubscriptEmXOffset
        toEnum 1935833455 = OtMetricsTagT
    OtMetricsTagTSubscriptEmYOffset
        toEnum 1936750707 = OtMetricsTagT
    OtMetricsTagTSuperscriptEmXSize
        toEnum 1936750963 = OtMetricsTagT
    OtMetricsTagTSuperscriptEmYSize
        toEnum 1936750703 = OtMetricsTagT
    OtMetricsTagTSuperscriptEmXOffset
        toEnum 1936750959 = OtMetricsTagT
    OtMetricsTagTSuperscriptEmYOffset
        toEnum 1937011315 = OtMetricsTagT
    OtMetricsTagTStrikeoutSize
        toEnum 1937011311 = OtMetricsTagT
    OtMetricsTagTStrikeoutOffset
        toEnum 1970168947 = OtMetricsTagT
    OtMetricsTagTUnderlineSize
        toEnum 1970168943 = OtMetricsTagT
    OtMetricsTagTUnderlineOffset
        toEnum k :: Int
    k = Int -> OtMetricsTagT
    AnotherOtMetricsTagT Int
    k

    instance P.Ord OtMetricsTagT where
        compare :: OtMetricsTagT -> OtMetricsTagT -> Ordering
    compare a :: OtMetricsTagT
    a b :: OtMetricsTagT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtMetricsTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMetricsTagT
    a) (OtMetricsTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMetricsTagT
    b)

    type instance O.ParentTypes OtMetricsTagT = '[]
    instance O.HasParentTypes OtMetricsTagT

    foreign import ccall "hb_gobject_ot_metrics_tag_get_type" c_hb_gobject_ot_metrics_tag_get_type ::
        IO GType

    instance B.Types.TypedObject OtMetricsTagT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_metrics_tag_get_type

    instance B.Types.BoxedEnum OtMetricsTagT

    -- Enum ot_meta_tag_t
    -- | Known metadata tags from https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/meta
    --
    -- /Since: 2.6.0/
    data OtMetaTagT =
          OtMetaTagTDesignLanguages
        -- ^ 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.
        | OtMetaTagTSupportedLanguages
        -- ^ Supported languages. Text, using
        -- only Basic Latin (ASCII) characters. Indicates languages and\/or scripts
        -- that the font is declared to be capable of supporting.
        | AnotherOtMetaTagT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtMetaTagT -> ShowS
    [OtMetaTagT] -> ShowS
    OtMetaTagT -> String
    (Int -> OtMetaTagT -> ShowS)
    -> (OtMetaTagT -> String)
    -> ([OtMetaTagT] -> ShowS)
    -> Show OtMetaTagT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtMetaTagT] -> ShowS
    $cshowList :: [OtMetaTagT] -> ShowS
    show :: OtMetaTagT -> String
    $cshow :: OtMetaTagT -> String
    showsPrec :: Int -> OtMetaTagT -> ShowS
    $cshowsPrec :: Int -> OtMetaTagT -> ShowS
    Show, OtMetaTagT -> OtMetaTagT -> Bool
    (OtMetaTagT -> OtMetaTagT -> Bool)
    -> (OtMetaTagT -> OtMetaTagT -> Bool) -> Eq OtMetaTagT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtMetaTagT -> OtMetaTagT -> Bool
    $c/= :: OtMetaTagT -> OtMetaTagT -> Bool
    == :: OtMetaTagT -> OtMetaTagT -> Bool
    $c== :: OtMetaTagT -> OtMetaTagT -> Bool
    Eq)

    instance P.Enum OtMetaTagT where
        fromEnum :: OtMetaTagT -> Int
    fromEnum OtMetaTagTDesignLanguages = 1684827751
        fromEnum OtMetaTagTSupportedLanguages = 1936485991
        fromEnum (AnotherOtMetaTagT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtMetaTagT
    toEnum 1684827751 = OtMetaTagT
    OtMetaTagTDesignLanguages
        toEnum 1936485991 = OtMetaTagT
    OtMetaTagTSupportedLanguages
        toEnum k :: Int
    k = Int -> OtMetaTagT
    AnotherOtMetaTagT Int
    k

    instance P.Ord OtMetaTagT where
        compare :: OtMetaTagT -> OtMetaTagT -> Ordering
    compare a :: OtMetaTagT
    a b :: OtMetaTagT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtMetaTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMetaTagT
    a) (OtMetaTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMetaTagT
    b)

    type instance O.ParentTypes OtMetaTagT = '[]
    instance O.HasParentTypes OtMetaTagT

    foreign import ccall "hb_gobject_ot_meta_tag_get_type" c_hb_gobject_ot_meta_tag_get_type ::
        IO GType

    instance B.Types.TypedObject OtMetaTagT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_meta_tag_get_type

    instance B.Types.BoxedEnum OtMetaTagT

    -- Enum ot_math_kern_t
    -- | The math kerning-table types defined for the four corners
    -- of a glyph.
    --
    -- /Since: 1.3.3/
    data OtMathKernT =
          OtMathKernTTopRight
        -- ^ /No description available in the introspection data./
        | OtMathKernTTopLeft
        -- ^ /No description available in the introspection data./
        | OtMathKernTBottomRight
        -- ^ /No description available in the introspection data./
        | OtMathKernTBottomLeft
        -- ^ /No description available in the introspection data./
        | AnotherOtMathKernT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtMathKernT -> ShowS
    [OtMathKernT] -> ShowS
    OtMathKernT -> String
    (Int -> OtMathKernT -> ShowS)
    -> (OtMathKernT -> String)
    -> ([OtMathKernT] -> ShowS)
    -> Show OtMathKernT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtMathKernT] -> ShowS
    $cshowList :: [OtMathKernT] -> ShowS
    show :: OtMathKernT -> String
    $cshow :: OtMathKernT -> String
    showsPrec :: Int -> OtMathKernT -> ShowS
    $cshowsPrec :: Int -> OtMathKernT -> ShowS
    Show, OtMathKernT -> OtMathKernT -> Bool
    (OtMathKernT -> OtMathKernT -> Bool)
    -> (OtMathKernT -> OtMathKernT -> Bool) -> Eq OtMathKernT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtMathKernT -> OtMathKernT -> Bool
    $c/= :: OtMathKernT -> OtMathKernT -> Bool
    == :: OtMathKernT -> OtMathKernT -> Bool
    $c== :: OtMathKernT -> OtMathKernT -> Bool
    Eq)

    instance P.Enum OtMathKernT where
        fromEnum :: OtMathKernT -> Int
    fromEnum OtMathKernTTopRight = 0
        fromEnum OtMathKernTTopLeft = 1
        fromEnum OtMathKernTBottomRight = 2
        fromEnum OtMathKernTBottomLeft = 3
        fromEnum (AnotherOtMathKernT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtMathKernT
    toEnum 0 = OtMathKernT
    OtMathKernTTopRight
        toEnum 1 = OtMathKernT
    OtMathKernTTopLeft
        toEnum 2 = OtMathKernT
    OtMathKernTBottomRight
        toEnum 3 = OtMathKernT
    OtMathKernTBottomLeft
        toEnum k :: Int
    k = Int -> OtMathKernT
    AnotherOtMathKernT Int
    k

    instance P.Ord OtMathKernT where
        compare :: OtMathKernT -> OtMathKernT -> Ordering
    compare a :: OtMathKernT
    a b :: OtMathKernT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtMathKernT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMathKernT
    a) (OtMathKernT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMathKernT
    b)

    type instance O.ParentTypes OtMathKernT = '[]
    instance O.HasParentTypes OtMathKernT

    foreign import ccall "hb_gobject_ot_math_kern_get_type" c_hb_gobject_ot_math_kern_get_type ::
        IO GType

    instance B.Types.TypedObject OtMathKernT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_math_kern_get_type

    instance B.Types.BoxedEnum OtMathKernT

    -- Enum ot_math_constant_t
    -- | The \'MATH\' table constants specified at
    -- https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/math
    --
    -- /Since: 1.3.3/
    data OtMathConstantT =
          OtMathConstantTScriptPercentScaleDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTScriptScriptPercentScaleDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTDelimitedSubFormulaMinHeight
        -- ^ /No description available in the introspection data./
        | OtMathConstantTDisplayOperatorMinHeight
        -- ^ /No description available in the introspection data./
        | OtMathConstantTMathLeading
        -- ^ /No description available in the introspection data./
        | OtMathConstantTAxisHeight
        -- ^ /No description available in the introspection data./
        | OtMathConstantTAccentBaseHeight
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFlattenedAccentBaseHeight
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSubscriptShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSubscriptTopMax
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSubscriptBaselineDropMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSuperscriptShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSuperscriptShiftUpCramped
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSuperscriptBottomMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSuperscriptBaselineDropMax
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSubSuperscriptGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSuperscriptBottomMaxWithSubscript
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSpaceAfterScript
        -- ^ /No description available in the introspection data./
        | OtMathConstantTUpperLimitGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTUpperLimitBaselineRiseMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTLowerLimitGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTLowerLimitBaselineDropMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackTopShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackTopDisplayStyleShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackBottomShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackBottomDisplayStyleShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStackDisplayStyleGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStretchStackTopShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStretchStackBottomShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStretchStackGapAboveMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTStretchStackGapBelowMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionNumeratorShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionNumeratorDisplayStyleShiftUp
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionDenominatorShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionDenominatorDisplayStyleShiftDown
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionNumeratorGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionNumDisplayStyleGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionRuleThickness
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionDenominatorGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTFractionDenomDisplayStyleGapMin
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSkewedFractionHorizontalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTSkewedFractionVerticalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTOverbarVerticalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTOverbarRuleThickness
        -- ^ /No description available in the introspection data./
        | OtMathConstantTOverbarExtraAscender
        -- ^ /No description available in the introspection data./
        | OtMathConstantTUnderbarVerticalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTUnderbarRuleThickness
        -- ^ /No description available in the introspection data./
        | OtMathConstantTUnderbarExtraDescender
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalVerticalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalDisplayStyleVerticalGap
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalRuleThickness
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalExtraAscender
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalKernBeforeDegree
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalKernAfterDegree
        -- ^ /No description available in the introspection data./
        | OtMathConstantTRadicalDegreeBottomRaisePercent
        -- ^ /No description available in the introspection data./
        | AnotherOtMathConstantT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtMathConstantT -> ShowS
    [OtMathConstantT] -> ShowS
    OtMathConstantT -> String
    (Int -> OtMathConstantT -> ShowS)
    -> (OtMathConstantT -> String)
    -> ([OtMathConstantT] -> ShowS)
    -> Show OtMathConstantT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtMathConstantT] -> ShowS
    $cshowList :: [OtMathConstantT] -> ShowS
    show :: OtMathConstantT -> String
    $cshow :: OtMathConstantT -> String
    showsPrec :: Int -> OtMathConstantT -> ShowS
    $cshowsPrec :: Int -> OtMathConstantT -> ShowS
    Show, OtMathConstantT -> OtMathConstantT -> Bool
    (OtMathConstantT -> OtMathConstantT -> Bool)
    -> (OtMathConstantT -> OtMathConstantT -> Bool)
    -> Eq OtMathConstantT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtMathConstantT -> OtMathConstantT -> Bool
    $c/= :: OtMathConstantT -> OtMathConstantT -> Bool
    == :: OtMathConstantT -> OtMathConstantT -> Bool
    $c== :: OtMathConstantT -> OtMathConstantT -> Bool
    Eq)

    instance P.Enum OtMathConstantT where
        fromEnum :: OtMathConstantT -> Int
    fromEnum OtMathConstantTScriptPercentScaleDown = 0
        fromEnum OtMathConstantTScriptScriptPercentScaleDown = 1
        fromEnum OtMathConstantTDelimitedSubFormulaMinHeight = 2
        fromEnum OtMathConstantTDisplayOperatorMinHeight = 3
        fromEnum OtMathConstantTMathLeading = 4
        fromEnum OtMathConstantTAxisHeight = 5
        fromEnum OtMathConstantTAccentBaseHeight = 6
        fromEnum OtMathConstantTFlattenedAccentBaseHeight = 7
        fromEnum OtMathConstantTSubscriptShiftDown = 8
        fromEnum OtMathConstantTSubscriptTopMax = 9
        fromEnum OtMathConstantTSubscriptBaselineDropMin = 10
        fromEnum OtMathConstantTSuperscriptShiftUp = 11
        fromEnum OtMathConstantTSuperscriptShiftUpCramped = 12
        fromEnum OtMathConstantTSuperscriptBottomMin = 13
        fromEnum OtMathConstantTSuperscriptBaselineDropMax = 14
        fromEnum OtMathConstantTSubSuperscriptGapMin = 15
        fromEnum OtMathConstantTSuperscriptBottomMaxWithSubscript = 16
        fromEnum OtMathConstantTSpaceAfterScript = 17
        fromEnum OtMathConstantTUpperLimitGapMin = 18
        fromEnum OtMathConstantTUpperLimitBaselineRiseMin = 19
        fromEnum OtMathConstantTLowerLimitGapMin = 20
        fromEnum OtMathConstantTLowerLimitBaselineDropMin = 21
        fromEnum OtMathConstantTStackTopShiftUp = 22
        fromEnum OtMathConstantTStackTopDisplayStyleShiftUp = 23
        fromEnum OtMathConstantTStackBottomShiftDown = 24
        fromEnum OtMathConstantTStackBottomDisplayStyleShiftDown = 25
        fromEnum OtMathConstantTStackGapMin = 26
        fromEnum OtMathConstantTStackDisplayStyleGapMin = 27
        fromEnum OtMathConstantTStretchStackTopShiftUp = 28
        fromEnum OtMathConstantTStretchStackBottomShiftDown = 29
        fromEnum OtMathConstantTStretchStackGapAboveMin = 30
        fromEnum OtMathConstantTStretchStackGapBelowMin = 31
        fromEnum OtMathConstantTFractionNumeratorShiftUp = 32
        fromEnum OtMathConstantTFractionNumeratorDisplayStyleShiftUp = 33
        fromEnum OtMathConstantTFractionDenominatorShiftDown = 34
        fromEnum OtMathConstantTFractionDenominatorDisplayStyleShiftDown = 35
        fromEnum OtMathConstantTFractionNumeratorGapMin = 36
        fromEnum OtMathConstantTFractionNumDisplayStyleGapMin = 37
        fromEnum OtMathConstantTFractionRuleThickness = 38
        fromEnum OtMathConstantTFractionDenominatorGapMin = 39
        fromEnum OtMathConstantTFractionDenomDisplayStyleGapMin = 40
        fromEnum OtMathConstantTSkewedFractionHorizontalGap = 41
        fromEnum OtMathConstantTSkewedFractionVerticalGap = 42
        fromEnum OtMathConstantTOverbarVerticalGap = 43
        fromEnum OtMathConstantTOverbarRuleThickness = 44
        fromEnum OtMathConstantTOverbarExtraAscender = 45
        fromEnum OtMathConstantTUnderbarVerticalGap = 46
        fromEnum OtMathConstantTUnderbarRuleThickness = 47
        fromEnum OtMathConstantTUnderbarExtraDescender = 48
        fromEnum OtMathConstantTRadicalVerticalGap = 49
        fromEnum OtMathConstantTRadicalDisplayStyleVerticalGap = 50
        fromEnum OtMathConstantTRadicalRuleThickness = 51
        fromEnum OtMathConstantTRadicalExtraAscender = 52
        fromEnum OtMathConstantTRadicalKernBeforeDegree = 53
        fromEnum OtMathConstantTRadicalKernAfterDegree = 54
        fromEnum OtMathConstantTRadicalDegreeBottomRaisePercent = 55
        fromEnum (AnotherOtMathConstantT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtMathConstantT
    toEnum 0 = OtMathConstantT
    OtMathConstantTScriptPercentScaleDown
        toEnum 1 = OtMathConstantT
    OtMathConstantTScriptScriptPercentScaleDown
        toEnum 2 = OtMathConstantT
    OtMathConstantTDelimitedSubFormulaMinHeight
        toEnum 3 = OtMathConstantT
    OtMathConstantTDisplayOperatorMinHeight
        toEnum 4 = OtMathConstantT
    OtMathConstantTMathLeading
        toEnum 5 = OtMathConstantT
    OtMathConstantTAxisHeight
        toEnum 6 = OtMathConstantT
    OtMathConstantTAccentBaseHeight
        toEnum 7 = OtMathConstantT
    OtMathConstantTFlattenedAccentBaseHeight
        toEnum 8 = OtMathConstantT
    OtMathConstantTSubscriptShiftDown
        toEnum 9 = OtMathConstantT
    OtMathConstantTSubscriptTopMax
        toEnum 10 = OtMathConstantT
    OtMathConstantTSubscriptBaselineDropMin
        toEnum 11 = OtMathConstantT
    OtMathConstantTSuperscriptShiftUp
        toEnum 12 = OtMathConstantT
    OtMathConstantTSuperscriptShiftUpCramped
        toEnum 13 = OtMathConstantT
    OtMathConstantTSuperscriptBottomMin
        toEnum 14 = OtMathConstantT
    OtMathConstantTSuperscriptBaselineDropMax
        toEnum 15 = OtMathConstantT
    OtMathConstantTSubSuperscriptGapMin
        toEnum 16 = OtMathConstantT
    OtMathConstantTSuperscriptBottomMaxWithSubscript
        toEnum 17 = OtMathConstantT
    OtMathConstantTSpaceAfterScript
        toEnum 18 = OtMathConstantT
    OtMathConstantTUpperLimitGapMin
        toEnum 19 = OtMathConstantT
    OtMathConstantTUpperLimitBaselineRiseMin
        toEnum 20 = OtMathConstantT
    OtMathConstantTLowerLimitGapMin
        toEnum 21 = OtMathConstantT
    OtMathConstantTLowerLimitBaselineDropMin
        toEnum 22 = OtMathConstantT
    OtMathConstantTStackTopShiftUp
        toEnum 23 = OtMathConstantT
    OtMathConstantTStackTopDisplayStyleShiftUp
        toEnum 24 = OtMathConstantT
    OtMathConstantTStackBottomShiftDown
        toEnum 25 = OtMathConstantT
    OtMathConstantTStackBottomDisplayStyleShiftDown
        toEnum 26 = OtMathConstantT
    OtMathConstantTStackGapMin
        toEnum 27 = OtMathConstantT
    OtMathConstantTStackDisplayStyleGapMin
        toEnum 28 = OtMathConstantT
    OtMathConstantTStretchStackTopShiftUp
        toEnum 29 = OtMathConstantT
    OtMathConstantTStretchStackBottomShiftDown
        toEnum 30 = OtMathConstantT
    OtMathConstantTStretchStackGapAboveMin
        toEnum 31 = OtMathConstantT
    OtMathConstantTStretchStackGapBelowMin
        toEnum 32 = OtMathConstantT
    OtMathConstantTFractionNumeratorShiftUp
        toEnum 33 = OtMathConstantT
    OtMathConstantTFractionNumeratorDisplayStyleShiftUp
        toEnum 34 = OtMathConstantT
    OtMathConstantTFractionDenominatorShiftDown
        toEnum 35 = OtMathConstantT
    OtMathConstantTFractionDenominatorDisplayStyleShiftDown
        toEnum 36 = OtMathConstantT
    OtMathConstantTFractionNumeratorGapMin
        toEnum 37 = OtMathConstantT
    OtMathConstantTFractionNumDisplayStyleGapMin
        toEnum 38 = OtMathConstantT
    OtMathConstantTFractionRuleThickness
        toEnum 39 = OtMathConstantT
    OtMathConstantTFractionDenominatorGapMin
        toEnum 40 = OtMathConstantT
    OtMathConstantTFractionDenomDisplayStyleGapMin
        toEnum 41 = OtMathConstantT
    OtMathConstantTSkewedFractionHorizontalGap
        toEnum 42 = OtMathConstantT
    OtMathConstantTSkewedFractionVerticalGap
        toEnum 43 = OtMathConstantT
    OtMathConstantTOverbarVerticalGap
        toEnum 44 = OtMathConstantT
    OtMathConstantTOverbarRuleThickness
        toEnum 45 = OtMathConstantT
    OtMathConstantTOverbarExtraAscender
        toEnum 46 = OtMathConstantT
    OtMathConstantTUnderbarVerticalGap
        toEnum 47 = OtMathConstantT
    OtMathConstantTUnderbarRuleThickness
        toEnum 48 = OtMathConstantT
    OtMathConstantTUnderbarExtraDescender
        toEnum 49 = OtMathConstantT
    OtMathConstantTRadicalVerticalGap
        toEnum 50 = OtMathConstantT
    OtMathConstantTRadicalDisplayStyleVerticalGap
        toEnum 51 = OtMathConstantT
    OtMathConstantTRadicalRuleThickness
        toEnum 52 = OtMathConstantT
    OtMathConstantTRadicalExtraAscender
        toEnum 53 = OtMathConstantT
    OtMathConstantTRadicalKernBeforeDegree
        toEnum 54 = OtMathConstantT
    OtMathConstantTRadicalKernAfterDegree
        toEnum 55 = OtMathConstantT
    OtMathConstantTRadicalDegreeBottomRaisePercent
        toEnum k :: Int
    k = Int -> OtMathConstantT
    AnotherOtMathConstantT Int
    k

    instance P.Ord OtMathConstantT where
        compare :: OtMathConstantT -> OtMathConstantT -> Ordering
    compare a :: OtMathConstantT
    a b :: OtMathConstantT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtMathConstantT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMathConstantT
    a) (OtMathConstantT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtMathConstantT
    b)

    type instance O.ParentTypes OtMathConstantT = '[]
    instance O.HasParentTypes OtMathConstantT

    foreign import ccall "hb_gobject_ot_math_constant_get_type" c_hb_gobject_ot_math_constant_get_type ::
        IO GType

    instance B.Types.TypedObject OtMathConstantT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_math_constant_get_type

    instance B.Types.BoxedEnum OtMathConstantT

    -- Enum ot_layout_glyph_class_t
    -- | The GDEF classes defined for glyphs.
    data OtLayoutGlyphClassT =
          OtLayoutGlyphClassTUnclassified
        -- ^ Glyphs not matching the other classifications
        | OtLayoutGlyphClassTBaseGlyph
        -- ^ Spacing, single characters, capable of accepting marks
        | OtLayoutGlyphClassTLigature
        -- ^ Glyphs that represent ligation of multiple characters
        | OtLayoutGlyphClassTMark
        -- ^ Non-spacing, combining glyphs that represent marks
        | OtLayoutGlyphClassTComponent
        -- ^ Spacing glyphs that represent part of a single character
        | AnotherOtLayoutGlyphClassT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtLayoutGlyphClassT -> ShowS
    [OtLayoutGlyphClassT] -> ShowS
    OtLayoutGlyphClassT -> String
    (Int -> OtLayoutGlyphClassT -> ShowS)
    -> (OtLayoutGlyphClassT -> String)
    -> ([OtLayoutGlyphClassT] -> ShowS)
    -> Show OtLayoutGlyphClassT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtLayoutGlyphClassT] -> ShowS
    $cshowList :: [OtLayoutGlyphClassT] -> ShowS
    show :: OtLayoutGlyphClassT -> String
    $cshow :: OtLayoutGlyphClassT -> String
    showsPrec :: Int -> OtLayoutGlyphClassT -> ShowS
    $cshowsPrec :: Int -> OtLayoutGlyphClassT -> ShowS
    Show, OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool
    (OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool)
    -> (OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool)
    -> Eq OtLayoutGlyphClassT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool
    $c/= :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool
    == :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool
    $c== :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Bool
    Eq)

    instance P.Enum OtLayoutGlyphClassT where
        fromEnum :: OtLayoutGlyphClassT -> Int
    fromEnum OtLayoutGlyphClassTUnclassified = 0
        fromEnum OtLayoutGlyphClassTBaseGlyph = 1
        fromEnum OtLayoutGlyphClassTLigature = 2
        fromEnum OtLayoutGlyphClassTMark = 3
        fromEnum OtLayoutGlyphClassTComponent = 4
        fromEnum (AnotherOtLayoutGlyphClassT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtLayoutGlyphClassT
    toEnum 0 = OtLayoutGlyphClassT
    OtLayoutGlyphClassTUnclassified
        toEnum 1 = OtLayoutGlyphClassT
    OtLayoutGlyphClassTBaseGlyph
        toEnum 2 = OtLayoutGlyphClassT
    OtLayoutGlyphClassTLigature
        toEnum 3 = OtLayoutGlyphClassT
    OtLayoutGlyphClassTMark
        toEnum 4 = OtLayoutGlyphClassT
    OtLayoutGlyphClassTComponent
        toEnum k :: Int
    k = Int -> OtLayoutGlyphClassT
    AnotherOtLayoutGlyphClassT Int
    k

    instance P.Ord OtLayoutGlyphClassT where
        compare :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Ordering
    compare a :: OtLayoutGlyphClassT
    a b :: OtLayoutGlyphClassT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtLayoutGlyphClassT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtLayoutGlyphClassT
    a) (OtLayoutGlyphClassT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtLayoutGlyphClassT
    b)

    type instance O.ParentTypes OtLayoutGlyphClassT = '[]
    instance O.HasParentTypes OtLayoutGlyphClassT

    foreign import ccall "hb_gobject_ot_layout_glyph_class_get_type" c_hb_gobject_ot_layout_glyph_class_get_type ::
        IO GType

    instance B.Types.TypedObject OtLayoutGlyphClassT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_layout_glyph_class_get_type

    instance B.Types.BoxedEnum OtLayoutGlyphClassT

    -- Enum ot_layout_baseline_tag_t
    -- | Baseline tags from https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/baselinetags
    --
    -- /Since: 2.6.0/
    data OtLayoutBaselineTagT =
          OtLayoutBaselineTagTRoman
        -- ^ 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.)
        | OtLayoutBaselineTagTHanging
        -- ^ 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.
        | OtLayoutBaselineTagTIdeoFaceBottomOrLeft
        -- ^ Ideographic character face bottom or left edge,
        -- if the direction is horizontal or vertical, respectively.
        | OtLayoutBaselineTagTIdeoFaceTopOrRight
        -- ^ Ideographic character face top or right edge,
        -- if the direction is horizontal or vertical, respectively.
        | OtLayoutBaselineTagTIdeoEmboxBottomOrLeft
        -- ^ Ideographic em-box bottom or left edge,
        -- if the direction is horizontal or vertical, respectively.
        | OtLayoutBaselineTagTIdeoEmboxTopOrRight
        -- ^ Ideographic em-box top or right edge baseline,
        -- if the direction is horizontal or vertical, respectively.
        | OtLayoutBaselineTagTMath
        -- ^ The baseline about which mathematical characters are centered.
        -- In vertical writing mode when mathematical characters rotated 90 degrees clockwise, are centered.
        | AnotherOtLayoutBaselineTagT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> OtLayoutBaselineTagT -> ShowS
    [OtLayoutBaselineTagT] -> ShowS
    OtLayoutBaselineTagT -> String
    (Int -> OtLayoutBaselineTagT -> ShowS)
    -> (OtLayoutBaselineTagT -> String)
    -> ([OtLayoutBaselineTagT] -> ShowS)
    -> Show OtLayoutBaselineTagT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [OtLayoutBaselineTagT] -> ShowS
    $cshowList :: [OtLayoutBaselineTagT] -> ShowS
    show :: OtLayoutBaselineTagT -> String
    $cshow :: OtLayoutBaselineTagT -> String
    showsPrec :: Int -> OtLayoutBaselineTagT -> ShowS
    $cshowsPrec :: Int -> OtLayoutBaselineTagT -> ShowS
    Show, OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
    (OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool)
    -> (OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool)
    -> Eq OtLayoutBaselineTagT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
    $c/= :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
    == :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
    $c== :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
    Eq)

    instance P.Enum OtLayoutBaselineTagT where
        fromEnum :: OtLayoutBaselineTagT -> Int
    fromEnum OtLayoutBaselineTagTRoman = 1919905134
        fromEnum OtLayoutBaselineTagTHanging = 1751215719
        fromEnum OtLayoutBaselineTagTIdeoFaceBottomOrLeft = 1768121954
        fromEnum OtLayoutBaselineTagTIdeoFaceTopOrRight = 1768121972
        fromEnum OtLayoutBaselineTagTIdeoEmboxBottomOrLeft = 1768187247
        fromEnum OtLayoutBaselineTagTIdeoEmboxTopOrRight = 1768191088
        fromEnum OtLayoutBaselineTagTMath = 1835103336
        fromEnum (AnotherOtLayoutBaselineTagT k :: Int
    k) = Int
    k

        toEnum :: Int -> OtLayoutBaselineTagT
    toEnum 1919905134 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTRoman
        toEnum 1751215719 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTHanging
        toEnum 1768121954 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTIdeoFaceBottomOrLeft
        toEnum 1768121972 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTIdeoFaceTopOrRight
        toEnum 1768187247 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTIdeoEmboxBottomOrLeft
        toEnum 1768191088 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTIdeoEmboxTopOrRight
        toEnum 1835103336 = OtLayoutBaselineTagT
    OtLayoutBaselineTagTMath
        toEnum k :: Int
    k = Int -> OtLayoutBaselineTagT
    AnotherOtLayoutBaselineTagT Int
    k

    instance P.Ord OtLayoutBaselineTagT where
        compare :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Ordering
    compare a :: OtLayoutBaselineTagT
    a b :: OtLayoutBaselineTagT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (OtLayoutBaselineTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtLayoutBaselineTagT
    a) (OtLayoutBaselineTagT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum OtLayoutBaselineTagT
    b)

    type instance O.ParentTypes OtLayoutBaselineTagT = '[]
    instance O.HasParentTypes OtLayoutBaselineTagT

    foreign import ccall "hb_gobject_ot_layout_baseline_tag_get_type" c_hb_gobject_ot_layout_baseline_tag_get_type ::
        IO GType

    instance B.Types.TypedObject OtLayoutBaselineTagT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_ot_layout_baseline_tag_get_type

    instance B.Types.BoxedEnum OtLayoutBaselineTagT

    -- Enum memory_mode_t
    -- | /No description available in the introspection data./
    data MemoryModeT =
          MemoryModeTDuplicate
        -- ^ /No description available in the introspection data./
        | MemoryModeTReadonly
        -- ^ /No description available in the introspection data./
        | MemoryModeTWritable
        -- ^ /No description available in the introspection data./
        | MemoryModeTReadonlyMayMakeWritable
        -- ^ /No description available in the introspection data./
        | AnotherMemoryModeT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> MemoryModeT -> ShowS
    [MemoryModeT] -> ShowS
    MemoryModeT -> String
    (Int -> MemoryModeT -> ShowS)
    -> (MemoryModeT -> String)
    -> ([MemoryModeT] -> ShowS)
    -> Show MemoryModeT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [MemoryModeT] -> ShowS
    $cshowList :: [MemoryModeT] -> ShowS
    show :: MemoryModeT -> String
    $cshow :: MemoryModeT -> String
    showsPrec :: Int -> MemoryModeT -> ShowS
    $cshowsPrec :: Int -> MemoryModeT -> ShowS
    Show, MemoryModeT -> MemoryModeT -> Bool
    (MemoryModeT -> MemoryModeT -> Bool)
    -> (MemoryModeT -> MemoryModeT -> Bool) -> Eq MemoryModeT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: MemoryModeT -> MemoryModeT -> Bool
    $c/= :: MemoryModeT -> MemoryModeT -> Bool
    == :: MemoryModeT -> MemoryModeT -> Bool
    $c== :: MemoryModeT -> MemoryModeT -> Bool
    Eq)

    instance P.Enum MemoryModeT where
        fromEnum :: MemoryModeT -> Int
    fromEnum MemoryModeTDuplicate = 0
        fromEnum MemoryModeTReadonly = 1
        fromEnum MemoryModeTWritable = 2
        fromEnum MemoryModeTReadonlyMayMakeWritable = 3
        fromEnum (AnotherMemoryModeT k :: Int
    k) = Int
    k

        toEnum :: Int -> MemoryModeT
    toEnum 0 = MemoryModeT
    MemoryModeTDuplicate
        toEnum 1 = MemoryModeT
    MemoryModeTReadonly
        toEnum 2 = MemoryModeT
    MemoryModeTWritable
        toEnum 3 = MemoryModeT
    MemoryModeTReadonlyMayMakeWritable
        toEnum k :: Int
    k = Int -> MemoryModeT
    AnotherMemoryModeT Int
    k

    instance P.Ord MemoryModeT where
        compare :: MemoryModeT -> MemoryModeT -> Ordering
    compare a :: MemoryModeT
    a b :: MemoryModeT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (MemoryModeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum MemoryModeT
    a) (MemoryModeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum MemoryModeT
    b)

    type instance O.ParentTypes MemoryModeT = '[]
    instance O.HasParentTypes MemoryModeT

    foreign import ccall "hb_gobject_memory_mode_get_type" c_hb_gobject_memory_mode_get_type ::
        IO GType

    instance B.Types.TypedObject MemoryModeT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_memory_mode_get_type

    instance B.Types.BoxedEnum MemoryModeT

    -- Enum direction_t
    -- | /No description available in the introspection data./
    data DirectionT =
          DirectionTInvalid
        -- ^ Initial, unset direction.
        | DirectionTLtr
        -- ^ Text is set horizontally from left to right.
        | DirectionTRtl
        -- ^ Text is set horizontally from right to left.
        | DirectionTTtb
        -- ^ Text is set vertically from top to bottom.
        | DirectionTBtt
        -- ^ Text is set vertically from bottom to top.
        | AnotherDirectionT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> DirectionT -> ShowS
    [DirectionT] -> ShowS
    DirectionT -> String
    (Int -> DirectionT -> ShowS)
    -> (DirectionT -> String)
    -> ([DirectionT] -> ShowS)
    -> Show DirectionT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [DirectionT] -> ShowS
    $cshowList :: [DirectionT] -> ShowS
    show :: DirectionT -> String
    $cshow :: DirectionT -> String
    showsPrec :: Int -> DirectionT -> ShowS
    $cshowsPrec :: Int -> DirectionT -> ShowS
    Show, DirectionT -> DirectionT -> Bool
    (DirectionT -> DirectionT -> Bool)
    -> (DirectionT -> DirectionT -> Bool) -> Eq DirectionT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: DirectionT -> DirectionT -> Bool
    $c/= :: DirectionT -> DirectionT -> Bool
    == :: DirectionT -> DirectionT -> Bool
    $c== :: DirectionT -> DirectionT -> Bool
    Eq)

    instance P.Enum DirectionT where
        fromEnum :: DirectionT -> Int
    fromEnum DirectionTInvalid = 0
        fromEnum DirectionTLtr = 4
        fromEnum DirectionTRtl = 5
        fromEnum DirectionTTtb = 6
        fromEnum DirectionTBtt = 7
        fromEnum (AnotherDirectionT k :: Int
    k) = Int
    k

        toEnum :: Int -> DirectionT
    toEnum 0 = DirectionT
    DirectionTInvalid
        toEnum 4 = DirectionT
    DirectionTLtr
        toEnum 5 = DirectionT
    DirectionTRtl
        toEnum 6 = DirectionT
    DirectionTTtb
        toEnum 7 = DirectionT
    DirectionTBtt
        toEnum k :: Int
    k = Int -> DirectionT
    AnotherDirectionT Int
    k

    instance P.Ord DirectionT where
        compare :: DirectionT -> DirectionT -> Ordering
    compare a :: DirectionT
    a b :: DirectionT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (DirectionT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum DirectionT
    a) (DirectionT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum DirectionT
    b)

    type instance O.ParentTypes DirectionT = '[]
    instance O.HasParentTypes DirectionT

    foreign import ccall "hb_gobject_direction_get_type" c_hb_gobject_direction_get_type ::
        IO GType

    instance B.Types.TypedObject DirectionT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_direction_get_type

    instance B.Types.BoxedEnum DirectionT

    -- Enum buffer_serialize_format_t
    -- | The buffer serialization and de-serialization format used in
    -- 'GI.HarfBuzz.Functions.bufferSerializeGlyphs' and 'GI.HarfBuzz.Functions.bufferDeserializeGlyphs'.
    --
    -- /Since: 0.9.2/
    data BufferSerializeFormatT =
          BufferSerializeFormatTText
        -- ^ a human-readable, plain text format.
        | BufferSerializeFormatTJson
        -- ^ a machine-readable JSON format.
        | BufferSerializeFormatTInvalid
        -- ^ invalid format.
        | AnotherBufferSerializeFormatT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> BufferSerializeFormatT -> ShowS
    [BufferSerializeFormatT] -> ShowS
    BufferSerializeFormatT -> String
    (Int -> BufferSerializeFormatT -> ShowS)
    -> (BufferSerializeFormatT -> String)
    -> ([BufferSerializeFormatT] -> ShowS)
    -> Show BufferSerializeFormatT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [BufferSerializeFormatT] -> ShowS
    $cshowList :: [BufferSerializeFormatT] -> ShowS
    show :: BufferSerializeFormatT -> String
    $cshow :: BufferSerializeFormatT -> String
    showsPrec :: Int -> BufferSerializeFormatT -> ShowS
    $cshowsPrec :: Int -> BufferSerializeFormatT -> ShowS
    Show, BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
    (BufferSerializeFormatT -> BufferSerializeFormatT -> Bool)
    -> (BufferSerializeFormatT -> BufferSerializeFormatT -> Bool)
    -> Eq BufferSerializeFormatT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
    $c/= :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
    == :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
    $c== :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
    Eq)

    instance P.Enum BufferSerializeFormatT where
        fromEnum :: BufferSerializeFormatT -> Int
    fromEnum BufferSerializeFormatTText = 1413830740
        fromEnum BufferSerializeFormatTJson = 1246973774
        fromEnum BufferSerializeFormatTInvalid = 0
        fromEnum (AnotherBufferSerializeFormatT k :: Int
    k) = Int
    k

        toEnum :: Int -> BufferSerializeFormatT
    toEnum 1413830740 = BufferSerializeFormatT
    BufferSerializeFormatTText
        toEnum 1246973774 = BufferSerializeFormatT
    BufferSerializeFormatTJson
        toEnum 0 = BufferSerializeFormatT
    BufferSerializeFormatTInvalid
        toEnum k :: Int
    k = Int -> BufferSerializeFormatT
    AnotherBufferSerializeFormatT Int
    k

    instance P.Ord BufferSerializeFormatT where
        compare :: BufferSerializeFormatT -> BufferSerializeFormatT -> Ordering
    compare a :: BufferSerializeFormatT
    a b :: BufferSerializeFormatT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (BufferSerializeFormatT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferSerializeFormatT
    a) (BufferSerializeFormatT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferSerializeFormatT
    b)

    type instance O.ParentTypes BufferSerializeFormatT = '[]
    instance O.HasParentTypes BufferSerializeFormatT

    foreign import ccall "hb_gobject_buffer_serialize_format_get_type" c_hb_gobject_buffer_serialize_format_get_type ::
        IO GType

    instance B.Types.TypedObject BufferSerializeFormatT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_buffer_serialize_format_get_type

    instance B.Types.BoxedEnum BufferSerializeFormatT

    -- Enum buffer_content_type_t
    -- | /No description available in the introspection data./
    data BufferContentTypeT =
          BufferContentTypeTInvalid
        -- ^ Initial value for new buffer.
        | BufferContentTypeTUnicode
        -- ^ The buffer contains input characters (before shaping).
        | BufferContentTypeTGlyphs
        -- ^ The buffer contains output glyphs (after shaping).
        | AnotherBufferContentTypeT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> BufferContentTypeT -> ShowS
    [BufferContentTypeT] -> ShowS
    BufferContentTypeT -> String
    (Int -> BufferContentTypeT -> ShowS)
    -> (BufferContentTypeT -> String)
    -> ([BufferContentTypeT] -> ShowS)
    -> Show BufferContentTypeT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [BufferContentTypeT] -> ShowS
    $cshowList :: [BufferContentTypeT] -> ShowS
    show :: BufferContentTypeT -> String
    $cshow :: BufferContentTypeT -> String
    showsPrec :: Int -> BufferContentTypeT -> ShowS
    $cshowsPrec :: Int -> BufferContentTypeT -> ShowS
    Show, BufferContentTypeT -> BufferContentTypeT -> Bool
    (BufferContentTypeT -> BufferContentTypeT -> Bool)
    -> (BufferContentTypeT -> BufferContentTypeT -> Bool)
    -> Eq BufferContentTypeT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: BufferContentTypeT -> BufferContentTypeT -> Bool
    $c/= :: BufferContentTypeT -> BufferContentTypeT -> Bool
    == :: BufferContentTypeT -> BufferContentTypeT -> Bool
    $c== :: BufferContentTypeT -> BufferContentTypeT -> Bool
    Eq)

    instance P.Enum BufferContentTypeT where
        fromEnum :: BufferContentTypeT -> Int
    fromEnum BufferContentTypeTInvalid = 0
        fromEnum BufferContentTypeTUnicode = 1
        fromEnum BufferContentTypeTGlyphs = 2
        fromEnum (AnotherBufferContentTypeT k :: Int
    k) = Int
    k

        toEnum :: Int -> BufferContentTypeT
    toEnum 0 = BufferContentTypeT
    BufferContentTypeTInvalid
        toEnum 1 = BufferContentTypeT
    BufferContentTypeTUnicode
        toEnum 2 = BufferContentTypeT
    BufferContentTypeTGlyphs
        toEnum k :: Int
    k = Int -> BufferContentTypeT
    AnotherBufferContentTypeT Int
    k

    instance P.Ord BufferContentTypeT where
        compare :: BufferContentTypeT -> BufferContentTypeT -> Ordering
    compare a :: BufferContentTypeT
    a b :: BufferContentTypeT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (BufferContentTypeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferContentTypeT
    a) (BufferContentTypeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferContentTypeT
    b)

    type instance O.ParentTypes BufferContentTypeT = '[]
    instance O.HasParentTypes BufferContentTypeT

    foreign import ccall "hb_gobject_buffer_content_type_get_type" c_hb_gobject_buffer_content_type_get_type ::
        IO GType

    instance B.Types.TypedObject BufferContentTypeT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_buffer_content_type_get_type

    instance B.Types.BoxedEnum BufferContentTypeT

    -- Enum buffer_cluster_level_t
    -- | /No description available in the introspection data./
    --
    -- /Since: 0.9.42/
    data BufferClusterLevelT =
          BufferClusterLevelTMonotoneGraphemes
        -- ^ Return cluster values grouped by graphemes into
        --   monotone order.
        | BufferClusterLevelTMonotoneCharacters
        -- ^ Return cluster values grouped into monotone order.
        | BufferClusterLevelTCharacters
        -- ^ Don\'t group cluster values.
        | BufferClusterLevelTDefault
        -- ^ Default cluster level,
        --   equal to /@hBBUFFERCLUSTERLEVELMONOTONEGRAPHEMES@/.
        | AnotherBufferClusterLevelT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> BufferClusterLevelT -> ShowS
    [BufferClusterLevelT] -> ShowS
    BufferClusterLevelT -> String
    (Int -> BufferClusterLevelT -> ShowS)
    -> (BufferClusterLevelT -> String)
    -> ([BufferClusterLevelT] -> ShowS)
    -> Show BufferClusterLevelT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [BufferClusterLevelT] -> ShowS
    $cshowList :: [BufferClusterLevelT] -> ShowS
    show :: BufferClusterLevelT -> String
    $cshow :: BufferClusterLevelT -> String
    showsPrec :: Int -> BufferClusterLevelT -> ShowS
    $cshowsPrec :: Int -> BufferClusterLevelT -> ShowS
    Show, BufferClusterLevelT -> BufferClusterLevelT -> Bool
    (BufferClusterLevelT -> BufferClusterLevelT -> Bool)
    -> (BufferClusterLevelT -> BufferClusterLevelT -> Bool)
    -> Eq BufferClusterLevelT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: BufferClusterLevelT -> BufferClusterLevelT -> Bool
    $c/= :: BufferClusterLevelT -> BufferClusterLevelT -> Bool
    == :: BufferClusterLevelT -> BufferClusterLevelT -> Bool
    $c== :: BufferClusterLevelT -> BufferClusterLevelT -> Bool
    Eq)

    instance P.Enum BufferClusterLevelT where
        fromEnum :: BufferClusterLevelT -> Int
    fromEnum BufferClusterLevelTMonotoneGraphemes = 0
        fromEnum BufferClusterLevelTMonotoneCharacters = 1
        fromEnum BufferClusterLevelTCharacters = 2
        fromEnum BufferClusterLevelTDefault = 0
        fromEnum (AnotherBufferClusterLevelT k :: Int
    k) = Int
    k

        toEnum :: Int -> BufferClusterLevelT
    toEnum 0 = BufferClusterLevelT
    BufferClusterLevelTMonotoneGraphemes
        toEnum 1 = BufferClusterLevelT
    BufferClusterLevelTMonotoneCharacters
        toEnum 2 = BufferClusterLevelT
    BufferClusterLevelTCharacters
        toEnum k :: Int
    k = Int -> BufferClusterLevelT
    AnotherBufferClusterLevelT Int
    k

    instance P.Ord BufferClusterLevelT where
        compare :: BufferClusterLevelT -> BufferClusterLevelT -> Ordering
    compare a :: BufferClusterLevelT
    a b :: BufferClusterLevelT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (BufferClusterLevelT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferClusterLevelT
    a) (BufferClusterLevelT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum BufferClusterLevelT
    b)

    type instance O.ParentTypes BufferClusterLevelT = '[]
    instance O.HasParentTypes BufferClusterLevelT

    foreign import ccall "hb_gobject_buffer_cluster_level_get_type" c_hb_gobject_buffer_cluster_level_get_type ::
        IO GType

    instance B.Types.TypedObject BufferClusterLevelT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_buffer_cluster_level_get_type

    instance B.Types.BoxedEnum BufferClusterLevelT

    -- Enum aat_layout_feature_type_t
    -- | /No description available in the introspection data./
    --
    -- /Since: 2.2.0/
    data AatLayoutFeatureTypeT =
          AatLayoutFeatureTypeTInvalid
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTAllTypographic
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTLigatures
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCurisveConnection
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTLetterCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTVerticalSubstitution
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTLinguisticRearrangement
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTNumberSpacing
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTSmartSwashType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTDiacriticsType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTVerticalPosition
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTFractions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTOverlappingCharactersType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTTypographicExtras
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTMathematicalExtras
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTOrnamentSetsType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCharacterAlternatives
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTDesignComplexityType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTStyleOptions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCharacterShape
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTNumberCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTTextSpacing
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTTransliteration
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTAnnotationType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTKanaSpacingType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTIdeographicSpacingType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTUnicodeDecompositionType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTRubyKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCjkSymbolAlternativesType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTIdeographicAlternativesType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCjkVerticalRomanPlacementType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTItalicCjkRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCaseSensitiveLayout
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTAlternateKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTStylisticAlternatives
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTContextualAlternatives
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTLowerCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTUpperCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTLanguageTagType
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureTypeTCjkRomanSpacingType
        -- ^ /No description available in the introspection data./
        | AnotherAatLayoutFeatureTypeT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> AatLayoutFeatureTypeT -> ShowS
    [AatLayoutFeatureTypeT] -> ShowS
    AatLayoutFeatureTypeT -> String
    (Int -> AatLayoutFeatureTypeT -> ShowS)
    -> (AatLayoutFeatureTypeT -> String)
    -> ([AatLayoutFeatureTypeT] -> ShowS)
    -> Show AatLayoutFeatureTypeT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [AatLayoutFeatureTypeT] -> ShowS
    $cshowList :: [AatLayoutFeatureTypeT] -> ShowS
    show :: AatLayoutFeatureTypeT -> String
    $cshow :: AatLayoutFeatureTypeT -> String
    showsPrec :: Int -> AatLayoutFeatureTypeT -> ShowS
    $cshowsPrec :: Int -> AatLayoutFeatureTypeT -> ShowS
    Show, AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
    (AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool)
    -> (AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool)
    -> Eq AatLayoutFeatureTypeT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
    $c/= :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
    == :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
    $c== :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
    Eq)

    instance P.Enum AatLayoutFeatureTypeT where
        fromEnum :: AatLayoutFeatureTypeT -> Int
    fromEnum AatLayoutFeatureTypeTInvalid = 65535
        fromEnum AatLayoutFeatureTypeTAllTypographic = 0
        fromEnum AatLayoutFeatureTypeTLigatures = 1
        fromEnum AatLayoutFeatureTypeTCurisveConnection = 2
        fromEnum AatLayoutFeatureTypeTLetterCase = 3
        fromEnum AatLayoutFeatureTypeTVerticalSubstitution = 4
        fromEnum AatLayoutFeatureTypeTLinguisticRearrangement = 5
        fromEnum AatLayoutFeatureTypeTNumberSpacing = 6
        fromEnum AatLayoutFeatureTypeTSmartSwashType = 8
        fromEnum AatLayoutFeatureTypeTDiacriticsType = 9
        fromEnum AatLayoutFeatureTypeTVerticalPosition = 10
        fromEnum AatLayoutFeatureTypeTFractions = 11
        fromEnum AatLayoutFeatureTypeTOverlappingCharactersType = 13
        fromEnum AatLayoutFeatureTypeTTypographicExtras = 14
        fromEnum AatLayoutFeatureTypeTMathematicalExtras = 15
        fromEnum AatLayoutFeatureTypeTOrnamentSetsType = 16
        fromEnum AatLayoutFeatureTypeTCharacterAlternatives = 17
        fromEnum AatLayoutFeatureTypeTDesignComplexityType = 18
        fromEnum AatLayoutFeatureTypeTStyleOptions = 19
        fromEnum AatLayoutFeatureTypeTCharacterShape = 20
        fromEnum AatLayoutFeatureTypeTNumberCase = 21
        fromEnum AatLayoutFeatureTypeTTextSpacing = 22
        fromEnum AatLayoutFeatureTypeTTransliteration = 23
        fromEnum AatLayoutFeatureTypeTAnnotationType = 24
        fromEnum AatLayoutFeatureTypeTKanaSpacingType = 25
        fromEnum AatLayoutFeatureTypeTIdeographicSpacingType = 26
        fromEnum AatLayoutFeatureTypeTUnicodeDecompositionType = 27
        fromEnum AatLayoutFeatureTypeTRubyKana = 28
        fromEnum AatLayoutFeatureTypeTCjkSymbolAlternativesType = 29
        fromEnum AatLayoutFeatureTypeTIdeographicAlternativesType = 30
        fromEnum AatLayoutFeatureTypeTCjkVerticalRomanPlacementType = 31
        fromEnum AatLayoutFeatureTypeTItalicCjkRoman = 32
        fromEnum AatLayoutFeatureTypeTCaseSensitiveLayout = 33
        fromEnum AatLayoutFeatureTypeTAlternateKana = 34
        fromEnum AatLayoutFeatureTypeTStylisticAlternatives = 35
        fromEnum AatLayoutFeatureTypeTContextualAlternatives = 36
        fromEnum AatLayoutFeatureTypeTLowerCase = 37
        fromEnum AatLayoutFeatureTypeTUpperCase = 38
        fromEnum AatLayoutFeatureTypeTLanguageTagType = 39
        fromEnum AatLayoutFeatureTypeTCjkRomanSpacingType = 103
        fromEnum (AnotherAatLayoutFeatureTypeT k :: Int
    k) = Int
    k

        toEnum :: Int -> AatLayoutFeatureTypeT
    toEnum 65535 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTInvalid
        toEnum 0 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTAllTypographic
        toEnum 1 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTLigatures
        toEnum 2 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCurisveConnection
        toEnum 3 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTLetterCase
        toEnum 4 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTVerticalSubstitution
        toEnum 5 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTLinguisticRearrangement
        toEnum 6 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTNumberSpacing
        toEnum 8 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTSmartSwashType
        toEnum 9 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTDiacriticsType
        toEnum 10 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTVerticalPosition
        toEnum 11 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTFractions
        toEnum 13 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTOverlappingCharactersType
        toEnum 14 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTTypographicExtras
        toEnum 15 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTMathematicalExtras
        toEnum 16 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTOrnamentSetsType
        toEnum 17 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCharacterAlternatives
        toEnum 18 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTDesignComplexityType
        toEnum 19 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTStyleOptions
        toEnum 20 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCharacterShape
        toEnum 21 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTNumberCase
        toEnum 22 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTTextSpacing
        toEnum 23 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTTransliteration
        toEnum 24 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTAnnotationType
        toEnum 25 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTKanaSpacingType
        toEnum 26 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTIdeographicSpacingType
        toEnum 27 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTUnicodeDecompositionType
        toEnum 28 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTRubyKana
        toEnum 29 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCjkSymbolAlternativesType
        toEnum 30 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTIdeographicAlternativesType
        toEnum 31 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCjkVerticalRomanPlacementType
        toEnum 32 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTItalicCjkRoman
        toEnum 33 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCaseSensitiveLayout
        toEnum 34 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTAlternateKana
        toEnum 35 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTStylisticAlternatives
        toEnum 36 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTContextualAlternatives
        toEnum 37 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTLowerCase
        toEnum 38 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTUpperCase
        toEnum 39 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTLanguageTagType
        toEnum 103 = AatLayoutFeatureTypeT
    AatLayoutFeatureTypeTCjkRomanSpacingType
        toEnum k :: Int
    k = Int -> AatLayoutFeatureTypeT
    AnotherAatLayoutFeatureTypeT Int
    k

    instance P.Ord AatLayoutFeatureTypeT where
        compare :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Ordering
    compare a :: AatLayoutFeatureTypeT
    a b :: AatLayoutFeatureTypeT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (AatLayoutFeatureTypeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum AatLayoutFeatureTypeT
    a) (AatLayoutFeatureTypeT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum AatLayoutFeatureTypeT
    b)

    type instance O.ParentTypes AatLayoutFeatureTypeT = '[]
    instance O.HasParentTypes AatLayoutFeatureTypeT

    foreign import ccall "hb_gobject_aat_layout_feature_type_get_type" c_hb_gobject_aat_layout_feature_type_get_type ::
        IO GType

    instance B.Types.TypedObject AatLayoutFeatureTypeT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_aat_layout_feature_type_get_type

    instance B.Types.BoxedEnum AatLayoutFeatureTypeT

    -- Enum aat_layout_feature_selector_t
    -- | /No description available in the introspection data./
    --
    -- /Since: 2.2.0/
    data AatLayoutFeatureSelectorT =
          AatLayoutFeatureSelectorTInvalid
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAllTypeFeaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAllTypeFeaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRequiredLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRequiredLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCommonLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCommonLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRareLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRareLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLogosOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLogosOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRebusPicturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRebusPicturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDiphthongLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDiphthongLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSquaredLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSquaredLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSymbolLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSymbolLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHistoricalLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHistoricalLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTUnconnected
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPartiallyConnected
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCursive
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTUpperAndLowerCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAllCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAllLowerCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSmallCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInitialCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInitialCapsAndSmallCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSubstituteVerticalFormsOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSubstituteVerticalFormsOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLinguisticRearrangementOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLinguisticRearrangementOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTMonospacedNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTProportionalNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTThirdWidthNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTQuarterWidthNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTWordInitialSwashesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTWordInitialSwashesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTWordFinalSwashesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTWordFinalSwashesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLineInitialSwashesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLineInitialSwashesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLineFinalSwashesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLineFinalSwashesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNonFinalSwashesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNonFinalSwashesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTShowDiacritics
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHideDiacritics
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDecomposeDiacritics
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNormalPosition
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSuperiors
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInferiors
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTOrdinals
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTScientificInferiors
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoFractions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTVerticalFractions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDiagonalFractions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPreventOverlapOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPreventOverlapOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphensToEmDashOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphensToEmDashOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphenToEnDashOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphenToEnDashOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSlashedZeroOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSlashedZeroOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFormInterrobangOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFormInterrobangOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSmartQuotesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSmartQuotesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPeriodsToEllipsisOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPeriodsToEllipsisOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphenToMinusOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHyphenToMinusOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAsteriskToMultiplyOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAsteriskToMultiplyOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSlashToDivideOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSlashToDivideOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInequalityLigaturesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInequalityLigaturesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTExponentsOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTExponentsOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTMathematicalGreekOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTMathematicalGreekOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoOrnaments
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDingbats
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPiCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFleurons
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDecorativeBorders
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInternationalSymbols
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTMathSymbols
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoAlternates
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDesignLevel1
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDesignLevel2
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDesignLevel3
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDesignLevel4
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDesignLevel5
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoStyleOptions
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDisplayText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTEngravedText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIlluminatedCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTitlingCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTallCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSimplifiedCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTJis1978Characters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTJis1983Characters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTJis1990Characters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalAltOne
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalAltTwo
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalAltThree
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalAltFour
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalAltFive
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTExpertCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTJis2004Characters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHojoCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNlccharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTraditionalNamesCharacters
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLowerCaseNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTUpperCaseNumbers
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTProportionalText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTMonospacedText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHalfWidthText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTThirdWidthText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTQuarterWidthText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAltProportionalText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAltHalfWidthText
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoTransliteration
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHanjaToHangul
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHiraganaToKatakana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTKatakanaToHiragana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTKanaToRomanization
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRomanizationToHiragana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRomanizationToKatakana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHanjaToHangulAltOne
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHanjaToHangulAltTwo
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHanjaToHangulAltThree
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTBoxAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRoundedBoxAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCircleAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInvertedCircleAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTParenthesisAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTPeriodAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRomanNumeralAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDiamondAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInvertedBoxAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTInvertedRoundedBoxAnnotation
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFullWidthKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTProportionalKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFullWidthIdeographs
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTProportionalIdeographs
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHalfWidthIdeographs
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCanonicalCompositionOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCanonicalCompositionOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCompatibilityCompositionOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCompatibilityCompositionOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTranscodingCompositionOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTTranscodingCompositionOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoRubyKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRubyKana
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRubyKanaOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTRubyKanaOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoCjkSymbolAlternatives
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkSymbolAltOne
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkSymbolAltTwo
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkSymbolAltThree
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkSymbolAltFour
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkSymbolAltFive
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoIdeographicAlternatives
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIdeographicAltOne
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIdeographicAltTwo
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIdeographicAltThree
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIdeographicAltFour
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTIdeographicAltFive
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkVerticalRomanCentered
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkVerticalRomanHbaseline
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoCjkItalicRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkItalicRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkItalicRomanOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCjkItalicRomanOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCaseSensitiveLayoutOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCaseSensitiveLayoutOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCaseSensitiveSpacingOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTCaseSensitiveSpacingOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAlternateHorizKanaOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAlternateHorizKanaOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAlternateVertKanaOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTAlternateVertKanaOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTNoStylisticAlternates
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltOneOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltOneOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwoOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwoOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltThreeOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltThreeOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFourOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFourOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFiveOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFiveOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSixOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSixOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSevenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSevenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltEightOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltEightOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltNineOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltNineOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltElevenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltElevenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwelveOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwelveOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltThirteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltThirteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFourteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFourteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFifteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltFifteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSixteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSixteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSeventeenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltSeventeenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltEighteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltEighteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltNineteenOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltNineteenOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwentyOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTStylisticAltTwentyOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualAlternatesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualAlternatesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSwashAlternatesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTSwashAlternatesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualSwashAlternatesOn
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTContextualSwashAlternatesOff
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDefaultLowerCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLowerCaseSmallCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTLowerCasePetiteCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDefaultUpperCase
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTUpperCaseSmallCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTUpperCasePetiteCaps
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTHalfWidthCjkRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTProportionalCjkRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTDefaultCjkRoman
        -- ^ /No description available in the introspection data./
        | AatLayoutFeatureSelectorTFullWidthCjkRoman
        -- ^ /No description available in the introspection data./
        | AnotherAatLayoutFeatureSelectorT Int
        -- ^ Catch-all for unknown values
        deriving (Int -> AatLayoutFeatureSelectorT -> ShowS
    [AatLayoutFeatureSelectorT] -> ShowS
    AatLayoutFeatureSelectorT -> String
    (Int -> AatLayoutFeatureSelectorT -> ShowS)
    -> (AatLayoutFeatureSelectorT -> String)
    -> ([AatLayoutFeatureSelectorT] -> ShowS)
    -> Show AatLayoutFeatureSelectorT
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    showList :: [AatLayoutFeatureSelectorT] -> ShowS
    $cshowList :: [AatLayoutFeatureSelectorT] -> ShowS
    show :: AatLayoutFeatureSelectorT -> String
    $cshow :: AatLayoutFeatureSelectorT -> String
    showsPrec :: Int -> AatLayoutFeatureSelectorT -> ShowS
    $cshowsPrec :: Int -> AatLayoutFeatureSelectorT -> ShowS
    Show, AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
    (AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool)
    -> (AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool)
    -> Eq AatLayoutFeatureSelectorT
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    /= :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
    $c/= :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
    == :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
    $c== :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
    Eq)

    instance P.Enum AatLayoutFeatureSelectorT where
        fromEnum :: AatLayoutFeatureSelectorT -> Int
    fromEnum AatLayoutFeatureSelectorTInvalid = 65535
        fromEnum AatLayoutFeatureSelectorTAllTypeFeaturesOn = 0
        fromEnum AatLayoutFeatureSelectorTAllTypeFeaturesOff = 1
        fromEnum AatLayoutFeatureSelectorTRequiredLigaturesOn = 0
        fromEnum AatLayoutFeatureSelectorTRequiredLigaturesOff = 1
        fromEnum AatLayoutFeatureSelectorTCommonLigaturesOn = 2
        fromEnum AatLayoutFeatureSelectorTCommonLigaturesOff = 3
        fromEnum AatLayoutFeatureSelectorTRareLigaturesOn = 4
        fromEnum AatLayoutFeatureSelectorTRareLigaturesOff = 5
        fromEnum AatLayoutFeatureSelectorTLogosOn = 6
        fromEnum AatLayoutFeatureSelectorTLogosOff = 7
        fromEnum AatLayoutFeatureSelectorTRebusPicturesOn = 8
        fromEnum AatLayoutFeatureSelectorTRebusPicturesOff = 9
        fromEnum AatLayoutFeatureSelectorTDiphthongLigaturesOn = 10
        fromEnum AatLayoutFeatureSelectorTDiphthongLigaturesOff = 11
        fromEnum AatLayoutFeatureSelectorTSquaredLigaturesOn = 12
        fromEnum AatLayoutFeatureSelectorTSquaredLigaturesOff = 13
        fromEnum AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOn = 14
        fromEnum AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOff = 15
        fromEnum AatLayoutFeatureSelectorTSymbolLigaturesOn = 16
        fromEnum AatLayoutFeatureSelectorTSymbolLigaturesOff = 17
        fromEnum AatLayoutFeatureSelectorTContextualLigaturesOn = 18
        fromEnum AatLayoutFeatureSelectorTContextualLigaturesOff = 19
        fromEnum AatLayoutFeatureSelectorTHistoricalLigaturesOn = 20
        fromEnum AatLayoutFeatureSelectorTHistoricalLigaturesOff = 21
        fromEnum AatLayoutFeatureSelectorTUnconnected = 0
        fromEnum AatLayoutFeatureSelectorTPartiallyConnected = 1
        fromEnum AatLayoutFeatureSelectorTCursive = 2
        fromEnum AatLayoutFeatureSelectorTUpperAndLowerCase = 0
        fromEnum AatLayoutFeatureSelectorTAllCaps = 1
        fromEnum AatLayoutFeatureSelectorTAllLowerCase = 2
        fromEnum AatLayoutFeatureSelectorTSmallCaps = 3
        fromEnum AatLayoutFeatureSelectorTInitialCaps = 4
        fromEnum AatLayoutFeatureSelectorTInitialCapsAndSmallCaps = 5
        fromEnum AatLayoutFeatureSelectorTSubstituteVerticalFormsOn = 0
        fromEnum AatLayoutFeatureSelectorTSubstituteVerticalFormsOff = 1
        fromEnum AatLayoutFeatureSelectorTLinguisticRearrangementOn = 0
        fromEnum AatLayoutFeatureSelectorTLinguisticRearrangementOff = 1
        fromEnum AatLayoutFeatureSelectorTMonospacedNumbers = 0
        fromEnum AatLayoutFeatureSelectorTProportionalNumbers = 1
        fromEnum AatLayoutFeatureSelectorTThirdWidthNumbers = 2
        fromEnum AatLayoutFeatureSelectorTQuarterWidthNumbers = 3
        fromEnum AatLayoutFeatureSelectorTWordInitialSwashesOn = 0
        fromEnum AatLayoutFeatureSelectorTWordInitialSwashesOff = 1
        fromEnum AatLayoutFeatureSelectorTWordFinalSwashesOn = 2
        fromEnum AatLayoutFeatureSelectorTWordFinalSwashesOff = 3
        fromEnum AatLayoutFeatureSelectorTLineInitialSwashesOn = 4
        fromEnum AatLayoutFeatureSelectorTLineInitialSwashesOff = 5
        fromEnum AatLayoutFeatureSelectorTLineFinalSwashesOn = 6
        fromEnum AatLayoutFeatureSelectorTLineFinalSwashesOff = 7
        fromEnum AatLayoutFeatureSelectorTNonFinalSwashesOn = 8
        fromEnum AatLayoutFeatureSelectorTNonFinalSwashesOff = 9
        fromEnum AatLayoutFeatureSelectorTShowDiacritics = 0
        fromEnum AatLayoutFeatureSelectorTHideDiacritics = 1
        fromEnum AatLayoutFeatureSelectorTDecomposeDiacritics = 2
        fromEnum AatLayoutFeatureSelectorTNormalPosition = 0
        fromEnum AatLayoutFeatureSelectorTSuperiors = 1
        fromEnum AatLayoutFeatureSelectorTInferiors = 2
        fromEnum AatLayoutFeatureSelectorTOrdinals = 3
        fromEnum AatLayoutFeatureSelectorTScientificInferiors = 4
        fromEnum AatLayoutFeatureSelectorTNoFractions = 0
        fromEnum AatLayoutFeatureSelectorTVerticalFractions = 1
        fromEnum AatLayoutFeatureSelectorTDiagonalFractions = 2
        fromEnum AatLayoutFeatureSelectorTPreventOverlapOn = 0
        fromEnum AatLayoutFeatureSelectorTPreventOverlapOff = 1
        fromEnum AatLayoutFeatureSelectorTHyphensToEmDashOn = 0
        fromEnum AatLayoutFeatureSelectorTHyphensToEmDashOff = 1
        fromEnum AatLayoutFeatureSelectorTHyphenToEnDashOn = 2
        fromEnum AatLayoutFeatureSelectorTHyphenToEnDashOff = 3
        fromEnum AatLayoutFeatureSelectorTSlashedZeroOn = 4
        fromEnum AatLayoutFeatureSelectorTSlashedZeroOff = 5
        fromEnum AatLayoutFeatureSelectorTFormInterrobangOn = 6
        fromEnum AatLayoutFeatureSelectorTFormInterrobangOff = 7
        fromEnum AatLayoutFeatureSelectorTSmartQuotesOn = 8
        fromEnum AatLayoutFeatureSelectorTSmartQuotesOff = 9
        fromEnum AatLayoutFeatureSelectorTPeriodsToEllipsisOn = 10
        fromEnum AatLayoutFeatureSelectorTPeriodsToEllipsisOff = 11
        fromEnum AatLayoutFeatureSelectorTHyphenToMinusOn = 0
        fromEnum AatLayoutFeatureSelectorTHyphenToMinusOff = 1
        fromEnum AatLayoutFeatureSelectorTAsteriskToMultiplyOn = 2
        fromEnum AatLayoutFeatureSelectorTAsteriskToMultiplyOff = 3
        fromEnum AatLayoutFeatureSelectorTSlashToDivideOn = 4
        fromEnum AatLayoutFeatureSelectorTSlashToDivideOff = 5
        fromEnum AatLayoutFeatureSelectorTInequalityLigaturesOn = 6
        fromEnum AatLayoutFeatureSelectorTInequalityLigaturesOff = 7
        fromEnum AatLayoutFeatureSelectorTExponentsOn = 8
        fromEnum AatLayoutFeatureSelectorTExponentsOff = 9
        fromEnum AatLayoutFeatureSelectorTMathematicalGreekOn = 10
        fromEnum AatLayoutFeatureSelectorTMathematicalGreekOff = 11
        fromEnum AatLayoutFeatureSelectorTNoOrnaments = 0
        fromEnum AatLayoutFeatureSelectorTDingbats = 1
        fromEnum AatLayoutFeatureSelectorTPiCharacters = 2
        fromEnum AatLayoutFeatureSelectorTFleurons = 3
        fromEnum AatLayoutFeatureSelectorTDecorativeBorders = 4
        fromEnum AatLayoutFeatureSelectorTInternationalSymbols = 5
        fromEnum AatLayoutFeatureSelectorTMathSymbols = 6
        fromEnum AatLayoutFeatureSelectorTNoAlternates = 0
        fromEnum AatLayoutFeatureSelectorTDesignLevel1 = 0
        fromEnum AatLayoutFeatureSelectorTDesignLevel2 = 1
        fromEnum AatLayoutFeatureSelectorTDesignLevel3 = 2
        fromEnum AatLayoutFeatureSelectorTDesignLevel4 = 3
        fromEnum AatLayoutFeatureSelectorTDesignLevel5 = 4
        fromEnum AatLayoutFeatureSelectorTNoStyleOptions = 0
        fromEnum AatLayoutFeatureSelectorTDisplayText = 1
        fromEnum AatLayoutFeatureSelectorTEngravedText = 2
        fromEnum AatLayoutFeatureSelectorTIlluminatedCaps = 3
        fromEnum AatLayoutFeatureSelectorTTitlingCaps = 4
        fromEnum AatLayoutFeatureSelectorTTallCaps = 5
        fromEnum AatLayoutFeatureSelectorTTraditionalCharacters = 0
        fromEnum AatLayoutFeatureSelectorTSimplifiedCharacters = 1
        fromEnum AatLayoutFeatureSelectorTJis1978Characters = 2
        fromEnum AatLayoutFeatureSelectorTJis1983Characters = 3
        fromEnum AatLayoutFeatureSelectorTJis1990Characters = 4
        fromEnum AatLayoutFeatureSelectorTTraditionalAltOne = 5
        fromEnum AatLayoutFeatureSelectorTTraditionalAltTwo = 6
        fromEnum AatLayoutFeatureSelectorTTraditionalAltThree = 7
        fromEnum AatLayoutFeatureSelectorTTraditionalAltFour = 8
        fromEnum AatLayoutFeatureSelectorTTraditionalAltFive = 9
        fromEnum AatLayoutFeatureSelectorTExpertCharacters = 10
        fromEnum AatLayoutFeatureSelectorTJis2004Characters = 11
        fromEnum AatLayoutFeatureSelectorTHojoCharacters = 12
        fromEnum AatLayoutFeatureSelectorTNlccharacters = 13
        fromEnum AatLayoutFeatureSelectorTTraditionalNamesCharacters = 14
        fromEnum AatLayoutFeatureSelectorTLowerCaseNumbers = 0
        fromEnum AatLayoutFeatureSelectorTUpperCaseNumbers = 1
        fromEnum AatLayoutFeatureSelectorTProportionalText = 0
        fromEnum AatLayoutFeatureSelectorTMonospacedText = 1
        fromEnum AatLayoutFeatureSelectorTHalfWidthText = 2
        fromEnum AatLayoutFeatureSelectorTThirdWidthText = 3
        fromEnum AatLayoutFeatureSelectorTQuarterWidthText = 4
        fromEnum AatLayoutFeatureSelectorTAltProportionalText = 5
        fromEnum AatLayoutFeatureSelectorTAltHalfWidthText = 6
        fromEnum AatLayoutFeatureSelectorTNoTransliteration = 0
        fromEnum AatLayoutFeatureSelectorTHanjaToHangul = 1
        fromEnum AatLayoutFeatureSelectorTHiraganaToKatakana = 2
        fromEnum AatLayoutFeatureSelectorTKatakanaToHiragana = 3
        fromEnum AatLayoutFeatureSelectorTKanaToRomanization = 4
        fromEnum AatLayoutFeatureSelectorTRomanizationToHiragana = 5
        fromEnum AatLayoutFeatureSelectorTRomanizationToKatakana = 6
        fromEnum AatLayoutFeatureSelectorTHanjaToHangulAltOne = 7
        fromEnum AatLayoutFeatureSelectorTHanjaToHangulAltTwo = 8
        fromEnum AatLayoutFeatureSelectorTHanjaToHangulAltThree = 9
        fromEnum AatLayoutFeatureSelectorTNoAnnotation = 0
        fromEnum AatLayoutFeatureSelectorTBoxAnnotation = 1
        fromEnum AatLayoutFeatureSelectorTRoundedBoxAnnotation = 2
        fromEnum AatLayoutFeatureSelectorTCircleAnnotation = 3
        fromEnum AatLayoutFeatureSelectorTInvertedCircleAnnotation = 4
        fromEnum AatLayoutFeatureSelectorTParenthesisAnnotation = 5
        fromEnum AatLayoutFeatureSelectorTPeriodAnnotation = 6
        fromEnum AatLayoutFeatureSelectorTRomanNumeralAnnotation = 7
        fromEnum AatLayoutFeatureSelectorTDiamondAnnotation = 8
        fromEnum AatLayoutFeatureSelectorTInvertedBoxAnnotation = 9
        fromEnum AatLayoutFeatureSelectorTInvertedRoundedBoxAnnotation = 10
        fromEnum AatLayoutFeatureSelectorTFullWidthKana = 0
        fromEnum AatLayoutFeatureSelectorTProportionalKana = 1
        fromEnum AatLayoutFeatureSelectorTFullWidthIdeographs = 0
        fromEnum AatLayoutFeatureSelectorTProportionalIdeographs = 1
        fromEnum AatLayoutFeatureSelectorTHalfWidthIdeographs = 2
        fromEnum AatLayoutFeatureSelectorTCanonicalCompositionOn = 0
        fromEnum AatLayoutFeatureSelectorTCanonicalCompositionOff = 1
        fromEnum AatLayoutFeatureSelectorTCompatibilityCompositionOn = 2
        fromEnum AatLayoutFeatureSelectorTCompatibilityCompositionOff = 3
        fromEnum AatLayoutFeatureSelectorTTranscodingCompositionOn = 4
        fromEnum AatLayoutFeatureSelectorTTranscodingCompositionOff = 5
        fromEnum AatLayoutFeatureSelectorTNoRubyKana = 0
        fromEnum AatLayoutFeatureSelectorTRubyKana = 1
        fromEnum AatLayoutFeatureSelectorTRubyKanaOn = 2
        fromEnum AatLayoutFeatureSelectorTRubyKanaOff = 3
        fromEnum AatLayoutFeatureSelectorTNoCjkSymbolAlternatives = 0
        fromEnum AatLayoutFeatureSelectorTCjkSymbolAltOne = 1
        fromEnum AatLayoutFeatureSelectorTCjkSymbolAltTwo = 2
        fromEnum AatLayoutFeatureSelectorTCjkSymbolAltThree = 3
        fromEnum AatLayoutFeatureSelectorTCjkSymbolAltFour = 4
        fromEnum AatLayoutFeatureSelectorTCjkSymbolAltFive = 5
        fromEnum AatLayoutFeatureSelectorTNoIdeographicAlternatives = 0
        fromEnum AatLayoutFeatureSelectorTIdeographicAltOne = 1
        fromEnum AatLayoutFeatureSelectorTIdeographicAltTwo = 2
        fromEnum AatLayoutFeatureSelectorTIdeographicAltThree = 3
        fromEnum AatLayoutFeatureSelectorTIdeographicAltFour = 4
        fromEnum AatLayoutFeatureSelectorTIdeographicAltFive = 5
        fromEnum AatLayoutFeatureSelectorTCjkVerticalRomanCentered = 0
        fromEnum AatLayoutFeatureSelectorTCjkVerticalRomanHbaseline = 1
        fromEnum AatLayoutFeatureSelectorTNoCjkItalicRoman = 0
        fromEnum AatLayoutFeatureSelectorTCjkItalicRoman = 1
        fromEnum AatLayoutFeatureSelectorTCjkItalicRomanOn = 2
        fromEnum AatLayoutFeatureSelectorTCjkItalicRomanOff = 3
        fromEnum AatLayoutFeatureSelectorTCaseSensitiveLayoutOn = 0
        fromEnum AatLayoutFeatureSelectorTCaseSensitiveLayoutOff = 1
        fromEnum AatLayoutFeatureSelectorTCaseSensitiveSpacingOn = 2
        fromEnum AatLayoutFeatureSelectorTCaseSensitiveSpacingOff = 3
        fromEnum AatLayoutFeatureSelectorTAlternateHorizKanaOn = 0
        fromEnum AatLayoutFeatureSelectorTAlternateHorizKanaOff = 1
        fromEnum AatLayoutFeatureSelectorTAlternateVertKanaOn = 2
        fromEnum AatLayoutFeatureSelectorTAlternateVertKanaOff = 3
        fromEnum AatLayoutFeatureSelectorTNoStylisticAlternates = 0
        fromEnum AatLayoutFeatureSelectorTStylisticAltOneOn = 2
        fromEnum AatLayoutFeatureSelectorTStylisticAltOneOff = 3
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwoOn = 4
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwoOff = 5
        fromEnum AatLayoutFeatureSelectorTStylisticAltThreeOn = 6
        fromEnum AatLayoutFeatureSelectorTStylisticAltThreeOff = 7
        fromEnum AatLayoutFeatureSelectorTStylisticAltFourOn = 8
        fromEnum AatLayoutFeatureSelectorTStylisticAltFourOff = 9
        fromEnum AatLayoutFeatureSelectorTStylisticAltFiveOn = 10
        fromEnum AatLayoutFeatureSelectorTStylisticAltFiveOff = 11
        fromEnum AatLayoutFeatureSelectorTStylisticAltSixOn = 12
        fromEnum AatLayoutFeatureSelectorTStylisticAltSixOff = 13
        fromEnum AatLayoutFeatureSelectorTStylisticAltSevenOn = 14
        fromEnum AatLayoutFeatureSelectorTStylisticAltSevenOff = 15
        fromEnum AatLayoutFeatureSelectorTStylisticAltEightOn = 16
        fromEnum AatLayoutFeatureSelectorTStylisticAltEightOff = 17
        fromEnum AatLayoutFeatureSelectorTStylisticAltNineOn = 18
        fromEnum AatLayoutFeatureSelectorTStylisticAltNineOff = 19
        fromEnum AatLayoutFeatureSelectorTStylisticAltTenOn = 20
        fromEnum AatLayoutFeatureSelectorTStylisticAltTenOff = 21
        fromEnum AatLayoutFeatureSelectorTStylisticAltElevenOn = 22
        fromEnum AatLayoutFeatureSelectorTStylisticAltElevenOff = 23
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwelveOn = 24
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwelveOff = 25
        fromEnum AatLayoutFeatureSelectorTStylisticAltThirteenOn = 26
        fromEnum AatLayoutFeatureSelectorTStylisticAltThirteenOff = 27
        fromEnum AatLayoutFeatureSelectorTStylisticAltFourteenOn = 28
        fromEnum AatLayoutFeatureSelectorTStylisticAltFourteenOff = 29
        fromEnum AatLayoutFeatureSelectorTStylisticAltFifteenOn = 30
        fromEnum AatLayoutFeatureSelectorTStylisticAltFifteenOff = 31
        fromEnum AatLayoutFeatureSelectorTStylisticAltSixteenOn = 32
        fromEnum AatLayoutFeatureSelectorTStylisticAltSixteenOff = 33
        fromEnum AatLayoutFeatureSelectorTStylisticAltSeventeenOn = 34
        fromEnum AatLayoutFeatureSelectorTStylisticAltSeventeenOff = 35
        fromEnum AatLayoutFeatureSelectorTStylisticAltEighteenOn = 36
        fromEnum AatLayoutFeatureSelectorTStylisticAltEighteenOff = 37
        fromEnum AatLayoutFeatureSelectorTStylisticAltNineteenOn = 38
        fromEnum AatLayoutFeatureSelectorTStylisticAltNineteenOff = 39
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwentyOn = 40
        fromEnum AatLayoutFeatureSelectorTStylisticAltTwentyOff = 41
        fromEnum AatLayoutFeatureSelectorTContextualAlternatesOn = 0
        fromEnum AatLayoutFeatureSelectorTContextualAlternatesOff = 1
        fromEnum AatLayoutFeatureSelectorTSwashAlternatesOn = 2
        fromEnum AatLayoutFeatureSelectorTSwashAlternatesOff = 3
        fromEnum AatLayoutFeatureSelectorTContextualSwashAlternatesOn = 4
        fromEnum AatLayoutFeatureSelectorTContextualSwashAlternatesOff = 5
        fromEnum AatLayoutFeatureSelectorTDefaultLowerCase = 0
        fromEnum AatLayoutFeatureSelectorTLowerCaseSmallCaps = 1
        fromEnum AatLayoutFeatureSelectorTLowerCasePetiteCaps = 2
        fromEnum AatLayoutFeatureSelectorTDefaultUpperCase = 0
        fromEnum AatLayoutFeatureSelectorTUpperCaseSmallCaps = 1
        fromEnum AatLayoutFeatureSelectorTUpperCasePetiteCaps = 2
        fromEnum AatLayoutFeatureSelectorTHalfWidthCjkRoman = 0
        fromEnum AatLayoutFeatureSelectorTProportionalCjkRoman = 1
        fromEnum AatLayoutFeatureSelectorTDefaultCjkRoman = 2
        fromEnum AatLayoutFeatureSelectorTFullWidthCjkRoman = 3
        fromEnum (AnotherAatLayoutFeatureSelectorT k :: Int
    k) = Int
    k

        toEnum :: Int -> AatLayoutFeatureSelectorT
    toEnum 65535 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTInvalid
        toEnum 0 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTAllTypeFeaturesOn
        toEnum 1 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTAllTypeFeaturesOff
        toEnum 2 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTCommonLigaturesOn
        toEnum 3 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTCommonLigaturesOff
        toEnum 4 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTRareLigaturesOn
        toEnum 5 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTRareLigaturesOff
        toEnum 6 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTLogosOn
        toEnum 7 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTLogosOff
        toEnum 8 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTRebusPicturesOn
        toEnum 9 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTRebusPicturesOff
        toEnum 10 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTDiphthongLigaturesOn
        toEnum 11 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTDiphthongLigaturesOff
        toEnum 12 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTSquaredLigaturesOn
        toEnum 13 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTSquaredLigaturesOff
        toEnum 14 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOn
        toEnum 15 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTAbbrevSquaredLigaturesOff
        toEnum 16 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTSymbolLigaturesOn
        toEnum 17 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTSymbolLigaturesOff
        toEnum 18 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTContextualLigaturesOn
        toEnum 19 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTContextualLigaturesOff
        toEnum 20 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTHistoricalLigaturesOn
        toEnum 21 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTHistoricalLigaturesOff
        toEnum 22 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltElevenOn
        toEnum 23 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltElevenOff
        toEnum 24 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltTwelveOn
        toEnum 25 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltTwelveOff
        toEnum 26 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltThirteenOn
        toEnum 27 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltThirteenOff
        toEnum 28 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltFourteenOn
        toEnum 29 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltFourteenOff
        toEnum 30 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltFifteenOn
        toEnum 31 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltFifteenOff
        toEnum 32 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltSixteenOn
        toEnum 33 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltSixteenOff
        toEnum 34 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltSeventeenOn
        toEnum 35 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltSeventeenOff
        toEnum 36 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltEighteenOn
        toEnum 37 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltEighteenOff
        toEnum 38 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltNineteenOn
        toEnum 39 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltNineteenOff
        toEnum 40 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltTwentyOn
        toEnum 41 = AatLayoutFeatureSelectorT
    AatLayoutFeatureSelectorTStylisticAltTwentyOff
        toEnum k :: Int
    k = Int -> AatLayoutFeatureSelectorT
    AnotherAatLayoutFeatureSelectorT Int
    k

    instance P.Ord AatLayoutFeatureSelectorT where
        compare :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Ordering
    compare a :: AatLayoutFeatureSelectorT
    a b :: AatLayoutFeatureSelectorT
    b = Int -> Int -> Ordering
    forall a. Ord a => a -> a -> Ordering
    P.compare (AatLayoutFeatureSelectorT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum AatLayoutFeatureSelectorT
    a) (AatLayoutFeatureSelectorT -> Int
    forall a. Enum a => a -> Int
    P.fromEnum AatLayoutFeatureSelectorT
    b)

    type instance O.ParentTypes AatLayoutFeatureSelectorT = '[]
    instance O.HasParentTypes AatLayoutFeatureSelectorT

    foreign import ccall "hb_gobject_aat_layout_feature_selector_get_type" c_hb_gobject_aat_layout_feature_selector_get_type ::
        IO GType

    instance B.Types.TypedObject AatLayoutFeatureSelectorT where
        glibType :: IO GType
    glibType = IO GType
    c_hb_gobject_aat_layout_feature_selector_get_type

    instance B.Types.BoxedEnum AatLayoutFeatureSelectorT