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

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !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.Coerce as Coerce
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
import qualified GHC.Records as R


-- Enum unicode_general_category_t
-- | Data type for the \"General_Category\" (gc) property from
-- the Unicode Character Database.
data UnicodeGeneralCategoryT = 
      UnicodeGeneralCategoryTControl
    -- ^ [Cc]
    | UnicodeGeneralCategoryTFormat
    -- ^ [Cf]
    | UnicodeGeneralCategoryTUnassigned
    -- ^ [Cn]
    | UnicodeGeneralCategoryTPrivateUse
    -- ^ [Co]
    | UnicodeGeneralCategoryTSurrogate
    -- ^ [Cs]
    | UnicodeGeneralCategoryTLowercaseLetter
    -- ^ [Ll]
    | UnicodeGeneralCategoryTModifierLetter
    -- ^ [Lm]
    | UnicodeGeneralCategoryTOtherLetter
    -- ^ [Lo]
    | UnicodeGeneralCategoryTTitlecaseLetter
    -- ^ [Lt]
    | UnicodeGeneralCategoryTUppercaseLetter
    -- ^ [Lu]
    | UnicodeGeneralCategoryTSpacingMark
    -- ^ [Mc]
    | UnicodeGeneralCategoryTEnclosingMark
    -- ^ [Me]
    | UnicodeGeneralCategoryTNonSpacingMark
    -- ^ [Mn]
    | UnicodeGeneralCategoryTDecimalNumber
    -- ^ [Nd]
    | UnicodeGeneralCategoryTLetterNumber
    -- ^ [Nl]
    | UnicodeGeneralCategoryTOtherNumber
    -- ^ [No]
    | UnicodeGeneralCategoryTConnectPunctuation
    -- ^ [Pc]
    | UnicodeGeneralCategoryTDashPunctuation
    -- ^ [Pd]
    | UnicodeGeneralCategoryTClosePunctuation
    -- ^ [Pe]
    | UnicodeGeneralCategoryTFinalPunctuation
    -- ^ [Pf]
    | UnicodeGeneralCategoryTInitialPunctuation
    -- ^ [Pi]
    | UnicodeGeneralCategoryTOtherPunctuation
    -- ^ [Po]
    | UnicodeGeneralCategoryTOpenPunctuation
    -- ^ [Ps]
    | UnicodeGeneralCategoryTCurrencySymbol
    -- ^ [Sc]
    | UnicodeGeneralCategoryTModifierSymbol
    -- ^ [Sk]
    | UnicodeGeneralCategoryTMathSymbol
    -- ^ [Sm]
    | UnicodeGeneralCategoryTOtherSymbol
    -- ^ [So]
    | UnicodeGeneralCategoryTLineSeparator
    -- ^ [Zl]
    | UnicodeGeneralCategoryTParagraphSeparator
    -- ^ [Zp]
    | UnicodeGeneralCategoryTSpaceSeparator
    -- ^ [Zs]
    | 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 UnicodeGeneralCategoryT
UnicodeGeneralCategoryTControl = Int
0
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTFormat = Int
1
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTUnassigned = Int
2
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTPrivateUse = Int
3
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTSurrogate = Int
4
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTLowercaseLetter = Int
5
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTModifierLetter = Int
6
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTOtherLetter = Int
7
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTTitlecaseLetter = Int
8
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTUppercaseLetter = Int
9
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTSpacingMark = Int
10
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTEnclosingMark = Int
11
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTNonSpacingMark = Int
12
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTDecimalNumber = Int
13
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTLetterNumber = Int
14
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTOtherNumber = Int
15
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTConnectPunctuation = Int
16
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTDashPunctuation = Int
17
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTClosePunctuation = Int
18
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTFinalPunctuation = Int
19
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTInitialPunctuation = Int
20
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTOtherPunctuation = Int
21
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTOpenPunctuation = Int
22
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTCurrencySymbol = Int
23
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTModifierSymbol = Int
24
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTMathSymbol = Int
25
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTOtherSymbol = Int
26
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTLineSeparator = Int
27
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTParagraphSeparator = Int
28
    fromEnum UnicodeGeneralCategoryT
UnicodeGeneralCategoryTSpaceSeparator = Int
29
    fromEnum (AnotherUnicodeGeneralCategoryT Int
k) = Int
k

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

instance P.Ord UnicodeGeneralCategoryT where
    compare :: UnicodeGeneralCategoryT -> UnicodeGeneralCategoryT -> Ordering
compare UnicodeGeneralCategoryT
a 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
-- | Data type for the Canonical_Combining_Class (ccc) property
-- from the Unicode Character Database.
-- 
-- \<note>Note: newer versions of Unicode may add new values.
-- Client programs should be ready to handle any value in the 0..254 range
-- being returned from 'GI.HarfBuzz.Functions.unicodeCombiningClass'.\<\/note>
data UnicodeCombiningClassT = 
      UnicodeCombiningClassTNotReordered
    -- ^ Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing
    | UnicodeCombiningClassTOverlay
    -- ^ Marks which overlay a base letter or symbol
    | UnicodeCombiningClassTNukta
    -- ^ Diacritic nukta marks in Brahmi-derived scripts
    | UnicodeCombiningClassTKanaVoicing
    -- ^ Hiragana\/Katakana voicing marks
    | UnicodeCombiningClassTVirama
    -- ^ Viramas
    | UnicodeCombiningClassTCcc10
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc11
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc12
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc13
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc14
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc15
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc16
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc17
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc18
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc19
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc20
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc21
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc22
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc23
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc24
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc25
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc26
    -- ^ [Hebrew]
    | UnicodeCombiningClassTCcc27
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc28
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc29
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc30
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc31
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc32
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc33
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc34
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc35
    -- ^ [Arabic]
    | UnicodeCombiningClassTCcc36
    -- ^ [Syriac]
    | UnicodeCombiningClassTCcc84
    -- ^ [Telugu]
    | UnicodeCombiningClassTCcc91
    -- ^ [Telugu]
    | UnicodeCombiningClassTCcc103
    -- ^ [Thai]
    | UnicodeCombiningClassTCcc107
    -- ^ [Thai]
    | UnicodeCombiningClassTCcc118
    -- ^ [Lao]
    | UnicodeCombiningClassTCcc122
    -- ^ [Lao]
    | UnicodeCombiningClassTCcc129
    -- ^ [Tibetan]
    | UnicodeCombiningClassTCcc130
    -- ^ [Tibetan]
    | UnicodeCombiningClassTCcc133
    -- ^ [Tibetan]
    | UnicodeCombiningClassTAttachedBelowLeft
    -- ^ Marks attached at the bottom left
    | UnicodeCombiningClassTAttachedBelow
    -- ^ Marks attached directly below
    | UnicodeCombiningClassTAttachedAbove
    -- ^ Marks attached directly above
    | UnicodeCombiningClassTAttachedAboveRight
    -- ^ Marks attached at the top right
    | UnicodeCombiningClassTBelowLeft
    -- ^ Distinct marks at the bottom left
    | UnicodeCombiningClassTBelow
    -- ^ Distinct marks directly below
    | UnicodeCombiningClassTBelowRight
    -- ^ Distinct marks at the bottom right
    | UnicodeCombiningClassTLeft
    -- ^ Distinct marks to the left
    | UnicodeCombiningClassTRight
    -- ^ Distinct marks to the right
    | UnicodeCombiningClassTAboveLeft
    -- ^ Distinct marks at the top left
    | UnicodeCombiningClassTAbove
    -- ^ Distinct marks directly above
    | UnicodeCombiningClassTAboveRight
    -- ^ Distinct marks at the top right
    | UnicodeCombiningClassTDoubleBelow
    -- ^ Distinct marks subtending two bases
    | UnicodeCombiningClassTDoubleAbove
    -- ^ Distinct marks extending above two bases
    | UnicodeCombiningClassTIotaSubscript
    -- ^ Greek iota subscript only
    | UnicodeCombiningClassTInvalid
    -- ^ Invalid combining class
    | 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 UnicodeCombiningClassT
UnicodeCombiningClassTNotReordered = Int
0
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTOverlay = Int
1
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTNukta = Int
7
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTKanaVoicing = Int
8
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTVirama = Int
9
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc10 = Int
10
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc11 = Int
11
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc12 = Int
12
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc13 = Int
13
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc14 = Int
14
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc15 = Int
15
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc16 = Int
16
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc17 = Int
17
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc18 = Int
18
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc19 = Int
19
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc20 = Int
20
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc21 = Int
21
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc22 = Int
22
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc23 = Int
23
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc24 = Int
24
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc25 = Int
25
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc26 = Int
26
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc27 = Int
27
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc28 = Int
28
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc29 = Int
29
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc30 = Int
30
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc31 = Int
31
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc32 = Int
32
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc33 = Int
33
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc34 = Int
34
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc35 = Int
35
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc36 = Int
36
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc84 = Int
84
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc91 = Int
91
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc103 = Int
103
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc107 = Int
107
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc118 = Int
118
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc122 = Int
122
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc129 = Int
129
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc130 = Int
130
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTCcc133 = Int
132
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAttachedBelowLeft = Int
200
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAttachedBelow = Int
202
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAttachedAbove = Int
214
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAttachedAboveRight = Int
216
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTBelowLeft = Int
218
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTBelow = Int
220
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTBelowRight = Int
222
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTLeft = Int
224
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTRight = Int
226
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAboveLeft = Int
228
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAbove = Int
230
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTAboveRight = Int
232
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTDoubleBelow = Int
233
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTDoubleAbove = Int
234
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTIotaSubscript = Int
240
    fromEnum UnicodeCombiningClassT
UnicodeCombiningClassTInvalid = Int
255
    fromEnum (AnotherUnicodeCombiningClassT Int
k) = Int
k

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

instance P.Ord UnicodeCombiningClassT where
    compare :: UnicodeCombiningClassT -> UnicodeCombiningClassT -> Ordering
compare UnicodeCombiningClassT
a 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
-- | Data type for scripts. Each t'GI.HarfBuzz.Enums.ScriptT'\'s value is an @/hb_tag_t/@ corresponding
-- to the four-letter values defined by <https://unicode.org/iso15924/ ISO 15924>.
-- 
-- See also the Script (sc) property of the Unicode Character Database.
data ScriptT = 
      ScriptTCommon
    -- ^ @Zyyy@
    | ScriptTInherited
    -- ^ @Zinh@
    | ScriptTUnknown
    -- ^ @Zzzz@
    | ScriptTArabic
    -- ^ @Arab@
    | ScriptTArmenian
    -- ^ @Armn@
    | ScriptTBengali
    -- ^ @Beng@
    | ScriptTCyrillic
    -- ^ @Cyrl@
    | ScriptTDevanagari
    -- ^ @Deva@
    | ScriptTGeorgian
    -- ^ @Geor@
    | ScriptTGreek
    -- ^ @Grek@
    | ScriptTGujarati
    -- ^ @Gujr@
    | ScriptTGurmukhi
    -- ^ @Guru@
    | ScriptTHangul
    -- ^ @Hang@
    | ScriptTHan
    -- ^ @Hani@
    | ScriptTHebrew
    -- ^ @Hebr@
    | ScriptTHiragana
    -- ^ @Hira@
    | ScriptTKannada
    -- ^ @Knda@
    | ScriptTKatakana
    -- ^ @Kana@
    | ScriptTLao
    -- ^ @Laoo@
    | ScriptTLatin
    -- ^ @Latn@
    | ScriptTMalayalam
    -- ^ @Mlym@
    | ScriptTOriya
    -- ^ @Orya@
    | ScriptTTamil
    -- ^ @Taml@
    | ScriptTTelugu
    -- ^ @Telu@
    | ScriptTThai
    -- ^ @Thai@
    | ScriptTTibetan
    -- ^ @Tibt@
    | ScriptTBopomofo
    -- ^ @Bopo@
    | ScriptTBraille
    -- ^ @Brai@
    | ScriptTCanadianSyllabics
    -- ^ @Cans@
    | ScriptTCherokee
    -- ^ @Cher@
    | ScriptTEthiopic
    -- ^ @Ethi@
    | ScriptTKhmer
    -- ^ @Khmr@
    | ScriptTMongolian
    -- ^ @Mong@
    | ScriptTMyanmar
    -- ^ @Mymr@
    | ScriptTOgham
    -- ^ @Ogam@
    | ScriptTRunic
    -- ^ @Runr@
    | ScriptTSinhala
    -- ^ @Sinh@
    | ScriptTSyriac
    -- ^ @Syrc@
    | ScriptTThaana
    -- ^ @Thaa@
    | ScriptTYi
    -- ^ @Yiii@
    | ScriptTDeseret
    -- ^ @Dsrt@
    | ScriptTGothic
    -- ^ @Goth@
    | ScriptTOldItalic
    -- ^ @Ital@
    | ScriptTBuhid
    -- ^ @Buhd@
    | ScriptTHanunoo
    -- ^ @Hano@
    | ScriptTTagalog
    -- ^ @Tglg@
    | ScriptTTagbanwa
    -- ^ @Tagb@
    | ScriptTCypriot
    -- ^ @Cprt@
    | ScriptTLimbu
    -- ^ @Limb@
    | ScriptTLinearB
    -- ^ @Linb@
    | ScriptTOsmanya
    -- ^ @Osma@
    | ScriptTShavian
    -- ^ @Shaw@
    | ScriptTTaiLe
    -- ^ @Tale@
    | ScriptTUgaritic
    -- ^ @Ugar@
    | ScriptTBuginese
    -- ^ @Bugi@
    | ScriptTCoptic
    -- ^ @Copt@
    | ScriptTGlagolitic
    -- ^ @Glag@
    | ScriptTKharoshthi
    -- ^ @Khar@
    | ScriptTNewTaiLue
    -- ^ @Talu@
    | ScriptTOldPersian
    -- ^ @Xpeo@
    | ScriptTSylotiNagri
    -- ^ @Sylo@
    | ScriptTTifinagh
    -- ^ @Tfng@
    | ScriptTBalinese
    -- ^ @Bali@
    | ScriptTCuneiform
    -- ^ @Xsux@
    | ScriptTNko
    -- ^ @Nkoo@
    | ScriptTPhagsPa
    -- ^ @Phag@
    | ScriptTPhoenician
    -- ^ @Phnx@
    | ScriptTCarian
    -- ^ @Cari@
    | ScriptTCham
    -- ^ @Cham@
    | ScriptTKayahLi
    -- ^ @Kali@
    | ScriptTLepcha
    -- ^ @Lepc@
    | ScriptTLycian
    -- ^ @Lyci@
    | ScriptTLydian
    -- ^ @Lydi@
    | ScriptTOlChiki
    -- ^ @Olck@
    | ScriptTRejang
    -- ^ @Rjng@
    | ScriptTSaurashtra
    -- ^ @Saur@
    | ScriptTSundanese
    -- ^ @Sund@
    | ScriptTVai
    -- ^ @Vaii@
    | ScriptTAvestan
    -- ^ @Avst@
    | ScriptTBamum
    -- ^ @Bamu@
    | ScriptTEgyptianHieroglyphs
    -- ^ @Egyp@
    | ScriptTImperialAramaic
    -- ^ @Armi@
    | ScriptTInscriptionalPahlavi
    -- ^ @Phli@
    | ScriptTInscriptionalParthian
    -- ^ @Prti@
    | ScriptTJavanese
    -- ^ @Java@
    | ScriptTKaithi
    -- ^ @Kthi@
    | ScriptTLisu
    -- ^ @Lisu@
    | ScriptTMeeteiMayek
    -- ^ @Mtei@
    | ScriptTOldSouthArabian
    -- ^ @Sarb@
    | ScriptTOldTurkic
    -- ^ @Orkh@
    | ScriptTSamaritan
    -- ^ @Samr@
    | ScriptTTaiTham
    -- ^ @Lana@
    | ScriptTTaiViet
    -- ^ @Tavt@
    | ScriptTBatak
    -- ^ @Batk@
    | ScriptTBrahmi
    -- ^ @Brah@
    | ScriptTMandaic
    -- ^ @Mand@
    | ScriptTChakma
    -- ^ @Cakm@
    | ScriptTMeroiticCursive
    -- ^ @Merc@
    | ScriptTMeroiticHieroglyphs
    -- ^ @Mero@
    | ScriptTMiao
    -- ^ @Plrd@
    | ScriptTSharada
    -- ^ @Shrd@
    | ScriptTSoraSompeng
    -- ^ @Sora@
    | ScriptTTakri
    -- ^ @Takr@
    | ScriptTBassaVah
    -- ^ @Bass@, Since: 0.9.30
    | ScriptTCaucasianAlbanian
    -- ^ @Aghb@, Since: 0.9.30
    | ScriptTDuployan
    -- ^ @Dupl@, Since: 0.9.30
    | ScriptTElbasan
    -- ^ @Elba@, Since: 0.9.30
    | ScriptTGrantha
    -- ^ @Gran@, Since: 0.9.30
    | ScriptTKhojki
    -- ^ @Khoj@, Since: 0.9.30
    | ScriptTKhudawadi
    -- ^ @Sind@, Since: 0.9.30
    | ScriptTLinearA
    -- ^ @Lina@, Since: 0.9.30
    | ScriptTMahajani
    -- ^ @Mahj@, Since: 0.9.30
    | ScriptTManichaean
    -- ^ @Mani@, Since: 0.9.30
    | ScriptTMendeKikakui
    -- ^ @Mend@, Since: 0.9.30
    | ScriptTModi
    -- ^ @Modi@, Since: 0.9.30
    | ScriptTMro
    -- ^ @Mroo@, Since: 0.9.30
    | ScriptTNabataean
    -- ^ @Nbat@, Since: 0.9.30
    | ScriptTOldNorthArabian
    -- ^ @Narb@, Since: 0.9.30
    | ScriptTOldPermic
    -- ^ @Perm@, Since: 0.9.30
    | ScriptTPahawhHmong
    -- ^ @Hmng@, Since: 0.9.30
    | ScriptTPalmyrene
    -- ^ @Palm@, Since: 0.9.30
    | ScriptTPauCinHau
    -- ^ @Pauc@, Since: 0.9.30
    | ScriptTPsalterPahlavi
    -- ^ @Phlp@, Since: 0.9.30
    | ScriptTSiddham
    -- ^ @Sidd@, Since: 0.9.30
    | ScriptTTirhuta
    -- ^ @Tirh@, Since: 0.9.30
    | ScriptTWarangCiti
    -- ^ @Wara@, Since: 0.9.30
    | ScriptTAhom
    -- ^ @Ahom@, Since: 0.9.30
    | ScriptTAnatolianHieroglyphs
    -- ^ @Hluw@, Since: 0.9.30
    | ScriptTHatran
    -- ^ @Hatr@, Since: 0.9.30
    | ScriptTMultani
    -- ^ @Mult@, Since: 0.9.30
    | ScriptTOldHungarian
    -- ^ @Hung@, Since: 0.9.30
    | ScriptTSignwriting
    -- ^ @Sgnw@, Since: 0.9.30
    | ScriptTAdlam
    -- ^ @Adlm@, Since: 1.3.0
    | ScriptTBhaiksuki
    -- ^ @Bhks@, Since: 1.3.0
    | ScriptTMarchen
    -- ^ @Marc@, Since: 1.3.0
    | ScriptTOsage
    -- ^ @Osge@, Since: 1.3.0
    | ScriptTTangut
    -- ^ @Tang@, Since: 1.3.0
    | ScriptTNewa
    -- ^ @Newa@, Since: 1.3.0
    | ScriptTMasaramGondi
    -- ^ @Gonm@, Since: 1.6.0
    | ScriptTNushu
    -- ^ @Nshu@, Since: 1.6.0
    | ScriptTSoyombo
    -- ^ @Soyo@, Since: 1.6.0
    | ScriptTZanabazarSquare
    -- ^ @Zanb@, Since: 1.6.0
    | ScriptTDogra
    -- ^ @Dogr@, Since: 1.8.0
    | ScriptTGunjalaGondi
    -- ^ @Gong@, Since: 1.8.0
    | ScriptTHanifiRohingya
    -- ^ @Rohg@, Since: 1.8.0
    | ScriptTMakasar
    -- ^ @Maka@, Since: 1.8.0
    | ScriptTMedefaidrin
    -- ^ @Medf@, Since: 1.8.0
    | ScriptTOldSogdian
    -- ^ @Sogo@, Since: 1.8.0
    | ScriptTSogdian
    -- ^ @Sogd@, Since: 1.8.0
    | ScriptTElymaic
    -- ^ @Elym@, Since: 2.4.0
    | ScriptTNandinagari
    -- ^ @Nand@, Since: 2.4.0
    | ScriptTNyiakengPuachueHmong
    -- ^ @Hmnp@, Since: 2.4.0
    | ScriptTWancho
    -- ^ @Wcho@, Since: 2.4.0
    | ScriptTChorasmian
    -- ^ @Chrs@, Since: 2.6.7
    | ScriptTDivesAkuru
    -- ^ @Diak@, Since: 2.6.7
    | ScriptTKhitanSmallScript
    -- ^ @Kits@, Since: 2.6.7
    | ScriptTYezidi
    -- ^ @Yezi@, Since: 2.6.7
    | ScriptTInvalid
    -- ^ No script set
    | 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 ScriptT
ScriptTCommon = Int
1517910393
    fromEnum ScriptT
ScriptTInherited = Int
1516858984
    fromEnum ScriptT
ScriptTUnknown = Int
1517976186
    fromEnum ScriptT
ScriptTArabic = Int
1098015074
    fromEnum ScriptT
ScriptTArmenian = Int
1098018158
    fromEnum ScriptT
ScriptTBengali = Int
1113943655
    fromEnum ScriptT
ScriptTCyrillic = Int
1132032620
    fromEnum ScriptT
ScriptTDevanagari = Int
1147500129
    fromEnum ScriptT
ScriptTGeorgian = Int
1197830002
    fromEnum ScriptT
ScriptTGreek = Int
1198679403
    fromEnum ScriptT
ScriptTGujarati = Int
1198877298
    fromEnum ScriptT
ScriptTGurmukhi = Int
1198879349
    fromEnum ScriptT
ScriptTHangul = Int
1214344807
    fromEnum ScriptT
ScriptTHan = Int
1214344809
    fromEnum ScriptT
ScriptTHebrew = Int
1214603890
    fromEnum ScriptT
ScriptTHiragana = Int
1214870113
    fromEnum ScriptT
ScriptTKannada = Int
1265525857
    fromEnum ScriptT
ScriptTKatakana = Int
1264676449
    fromEnum ScriptT
ScriptTLao = Int
1281453935
    fromEnum ScriptT
ScriptTLatin = Int
1281455214
    fromEnum ScriptT
ScriptTMalayalam = Int
1298954605
    fromEnum ScriptT
ScriptTOriya = Int
1332902241
    fromEnum ScriptT
ScriptTTamil = Int
1415671148
    fromEnum ScriptT
ScriptTTelugu = Int
1415933045
    fromEnum ScriptT
ScriptTThai = Int
1416126825
    fromEnum ScriptT
ScriptTTibetan = Int
1416192628
    fromEnum ScriptT
ScriptTBopomofo = Int
1114599535
    fromEnum ScriptT
ScriptTBraille = Int
1114792297
    fromEnum ScriptT
ScriptTCanadianSyllabics = Int
1130458739
    fromEnum ScriptT
ScriptTCherokee = Int
1130915186
    fromEnum ScriptT
ScriptTEthiopic = Int
1165256809
    fromEnum ScriptT
ScriptTKhmer = Int
1265134962
    fromEnum ScriptT
ScriptTMongolian = Int
1299148391
    fromEnum ScriptT
ScriptTMyanmar = Int
1299803506
    fromEnum ScriptT
ScriptTOgham = Int
1332175213
    fromEnum ScriptT
ScriptTRunic = Int
1383427698
    fromEnum ScriptT
ScriptTSinhala = Int
1399418472
    fromEnum ScriptT
ScriptTSyriac = Int
1400468067
    fromEnum ScriptT
ScriptTThaana = Int
1416126817
    fromEnum ScriptT
ScriptTYi = Int
1500080489
    fromEnum ScriptT
ScriptTDeseret = Int
1148416628
    fromEnum ScriptT
ScriptTGothic = Int
1198486632
    fromEnum ScriptT
ScriptTOldItalic = Int
1232363884
    fromEnum ScriptT
ScriptTBuhid = Int
1114990692
    fromEnum ScriptT
ScriptTHanunoo = Int
1214344815
    fromEnum ScriptT
ScriptTTagalog = Int
1416064103
    fromEnum ScriptT
ScriptTTagbanwa = Int
1415669602
    fromEnum ScriptT
ScriptTCypriot = Int
1131442804
    fromEnum ScriptT
ScriptTLimbu = Int
1281977698
    fromEnum ScriptT
ScriptTLinearB = Int
1281977954
    fromEnum ScriptT
ScriptTOsmanya = Int
1332964705
    fromEnum ScriptT
ScriptTShavian = Int
1399349623
    fromEnum ScriptT
ScriptTTaiLe = Int
1415670885
    fromEnum ScriptT
ScriptTUgaritic = Int
1432838514
    fromEnum ScriptT
ScriptTBuginese = Int
1114990441
    fromEnum ScriptT
ScriptTCoptic = Int
1131376756
    fromEnum ScriptT
ScriptTGlagolitic = Int
1198285159
    fromEnum ScriptT
ScriptTKharoshthi = Int
1265131890
    fromEnum ScriptT
ScriptTNewTaiLue = Int
1415670901
    fromEnum ScriptT
ScriptTOldPersian = Int
1483761007
    fromEnum ScriptT
ScriptTSylotiNagri = Int
1400466543
    fromEnum ScriptT
ScriptTTifinagh = Int
1415999079
    fromEnum ScriptT
ScriptTBalinese = Int
1113681001
    fromEnum ScriptT
ScriptTCuneiform = Int
1483961720
    fromEnum ScriptT
ScriptTNko = Int
1315663727
    fromEnum ScriptT
ScriptTPhagsPa = Int
1349017959
    fromEnum ScriptT
ScriptTPhoenician = Int
1349021304
    fromEnum ScriptT
ScriptTCarian = Int
1130459753
    fromEnum ScriptT
ScriptTCham = Int
1130914157
    fromEnum ScriptT
ScriptTKayahLi = Int
1264675945
    fromEnum ScriptT
ScriptTLepcha = Int
1281716323
    fromEnum ScriptT
ScriptTLycian = Int
1283023721
    fromEnum ScriptT
ScriptTLydian = Int
1283023977
    fromEnum ScriptT
ScriptTOlChiki = Int
1332503403
    fromEnum ScriptT
ScriptTRejang = Int
1382706791
    fromEnum ScriptT
ScriptTSaurashtra = Int
1398895986
    fromEnum ScriptT
ScriptTSundanese = Int
1400204900
    fromEnum ScriptT
ScriptTVai = Int
1449224553
    fromEnum ScriptT
ScriptTAvestan = Int
1098281844
    fromEnum ScriptT
ScriptTBamum = Int
1113681269
    fromEnum ScriptT
ScriptTEgyptianHieroglyphs = Int
1164409200
    fromEnum ScriptT
ScriptTImperialAramaic = Int
1098018153
    fromEnum ScriptT
ScriptTInscriptionalPahlavi = Int
1349020777
    fromEnum ScriptT
ScriptTInscriptionalParthian = Int
1349678185
    fromEnum ScriptT
ScriptTJavanese = Int
1247901281
    fromEnum ScriptT
ScriptTKaithi = Int
1265920105
    fromEnum ScriptT
ScriptTLisu = Int
1281979253
    fromEnum ScriptT
ScriptTMeeteiMayek = Int
1299473769
    fromEnum ScriptT
ScriptTOldSouthArabian = Int
1398895202
    fromEnum ScriptT
ScriptTOldTurkic = Int
1332898664
    fromEnum ScriptT
ScriptTSamaritan = Int
1398893938
    fromEnum ScriptT
ScriptTTaiTham = Int
1281453665
    fromEnum ScriptT
ScriptTTaiViet = Int
1415673460
    fromEnum ScriptT
ScriptTBatak = Int
1113683051
    fromEnum ScriptT
ScriptTBrahmi = Int
1114792296
    fromEnum ScriptT
ScriptTMandaic = Int
1298230884
    fromEnum ScriptT
ScriptTChakma = Int
1130457965
    fromEnum ScriptT
ScriptTMeroiticCursive = Int
1298494051
    fromEnum ScriptT
ScriptTMeroiticHieroglyphs = Int
1298494063
    fromEnum ScriptT
ScriptTMiao = Int
1349284452
    fromEnum ScriptT
ScriptTSharada = Int
1399353956
    fromEnum ScriptT
ScriptTSoraSompeng = Int
1399812705
    fromEnum ScriptT
ScriptTTakri = Int
1415670642
    fromEnum ScriptT
ScriptTBassaVah = Int
1113682803
    fromEnum ScriptT
ScriptTCaucasianAlbanian = Int
1097295970
    fromEnum ScriptT
ScriptTDuployan = Int
1148547180
    fromEnum ScriptT
ScriptTElbasan = Int
1164730977
    fromEnum ScriptT
ScriptTGrantha = Int
1198678382
    fromEnum ScriptT
ScriptTKhojki = Int
1265135466
    fromEnum ScriptT
ScriptTKhudawadi = Int
1399418468
    fromEnum ScriptT
ScriptTLinearA = Int
1281977953
    fromEnum ScriptT
ScriptTMahajani = Int
1298229354
    fromEnum ScriptT
ScriptTManichaean = Int
1298230889
    fromEnum ScriptT
ScriptTMendeKikakui = Int
1298493028
    fromEnum ScriptT
ScriptTModi = Int
1299145833
    fromEnum ScriptT
ScriptTMro = Int
1299345263
    fromEnum ScriptT
ScriptTNabataean = Int
1315070324
    fromEnum ScriptT
ScriptTOldNorthArabian = Int
1315009122
    fromEnum ScriptT
ScriptTOldPermic = Int
1348825709
    fromEnum ScriptT
ScriptTPahawhHmong = Int
1215131239
    fromEnum ScriptT
ScriptTPalmyrene = Int
1348562029
    fromEnum ScriptT
ScriptTPauCinHau = Int
1348564323
    fromEnum ScriptT
ScriptTPsalterPahlavi = Int
1349020784
    fromEnum ScriptT
ScriptTSiddham = Int
1399415908
    fromEnum ScriptT
ScriptTTirhuta = Int
1416196712
    fromEnum ScriptT
ScriptTWarangCiti = Int
1466004065
    fromEnum ScriptT
ScriptTAhom = Int
1097363309
    fromEnum ScriptT
ScriptTAnatolianHieroglyphs = Int
1215067511
    fromEnum ScriptT
ScriptTHatran = Int
1214346354
    fromEnum ScriptT
ScriptTMultani = Int
1299541108
    fromEnum ScriptT
ScriptTOldHungarian = Int
1215655527
    fromEnum ScriptT
ScriptTSignwriting = Int
1399287415
    fromEnum ScriptT
ScriptTAdlam = Int
1097100397
    fromEnum ScriptT
ScriptTBhaiksuki = Int
1114139507
    fromEnum ScriptT
ScriptTMarchen = Int
1298231907
    fromEnum ScriptT
ScriptTOsage = Int
1332963173
    fromEnum ScriptT
ScriptTTangut = Int
1415671399
    fromEnum ScriptT
ScriptTNewa = Int
1315272545
    fromEnum ScriptT
ScriptTMasaramGondi = Int
1198485101
    fromEnum ScriptT
ScriptTNushu = Int
1316186229
    fromEnum ScriptT
ScriptTSoyombo = Int
1399814511
    fromEnum ScriptT
ScriptTZanabazarSquare = Int
1516334690
    fromEnum ScriptT
ScriptTDogra = Int
1148151666
    fromEnum ScriptT
ScriptTGunjalaGondi = Int
1198485095
    fromEnum ScriptT
ScriptTHanifiRohingya = Int
1383032935
    fromEnum ScriptT
ScriptTMakasar = Int
1298230113
    fromEnum ScriptT
ScriptTMedefaidrin = Int
1298490470
    fromEnum ScriptT
ScriptTOldSogdian = Int
1399809903
    fromEnum ScriptT
ScriptTSogdian = Int
1399809892
    fromEnum ScriptT
ScriptTElymaic = Int
1164736877
    fromEnum ScriptT
ScriptTNandinagari = Int
1315008100
    fromEnum ScriptT
ScriptTNyiakengPuachueHmong = Int
1215131248
    fromEnum ScriptT
ScriptTWancho = Int
1466132591
    fromEnum ScriptT
ScriptTChorasmian = Int
1130918515
    fromEnum ScriptT
ScriptTDivesAkuru = Int
1147756907
    fromEnum ScriptT
ScriptTKhitanSmallScript = Int
1265202291
    fromEnum ScriptT
ScriptTYezidi = Int
1499822697
    fromEnum ScriptT
ScriptTInvalid = Int
0
    fromEnum (AnotherScriptT Int
k) = Int
k

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

instance P.Ord ScriptT where
    compare :: ScriptT -> ScriptT -> Ordering
compare ScriptT
a 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
-- | Metric tags corresponding to <https://docs.microsoft.com/en-us/typography/opentype/spec/mvar#value-tags 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 OtMetricsTagT
OtMetricsTagTHorizontalAscender = Int
1751216995
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalDescender = Int
1751413603
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalLineGap = Int
1751934832
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalClippingAscent = Int
1751346273
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalClippingDescent = Int
1751346276
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalAscender = Int
1986098019
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalDescender = Int
1986294627
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalLineGap = Int
1986815856
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalCaretRise = Int
1751347827
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalCaretRun = Int
1751347822
    fromEnum OtMetricsTagT
OtMetricsTagTHorizontalCaretOffset = Int
1751347046
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalCaretRise = Int
1986228851
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalCaretRun = Int
1986228846
    fromEnum OtMetricsTagT
OtMetricsTagTVerticalCaretOffset = Int
1986228070
    fromEnum OtMetricsTagT
OtMetricsTagTXHeight = Int
2020108148
    fromEnum OtMetricsTagT
OtMetricsTagTCapHeight = Int
1668311156
    fromEnum OtMetricsTagT
OtMetricsTagTSubscriptEmXSize = Int
1935833203
    fromEnum OtMetricsTagT
OtMetricsTagTSubscriptEmYSize = Int
1935833459
    fromEnum OtMetricsTagT
OtMetricsTagTSubscriptEmXOffset = Int
1935833199
    fromEnum OtMetricsTagT
OtMetricsTagTSubscriptEmYOffset = Int
1935833455
    fromEnum OtMetricsTagT
OtMetricsTagTSuperscriptEmXSize = Int
1936750707
    fromEnum OtMetricsTagT
OtMetricsTagTSuperscriptEmYSize = Int
1936750963
    fromEnum OtMetricsTagT
OtMetricsTagTSuperscriptEmXOffset = Int
1936750703
    fromEnum OtMetricsTagT
OtMetricsTagTSuperscriptEmYOffset = Int
1936750959
    fromEnum OtMetricsTagT
OtMetricsTagTStrikeoutSize = Int
1937011315
    fromEnum OtMetricsTagT
OtMetricsTagTStrikeoutOffset = Int
1937011311
    fromEnum OtMetricsTagT
OtMetricsTagTUnderlineSize = Int
1970168947
    fromEnum OtMetricsTagT
OtMetricsTagTUnderlineOffset = Int
1970168943
    fromEnum (AnotherOtMetricsTagT Int
k) = Int
k

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

instance P.Ord OtMetricsTagT where
    compare :: OtMetricsTagT -> OtMetricsTagT -> Ordering
compare OtMetricsTagT
a 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 OtMetaTagT
OtMetaTagTDesignLanguages = Int
1684827751
    fromEnum OtMetaTagT
OtMetaTagTSupportedLanguages = Int
1936485991
    fromEnum (AnotherOtMetaTagT Int
k) = Int
k

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

instance P.Ord OtMetaTagT where
    compare :: OtMetaTagT -> OtMetaTagT -> Ordering
compare OtMetaTagT
a 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
    -- ^ The top right corner of the glyph.
    | OtMathKernTTopLeft
    -- ^ The top left corner of the glyph.
    | OtMathKernTBottomRight
    -- ^ The bottom right corner of the glyph.
    | OtMathKernTBottomLeft
    -- ^ The bottom left corner of the glyph.
    | 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 OtMathKernT
OtMathKernTTopRight = Int
0
    fromEnum OtMathKernT
OtMathKernTTopLeft = Int
1
    fromEnum OtMathKernT
OtMathKernTBottomRight = Int
2
    fromEnum OtMathKernT
OtMathKernTBottomLeft = Int
3
    fromEnum (AnotherOtMathKernT Int
k) = Int
k

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

instance P.Ord OtMathKernT where
    compare :: OtMathKernT -> OtMathKernT -> Ordering
compare OtMathKernT
a 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, refer to
-- <https://docs.microsoft.com/en-us/typography/opentype/spec/math#mathconstants-table OpenType documentation>
-- For more explanations.
-- 
-- /Since: 1.3.3/
data OtMathConstantT = 
      OtMathConstantTScriptPercentScaleDown
    -- ^ scriptPercentScaleDown
    | OtMathConstantTScriptScriptPercentScaleDown
    -- ^ scriptScriptPercentScaleDown
    | OtMathConstantTDelimitedSubFormulaMinHeight
    -- ^ delimitedSubFormulaMinHeight
    | OtMathConstantTDisplayOperatorMinHeight
    -- ^ displayOperatorMinHeight
    | OtMathConstantTMathLeading
    -- ^ mathLeading
    | OtMathConstantTAxisHeight
    -- ^ axisHeight
    | OtMathConstantTAccentBaseHeight
    -- ^ accentBaseHeight
    | OtMathConstantTFlattenedAccentBaseHeight
    -- ^ flattenedAccentBaseHeight
    | OtMathConstantTSubscriptShiftDown
    -- ^ subscriptShiftDown
    | OtMathConstantTSubscriptTopMax
    -- ^ subscriptTopMax
    | OtMathConstantTSubscriptBaselineDropMin
    -- ^ subscriptBaselineDropMin
    | OtMathConstantTSuperscriptShiftUp
    -- ^ superscriptShiftUp
    | OtMathConstantTSuperscriptShiftUpCramped
    -- ^ superscriptShiftUpCramped
    | OtMathConstantTSuperscriptBottomMin
    -- ^ superscriptBottomMin
    | OtMathConstantTSuperscriptBaselineDropMax
    -- ^ superscriptBaselineDropMax
    | OtMathConstantTSubSuperscriptGapMin
    -- ^ subSuperscriptGapMin
    | OtMathConstantTSuperscriptBottomMaxWithSubscript
    -- ^ superscriptBottomMaxWithSubscript
    | OtMathConstantTSpaceAfterScript
    -- ^ spaceAfterScript
    | OtMathConstantTUpperLimitGapMin
    -- ^ upperLimitGapMin
    | OtMathConstantTUpperLimitBaselineRiseMin
    -- ^ upperLimitBaselineRiseMin
    | OtMathConstantTLowerLimitGapMin
    -- ^ lowerLimitGapMin
    | OtMathConstantTLowerLimitBaselineDropMin
    -- ^ lowerLimitBaselineDropMin
    | OtMathConstantTStackTopShiftUp
    -- ^ stackTopShiftUp
    | OtMathConstantTStackTopDisplayStyleShiftUp
    -- ^ stackTopDisplayStyleShiftUp
    | OtMathConstantTStackBottomShiftDown
    -- ^ stackBottomShiftDown
    | OtMathConstantTStackBottomDisplayStyleShiftDown
    -- ^ stackBottomDisplayStyleShiftDown
    | OtMathConstantTStackGapMin
    -- ^ stackGapMin
    | OtMathConstantTStackDisplayStyleGapMin
    -- ^ stackDisplayStyleGapMin
    | OtMathConstantTStretchStackTopShiftUp
    -- ^ stretchStackTopShiftUp
    | OtMathConstantTStretchStackBottomShiftDown
    -- ^ stretchStackBottomShiftDown
    | OtMathConstantTStretchStackGapAboveMin
    -- ^ stretchStackGapAboveMin
    | OtMathConstantTStretchStackGapBelowMin
    -- ^ stretchStackGapBelowMin
    | OtMathConstantTFractionNumeratorShiftUp
    -- ^ fractionNumeratorShiftUp
    | OtMathConstantTFractionNumeratorDisplayStyleShiftUp
    -- ^ fractionNumeratorDisplayStyleShiftUp
    | OtMathConstantTFractionDenominatorShiftDown
    -- ^ fractionDenominatorShiftDown
    | OtMathConstantTFractionDenominatorDisplayStyleShiftDown
    -- ^ fractionDenominatorDisplayStyleShiftDown
    | OtMathConstantTFractionNumeratorGapMin
    -- ^ fractionNumeratorGapMin
    | OtMathConstantTFractionNumDisplayStyleGapMin
    -- ^ fractionNumDisplayStyleGapMin
    | OtMathConstantTFractionRuleThickness
    -- ^ fractionRuleThickness
    | OtMathConstantTFractionDenominatorGapMin
    -- ^ fractionDenominatorGapMin
    | OtMathConstantTFractionDenomDisplayStyleGapMin
    -- ^ fractionDenomDisplayStyleGapMin
    | OtMathConstantTSkewedFractionHorizontalGap
    -- ^ skewedFractionHorizontalGap
    | OtMathConstantTSkewedFractionVerticalGap
    -- ^ skewedFractionVerticalGap
    | OtMathConstantTOverbarVerticalGap
    -- ^ overbarVerticalGap
    | OtMathConstantTOverbarRuleThickness
    -- ^ overbarRuleThickness
    | OtMathConstantTOverbarExtraAscender
    -- ^ overbarExtraAscender
    | OtMathConstantTUnderbarVerticalGap
    -- ^ underbarVerticalGap
    | OtMathConstantTUnderbarRuleThickness
    -- ^ underbarRuleThickness
    | OtMathConstantTUnderbarExtraDescender
    -- ^ underbarExtraDescender
    | OtMathConstantTRadicalVerticalGap
    -- ^ radicalVerticalGap
    | OtMathConstantTRadicalDisplayStyleVerticalGap
    -- ^ radicalDisplayStyleVerticalGap
    | OtMathConstantTRadicalRuleThickness
    -- ^ radicalRuleThickness
    | OtMathConstantTRadicalExtraAscender
    -- ^ radicalExtraAscender
    | OtMathConstantTRadicalKernBeforeDegree
    -- ^ radicalKernBeforeDegree
    | OtMathConstantTRadicalKernAfterDegree
    -- ^ radicalKernAfterDegree
    | OtMathConstantTRadicalDegreeBottomRaisePercent
    -- ^ radicalDegreeBottomRaisePercent
    | 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 OtMathConstantT
OtMathConstantTScriptPercentScaleDown = Int
0
    fromEnum OtMathConstantT
OtMathConstantTScriptScriptPercentScaleDown = Int
1
    fromEnum OtMathConstantT
OtMathConstantTDelimitedSubFormulaMinHeight = Int
2
    fromEnum OtMathConstantT
OtMathConstantTDisplayOperatorMinHeight = Int
3
    fromEnum OtMathConstantT
OtMathConstantTMathLeading = Int
4
    fromEnum OtMathConstantT
OtMathConstantTAxisHeight = Int
5
    fromEnum OtMathConstantT
OtMathConstantTAccentBaseHeight = Int
6
    fromEnum OtMathConstantT
OtMathConstantTFlattenedAccentBaseHeight = Int
7
    fromEnum OtMathConstantT
OtMathConstantTSubscriptShiftDown = Int
8
    fromEnum OtMathConstantT
OtMathConstantTSubscriptTopMax = Int
9
    fromEnum OtMathConstantT
OtMathConstantTSubscriptBaselineDropMin = Int
10
    fromEnum OtMathConstantT
OtMathConstantTSuperscriptShiftUp = Int
11
    fromEnum OtMathConstantT
OtMathConstantTSuperscriptShiftUpCramped = Int
12
    fromEnum OtMathConstantT
OtMathConstantTSuperscriptBottomMin = Int
13
    fromEnum OtMathConstantT
OtMathConstantTSuperscriptBaselineDropMax = Int
14
    fromEnum OtMathConstantT
OtMathConstantTSubSuperscriptGapMin = Int
15
    fromEnum OtMathConstantT
OtMathConstantTSuperscriptBottomMaxWithSubscript = Int
16
    fromEnum OtMathConstantT
OtMathConstantTSpaceAfterScript = Int
17
    fromEnum OtMathConstantT
OtMathConstantTUpperLimitGapMin = Int
18
    fromEnum OtMathConstantT
OtMathConstantTUpperLimitBaselineRiseMin = Int
19
    fromEnum OtMathConstantT
OtMathConstantTLowerLimitGapMin = Int
20
    fromEnum OtMathConstantT
OtMathConstantTLowerLimitBaselineDropMin = Int
21
    fromEnum OtMathConstantT
OtMathConstantTStackTopShiftUp = Int
22
    fromEnum OtMathConstantT
OtMathConstantTStackTopDisplayStyleShiftUp = Int
23
    fromEnum OtMathConstantT
OtMathConstantTStackBottomShiftDown = Int
24
    fromEnum OtMathConstantT
OtMathConstantTStackBottomDisplayStyleShiftDown = Int
25
    fromEnum OtMathConstantT
OtMathConstantTStackGapMin = Int
26
    fromEnum OtMathConstantT
OtMathConstantTStackDisplayStyleGapMin = Int
27
    fromEnum OtMathConstantT
OtMathConstantTStretchStackTopShiftUp = Int
28
    fromEnum OtMathConstantT
OtMathConstantTStretchStackBottomShiftDown = Int
29
    fromEnum OtMathConstantT
OtMathConstantTStretchStackGapAboveMin = Int
30
    fromEnum OtMathConstantT
OtMathConstantTStretchStackGapBelowMin = Int
31
    fromEnum OtMathConstantT
OtMathConstantTFractionNumeratorShiftUp = Int
32
    fromEnum OtMathConstantT
OtMathConstantTFractionNumeratorDisplayStyleShiftUp = Int
33
    fromEnum OtMathConstantT
OtMathConstantTFractionDenominatorShiftDown = Int
34
    fromEnum OtMathConstantT
OtMathConstantTFractionDenominatorDisplayStyleShiftDown = Int
35
    fromEnum OtMathConstantT
OtMathConstantTFractionNumeratorGapMin = Int
36
    fromEnum OtMathConstantT
OtMathConstantTFractionNumDisplayStyleGapMin = Int
37
    fromEnum OtMathConstantT
OtMathConstantTFractionRuleThickness = Int
38
    fromEnum OtMathConstantT
OtMathConstantTFractionDenominatorGapMin = Int
39
    fromEnum OtMathConstantT
OtMathConstantTFractionDenomDisplayStyleGapMin = Int
40
    fromEnum OtMathConstantT
OtMathConstantTSkewedFractionHorizontalGap = Int
41
    fromEnum OtMathConstantT
OtMathConstantTSkewedFractionVerticalGap = Int
42
    fromEnum OtMathConstantT
OtMathConstantTOverbarVerticalGap = Int
43
    fromEnum OtMathConstantT
OtMathConstantTOverbarRuleThickness = Int
44
    fromEnum OtMathConstantT
OtMathConstantTOverbarExtraAscender = Int
45
    fromEnum OtMathConstantT
OtMathConstantTUnderbarVerticalGap = Int
46
    fromEnum OtMathConstantT
OtMathConstantTUnderbarRuleThickness = Int
47
    fromEnum OtMathConstantT
OtMathConstantTUnderbarExtraDescender = Int
48
    fromEnum OtMathConstantT
OtMathConstantTRadicalVerticalGap = Int
49
    fromEnum OtMathConstantT
OtMathConstantTRadicalDisplayStyleVerticalGap = Int
50
    fromEnum OtMathConstantT
OtMathConstantTRadicalRuleThickness = Int
51
    fromEnum OtMathConstantT
OtMathConstantTRadicalExtraAscender = Int
52
    fromEnum OtMathConstantT
OtMathConstantTRadicalKernBeforeDegree = Int
53
    fromEnum OtMathConstantT
OtMathConstantTRadicalKernAfterDegree = Int
54
    fromEnum OtMathConstantT
OtMathConstantTRadicalDegreeBottomRaisePercent = Int
55
    fromEnum (AnotherOtMathConstantT Int
k) = Int
k

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

instance P.Ord OtMathConstantT where
    compare :: OtMathConstantT -> OtMathConstantT -> Ordering
compare OtMathConstantT
a 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 OtLayoutGlyphClassT
OtLayoutGlyphClassTUnclassified = Int
0
    fromEnum OtLayoutGlyphClassT
OtLayoutGlyphClassTBaseGlyph = Int
1
    fromEnum OtLayoutGlyphClassT
OtLayoutGlyphClassTLigature = Int
2
    fromEnum OtLayoutGlyphClassT
OtLayoutGlyphClassTMark = Int
3
    fromEnum OtLayoutGlyphClassT
OtLayoutGlyphClassTComponent = Int
4
    fromEnum (AnotherOtLayoutGlyphClassT Int
k) = Int
k

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

instance P.Ord OtLayoutGlyphClassT where
    compare :: OtLayoutGlyphClassT -> OtLayoutGlyphClassT -> Ordering
compare OtLayoutGlyphClassT
a 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 Baseline Tags> registry.
-- 
-- /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 OtLayoutBaselineTagT
OtLayoutBaselineTagTRoman = Int
1919905134
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTHanging = Int
1751215719
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTIdeoFaceBottomOrLeft = Int
1768121954
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTIdeoFaceTopOrRight = Int
1768121972
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTIdeoEmboxBottomOrLeft = Int
1768187247
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTIdeoEmboxTopOrRight = Int
1768191088
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTMath = Int
1835103336
    fromEnum (AnotherOtLayoutBaselineTagT Int
k) = Int
k

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

instance P.Ord OtLayoutBaselineTagT where
    compare :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Ordering
compare OtLayoutBaselineTagT
a 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
-- | Data type holding the memory modes available to
-- client programs.
-- 
-- Regarding these various memory-modes:
-- 
-- * In no case shall the HarfBuzz client modify memory
-- that is passed to HarfBuzz in a blob.  If there is
-- any such possibility, /@hBMEMORYMODEDUPLICATE@/ should be used
-- such that HarfBuzz makes a copy immediately,
-- * Use /@hBMEMORYMODEREADONLY@/ otherwise, unless you really really
-- really know what you are doing,
-- * /@hBMEMORYMODEWRITABLE@/ is appropriate if you really made a
-- copy of data solely for the purpose of passing to
-- HarfBuzz and doing that just once (no reuse!),
-- * If the font is @/mmap()/@ed, it\'s okay to use
-- /@hBMEMORYREADONLYMAYMAKEWRITABLE@/, however, using that mode
-- correctly is very tricky.  Use /@hBMEMORYMODEREADONLY@/ instead.
data MemoryModeT = 
      MemoryModeTDuplicate
    -- ^ HarfBuzz immediately makes a copy of the data.
    | MemoryModeTReadonly
    -- ^ HarfBuzz client will never modify the data,
    --     and HarfBuzz will never modify the data.
    | MemoryModeTWritable
    -- ^ HarfBuzz client made a copy of the data solely
    --     for HarfBuzz, so HarfBuzz may modify the data.
    | MemoryModeTReadonlyMayMakeWritable
    -- ^ See above
    | 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 MemoryModeT
MemoryModeTDuplicate = Int
0
    fromEnum MemoryModeT
MemoryModeTReadonly = Int
1
    fromEnum MemoryModeT
MemoryModeTWritable = Int
2
    fromEnum MemoryModeT
MemoryModeTReadonlyMayMakeWritable = Int
3
    fromEnum (AnotherMemoryModeT Int
k) = Int
k

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

instance P.Ord MemoryModeT where
    compare :: MemoryModeT -> MemoryModeT -> Ordering
compare MemoryModeT
a 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
-- | The direction of a text segment or buffer.
-- 
-- A segment can also be tested for horizontal or vertical
-- orientation (irrespective of specific direction) with
-- @/HB_DIRECTION_IS_HORIZONTAL()/@ or @/HB_DIRECTION_IS_VERTICAL()/@.
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 DirectionT
DirectionTInvalid = Int
0
    fromEnum DirectionT
DirectionTLtr = Int
4
    fromEnum DirectionT
DirectionTRtl = Int
5
    fromEnum DirectionT
DirectionTTtb = Int
6
    fromEnum DirectionT
DirectionTBtt = Int
7
    fromEnum (AnotherDirectionT Int
k) = Int
k

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

instance P.Ord DirectionT where
    compare :: DirectionT -> DirectionT -> Ordering
compare DirectionT
a 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 BufferSerializeFormatT
BufferSerializeFormatTText = Int
1413830740
    fromEnum BufferSerializeFormatT
BufferSerializeFormatTJson = Int
1246973774
    fromEnum BufferSerializeFormatT
BufferSerializeFormatTInvalid = Int
0
    fromEnum (AnotherBufferSerializeFormatT Int
k) = Int
k

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

instance P.Ord BufferSerializeFormatT where
    compare :: BufferSerializeFormatT -> BufferSerializeFormatT -> Ordering
compare BufferSerializeFormatT
a 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
-- | The type of t'GI.HarfBuzz.Structs.BufferT.BufferT' contents.
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 BufferContentTypeT
BufferContentTypeTInvalid = Int
0
    fromEnum BufferContentTypeT
BufferContentTypeTUnicode = Int
1
    fromEnum BufferContentTypeT
BufferContentTypeTGlyphs = Int
2
    fromEnum (AnotherBufferContentTypeT Int
k) = Int
k

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

instance P.Ord BufferContentTypeT where
    compare :: BufferContentTypeT -> BufferContentTypeT -> Ordering
compare BufferContentTypeT
a 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
-- | Data type for holding HarfBuzz\'s clustering behavior options. The cluster level
-- dictates one aspect of how HarfBuzz will treat non-base characters
-- during shaping.
-- 
-- In /@hBBUFFERCLUSTERLEVELMONOTONEGRAPHEMES@/, non-base
-- characters are merged into the cluster of the base character that precedes them.
-- 
-- In /@hBBUFFERCLUSTERLEVELMONOTONECHARACTERS@/, non-base characters are initially
-- assigned their own cluster values, which are not merged into preceding base
-- clusters. This allows HarfBuzz to perform additional operations like reorder
-- sequences of adjacent marks.
-- 
-- /@hBBUFFERCLUSTERLEVELMONOTONEGRAPHEMES@/ is the default, because it maintains
-- backward compatibility with older versions of HarfBuzz. New client programs that
-- do not need to maintain such backward compatibility are recommended to use
-- /@hBBUFFERCLUSTERLEVELMONOTONECHARACTERS@/ instead of the default.
-- 
-- /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 BufferClusterLevelT
BufferClusterLevelTMonotoneGraphemes = Int
0
    fromEnum BufferClusterLevelT
BufferClusterLevelTMonotoneCharacters = Int
1
    fromEnum BufferClusterLevelT
BufferClusterLevelTCharacters = Int
2
    fromEnum BufferClusterLevelT
BufferClusterLevelTDefault = Int
0
    fromEnum (AnotherBufferClusterLevelT Int
k) = Int
k

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

instance P.Ord BufferClusterLevelT where
    compare :: BufferClusterLevelT -> BufferClusterLevelT -> Ordering
compare BufferClusterLevelT
a 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
-- | The possible feature types defined for AAT shaping, from Apple <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html Font Feature Registry>.
-- 
-- /Since: 2.2.0/
data AatLayoutFeatureTypeT = 
      AatLayoutFeatureTypeTInvalid
    -- ^ Initial, unset feature type
    | AatLayoutFeatureTypeTAllTypographic
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type0 All Typographic Features>
    | AatLayoutFeatureTypeTLigatures
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type1 Ligatures>
    | AatLayoutFeatureTypeTCurisveConnection
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type2 Cursive Connection>
    | AatLayoutFeatureTypeTLetterCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type3 Letter Case>
    | AatLayoutFeatureTypeTVerticalSubstitution
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type4 Vertical Substitution>
    | AatLayoutFeatureTypeTLinguisticRearrangement
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type5 Linguistic Rearrangement>
    | AatLayoutFeatureTypeTNumberSpacing
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type6 Number Spacing>
    | AatLayoutFeatureTypeTSmartSwashType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type8 Smart Swash>
    | AatLayoutFeatureTypeTDiacriticsType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type9 Diacritics>
    | AatLayoutFeatureTypeTVerticalPosition
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type10 Vertical Position>
    | AatLayoutFeatureTypeTFractions
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type11 Fractions>
    | AatLayoutFeatureTypeTOverlappingCharactersType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type13 Overlapping Characters>
    | AatLayoutFeatureTypeTTypographicExtras
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type14 Typographic Extras>
    | AatLayoutFeatureTypeTMathematicalExtras
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type15 Mathematical Extras>
    | AatLayoutFeatureTypeTOrnamentSetsType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type16 Ornament Sets>
    | AatLayoutFeatureTypeTCharacterAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type17 Character Alternatives>
    | AatLayoutFeatureTypeTDesignComplexityType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type18 Design Complexity>
    | AatLayoutFeatureTypeTStyleOptions
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type19 Style Options>
    | AatLayoutFeatureTypeTCharacterShape
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type20 Character Shape>
    | AatLayoutFeatureTypeTNumberCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type21 Number Case>
    | AatLayoutFeatureTypeTTextSpacing
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type22 Text Spacing>
    | AatLayoutFeatureTypeTTransliteration
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type23 Transliteration>
    | AatLayoutFeatureTypeTAnnotationType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type24 Annotation>
    | AatLayoutFeatureTypeTKanaSpacingType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type25 Kana Spacing>
    | AatLayoutFeatureTypeTIdeographicSpacingType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type26 Ideographic Spacing>
    | AatLayoutFeatureTypeTUnicodeDecompositionType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type27 Unicode Decomposition>
    | AatLayoutFeatureTypeTRubyKana
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type28 Ruby Kana>
    | AatLayoutFeatureTypeTCjkSymbolAlternativesType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type29 CJK Symbol Alternatives>
    | AatLayoutFeatureTypeTIdeographicAlternativesType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type30 Ideographic Alternatives>
    | AatLayoutFeatureTypeTCjkVerticalRomanPlacementType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type31 CJK Vertical Roman Placement>
    | AatLayoutFeatureTypeTItalicCjkRoman
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type32 Italic CJK Roman>
    | AatLayoutFeatureTypeTCaseSensitiveLayout
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type33 Case Sensitive Layout>
    | AatLayoutFeatureTypeTAlternateKana
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type34 Alternate Kana>
    | AatLayoutFeatureTypeTStylisticAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type35 Stylistic Alternatives>
    | AatLayoutFeatureTypeTContextualAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type36 Contextual Alternatives>
    | AatLayoutFeatureTypeTLowerCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type37 Lower Case>
    | AatLayoutFeatureTypeTUpperCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type38 Upper Case>
    | AatLayoutFeatureTypeTLanguageTagType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type39 Language Tag>
    | AatLayoutFeatureTypeTCjkRomanSpacingType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type103 CJK Roman Spacing>
    | 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 AatLayoutFeatureTypeT
AatLayoutFeatureTypeTInvalid = Int
65535
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTAllTypographic = Int
0
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTLigatures = Int
1
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCurisveConnection = Int
2
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTLetterCase = Int
3
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTVerticalSubstitution = Int
4
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTLinguisticRearrangement = Int
5
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTNumberSpacing = Int
6
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTSmartSwashType = Int
8
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTDiacriticsType = Int
9
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTVerticalPosition = Int
10
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTFractions = Int
11
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTOverlappingCharactersType = Int
13
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTTypographicExtras = Int
14
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTMathematicalExtras = Int
15
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTOrnamentSetsType = Int
16
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCharacterAlternatives = Int
17
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTDesignComplexityType = Int
18
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTStyleOptions = Int
19
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCharacterShape = Int
20
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTNumberCase = Int
21
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTTextSpacing = Int
22
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTTransliteration = Int
23
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTAnnotationType = Int
24
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTKanaSpacingType = Int
25
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTIdeographicSpacingType = Int
26
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTUnicodeDecompositionType = Int
27
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTRubyKana = Int
28
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCjkSymbolAlternativesType = Int
29
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTIdeographicAlternativesType = Int
30
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCjkVerticalRomanPlacementType = Int
31
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTItalicCjkRoman = Int
32
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCaseSensitiveLayout = Int
33
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTAlternateKana = Int
34
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTStylisticAlternatives = Int
35
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTContextualAlternatives = Int
36
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTLowerCase = Int
37
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTUpperCase = Int
38
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTLanguageTagType = Int
39
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTCjkRomanSpacingType = Int
103
    fromEnum (AnotherAatLayoutFeatureTypeT Int
k) = Int
k

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

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

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

instance P.Ord AatLayoutFeatureSelectorT where
    compare :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Ordering
compare AatLayoutFeatureSelectorT
a 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