-- | 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.Flags
    ( 

 -- * Flags


-- ** AatLayoutFeatureSelectorT #flag:AatLayoutFeatureSelectorT#

    AatLayoutFeatureSelectorT(..)           ,


-- ** AatLayoutFeatureTypeT #flag:AatLayoutFeatureTypeT#

    AatLayoutFeatureTypeT(..)               ,


-- ** BufferDiffFlagsT #flag:BufferDiffFlagsT#

    BufferDiffFlagsT(..)                    ,


-- ** BufferFlagsT #flag:BufferFlagsT#

    BufferFlagsT(..)                        ,


-- ** BufferSerializeFlagsT #flag:BufferSerializeFlagsT#

    BufferSerializeFlagsT(..)               ,


-- ** BufferSerializeFormatT #flag:BufferSerializeFormatT#

    BufferSerializeFormatT(..)              ,


-- ** GlyphFlagsT #flag:GlyphFlagsT#

    GlyphFlagsT(..)                         ,


-- ** OtColorPaletteFlagsT #flag:OtColorPaletteFlagsT#

    OtColorPaletteFlagsT(..)                ,


-- ** OtLayoutBaselineTagT #flag:OtLayoutBaselineTagT#

    OtLayoutBaselineTagT(..)                ,


-- ** OtMathGlyphPartFlagsT #flag:OtMathGlyphPartFlagsT#

    OtMathGlyphPartFlagsT(..)               ,


-- ** OtMetaTagT #flag:OtMetaTagT#

    OtMetaTagT(..)                          ,


-- ** OtMetricsTagT #flag:OtMetricsTagT#

    OtMetricsTagT(..)                       ,


-- ** OtVarAxisFlagsT #flag:OtVarAxisFlagsT#

    OtVarAxisFlagsT(..)                     ,


-- ** ScriptT #flag:ScriptT#

    ScriptT(..)                             ,


-- ** StyleTagT #flag:StyleTagT#

    StyleTagT(..)                           ,




    ) 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.GHashTable as B.GHT
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.Kind as DK
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
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT

-- Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/23392
#if MIN_VERSION_base(4,18,0)

#else

#endif

-- Flags style_tag_t
-- | Defined by <https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg OpenType Design-Variation Axis Tag Registry>.
-- 
-- /Since: 3.0.0/
data StyleTagT = 
      StyleTagTBStyleTagItalic
    -- ^ Used to vary between non-italic and italic.
    -- A value of 0 can be interpreted as \"Roman\" (non-italic); a value of 1 can
    -- be interpreted as (fully) italic.
    | StyleTagTBStyleTagOpticalSize
    -- ^ Used to vary design to suit different text sizes.
    -- Non-zero. Values can be interpreted as text size, in points.
    | StyleTagTBStyleTagSlantAngle
    -- ^ Used to vary between upright and slanted text. Values
    -- must be greater than -90 and less than +90. Values can be interpreted as
    -- the angle, in counter-clockwise degrees, of oblique slant from whatever the
    -- designer considers to be upright for that font design. Typical right-leaning
    -- Italic fonts have a negative slant angle (typically around -12)
    | StyleTagTBStyleTagSlantRatio
    -- ^ same as /@hBSTYLETAGSLANTANGLE@/ expression as ratio.
    -- Typical right-leaning Italic fonts have a positive slant ratio (typically around 0.2)
    | StyleTagTBStyleTagWidth
    -- ^ Used to vary width of text from narrower to wider.
    -- Non-zero. Values can be interpreted as a percentage of whatever the font
    -- designer considers “normal width” for that font design.
    | StyleTagTBStyleTagWeight
    -- ^ Used to vary stroke thicknesses or other design details
    -- to give variation from lighter to blacker. Values can be interpreted in direct
    -- comparison to values for usWeightClass in the OS\/2 table,
    -- or the CSS font-weight property.
    | AnotherStyleTagT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> StyleTagT -> ShowS
[StyleTagT] -> ShowS
StyleTagT -> String
(Int -> StyleTagT -> ShowS)
-> (StyleTagT -> String)
-> ([StyleTagT] -> ShowS)
-> Show StyleTagT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> StyleTagT -> ShowS
showsPrec :: Int -> StyleTagT -> ShowS
$cshow :: StyleTagT -> String
show :: StyleTagT -> String
$cshowList :: [StyleTagT] -> ShowS
showList :: [StyleTagT] -> ShowS
Show, StyleTagT -> StyleTagT -> Bool
(StyleTagT -> StyleTagT -> Bool)
-> (StyleTagT -> StyleTagT -> Bool) -> Eq StyleTagT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StyleTagT -> StyleTagT -> Bool
== :: StyleTagT -> StyleTagT -> Bool
$c/= :: StyleTagT -> StyleTagT -> Bool
/= :: StyleTagT -> StyleTagT -> Bool
Eq)

instance P.Enum StyleTagT where
    fromEnum :: StyleTagT -> Int
fromEnum StyleTagT
StyleTagTBStyleTagItalic = Int
1769234796
    fromEnum StyleTagT
StyleTagTBStyleTagOpticalSize = Int
1869640570
    fromEnum StyleTagT
StyleTagTBStyleTagSlantAngle = Int
1936486004
    fromEnum StyleTagT
StyleTagTBStyleTagSlantRatio = Int
1399615092
    fromEnum StyleTagT
StyleTagTBStyleTagWidth = Int
2003072104
    fromEnum StyleTagT
StyleTagTBStyleTagWeight = Int
2003265652
    fromEnum (AnotherStyleTagT Int
k) = Int
k

    toEnum :: Int -> StyleTagT
toEnum Int
1769234796 = StyleTagT
StyleTagTBStyleTagItalic
    toEnum Int
1869640570 = StyleTagT
StyleTagTBStyleTagOpticalSize
    toEnum Int
1936486004 = StyleTagT
StyleTagTBStyleTagSlantAngle
    toEnum Int
1399615092 = StyleTagT
StyleTagTBStyleTagSlantRatio
    toEnum Int
2003072104 = StyleTagT
StyleTagTBStyleTagWidth
    toEnum Int
2003265652 = StyleTagT
StyleTagTBStyleTagWeight
    toEnum Int
k = Int -> StyleTagT
AnotherStyleTagT Int
k

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

instance IsGFlag StyleTagT

-- Flags script_t
-- | Data type for scripts. Each t'GI.HarfBuzz.Flags.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 = 
      ScriptTBScriptCommon
    -- ^ @Zyyy@
    | ScriptTBScriptInherited
    -- ^ @Zinh@
    | ScriptTBScriptUnknown
    -- ^ @Zzzz@
    | ScriptTBScriptArabic
    -- ^ @Arab@
    | ScriptTBScriptArmenian
    -- ^ @Armn@
    | ScriptTBScriptBengali
    -- ^ @Beng@
    | ScriptTBScriptCyrillic
    -- ^ @Cyrl@
    | ScriptTBScriptDevanagari
    -- ^ @Deva@
    | ScriptTBScriptGeorgian
    -- ^ @Geor@
    | ScriptTBScriptGreek
    -- ^ @Grek@
    | ScriptTBScriptGujarati
    -- ^ @Gujr@
    | ScriptTBScriptGurmukhi
    -- ^ @Guru@
    | ScriptTBScriptHangul
    -- ^ @Hang@
    | ScriptTBScriptHan
    -- ^ @Hani@
    | ScriptTBScriptHebrew
    -- ^ @Hebr@
    | ScriptTBScriptHiragana
    -- ^ @Hira@
    | ScriptTBScriptKannada
    -- ^ @Knda@
    | ScriptTBScriptKatakana
    -- ^ @Kana@
    | ScriptTBScriptLao
    -- ^ @Laoo@
    | ScriptTBScriptLatin
    -- ^ @Latn@
    | ScriptTBScriptMalayalam
    -- ^ @Mlym@
    | ScriptTBScriptOriya
    -- ^ @Orya@
    | ScriptTBScriptTamil
    -- ^ @Taml@
    | ScriptTBScriptTelugu
    -- ^ @Telu@
    | ScriptTBScriptThai
    -- ^ @Thai@
    | ScriptTBScriptTibetan
    -- ^ @Tibt@
    | ScriptTBScriptBopomofo
    -- ^ @Bopo@
    | ScriptTBScriptBraille
    -- ^ @Brai@
    | ScriptTBScriptCanadianSyllabics
    -- ^ @Cans@
    | ScriptTBScriptCherokee
    -- ^ @Cher@
    | ScriptTBScriptEthiopic
    -- ^ @Ethi@
    | ScriptTBScriptKhmer
    -- ^ @Khmr@
    | ScriptTBScriptMongolian
    -- ^ @Mong@
    | ScriptTBScriptMyanmar
    -- ^ @Mymr@
    | ScriptTBScriptOgham
    -- ^ @Ogam@
    | ScriptTBScriptRunic
    -- ^ @Runr@
    | ScriptTBScriptSinhala
    -- ^ @Sinh@
    | ScriptTBScriptSyriac
    -- ^ @Syrc@
    | ScriptTBScriptThaana
    -- ^ @Thaa@
    | ScriptTBScriptYi
    -- ^ @Yiii@
    | ScriptTBScriptDeseret
    -- ^ @Dsrt@
    | ScriptTBScriptGothic
    -- ^ @Goth@
    | ScriptTBScriptOldItalic
    -- ^ @Ital@
    | ScriptTBScriptBuhid
    -- ^ @Buhd@
    | ScriptTBScriptHanunoo
    -- ^ @Hano@
    | ScriptTBScriptTagalog
    -- ^ @Tglg@
    | ScriptTBScriptTagbanwa
    -- ^ @Tagb@
    | ScriptTBScriptCypriot
    -- ^ @Cprt@
    | ScriptTBScriptLimbu
    -- ^ @Limb@
    | ScriptTBScriptLinearB
    -- ^ @Linb@
    | ScriptTBScriptOsmanya
    -- ^ @Osma@
    | ScriptTBScriptShavian
    -- ^ @Shaw@
    | ScriptTBScriptTaiLe
    -- ^ @Tale@
    | ScriptTBScriptUgaritic
    -- ^ @Ugar@
    | ScriptTBScriptBuginese
    -- ^ @Bugi@
    | ScriptTBScriptCoptic
    -- ^ @Copt@
    | ScriptTBScriptGlagolitic
    -- ^ @Glag@
    | ScriptTBScriptKharoshthi
    -- ^ @Khar@
    | ScriptTBScriptNewTaiLue
    -- ^ @Talu@
    | ScriptTBScriptOldPersian
    -- ^ @Xpeo@
    | ScriptTBScriptSylotiNagri
    -- ^ @Sylo@
    | ScriptTBScriptTifinagh
    -- ^ @Tfng@
    | ScriptTBScriptBalinese
    -- ^ @Bali@
    | ScriptTBScriptCuneiform
    -- ^ @Xsux@
    | ScriptTBScriptNko
    -- ^ @Nkoo@
    | ScriptTBScriptPhagsPa
    -- ^ @Phag@
    | ScriptTBScriptPhoenician
    -- ^ @Phnx@
    | ScriptTBScriptCarian
    -- ^ @Cari@
    | ScriptTBScriptCham
    -- ^ @Cham@
    | ScriptTBScriptKayahLi
    -- ^ @Kali@
    | ScriptTBScriptLepcha
    -- ^ @Lepc@
    | ScriptTBScriptLycian
    -- ^ @Lyci@
    | ScriptTBScriptLydian
    -- ^ @Lydi@
    | ScriptTBScriptOlChiki
    -- ^ @Olck@
    | ScriptTBScriptRejang
    -- ^ @Rjng@
    | ScriptTBScriptSaurashtra
    -- ^ @Saur@
    | ScriptTBScriptSundanese
    -- ^ @Sund@
    | ScriptTBScriptVai
    -- ^ @Vaii@
    | ScriptTBScriptAvestan
    -- ^ @Avst@
    | ScriptTBScriptBamum
    -- ^ @Bamu@
    | ScriptTBScriptEgyptianHieroglyphs
    -- ^ @Egyp@
    | ScriptTBScriptImperialAramaic
    -- ^ @Armi@
    | ScriptTBScriptInscriptionalPahlavi
    -- ^ @Phli@
    | ScriptTBScriptInscriptionalParthian
    -- ^ @Prti@
    | ScriptTBScriptJavanese
    -- ^ @Java@
    | ScriptTBScriptKaithi
    -- ^ @Kthi@
    | ScriptTBScriptLisu
    -- ^ @Lisu@
    | ScriptTBScriptMeeteiMayek
    -- ^ @Mtei@
    | ScriptTBScriptOldSouthArabian
    -- ^ @Sarb@
    | ScriptTBScriptOldTurkic
    -- ^ @Orkh@
    | ScriptTBScriptSamaritan
    -- ^ @Samr@
    | ScriptTBScriptTaiTham
    -- ^ @Lana@
    | ScriptTBScriptTaiViet
    -- ^ @Tavt@
    | ScriptTBScriptBatak
    -- ^ @Batk@
    | ScriptTBScriptBrahmi
    -- ^ @Brah@
    | ScriptTBScriptMandaic
    -- ^ @Mand@
    | ScriptTBScriptChakma
    -- ^ @Cakm@
    | ScriptTBScriptMeroiticCursive
    -- ^ @Merc@
    | ScriptTBScriptMeroiticHieroglyphs
    -- ^ @Mero@
    | ScriptTBScriptMiao
    -- ^ @Plrd@
    | ScriptTBScriptSharada
    -- ^ @Shrd@
    | ScriptTBScriptSoraSompeng
    -- ^ @Sora@
    | ScriptTBScriptTakri
    -- ^ @Takr@
    | ScriptTBScriptBassaVah
    -- ^ @Bass@, Since: 0.9.30
    | ScriptTBScriptCaucasianAlbanian
    -- ^ @Aghb@, Since: 0.9.30
    | ScriptTBScriptDuployan
    -- ^ @Dupl@, Since: 0.9.30
    | ScriptTBScriptElbasan
    -- ^ @Elba@, Since: 0.9.30
    | ScriptTBScriptGrantha
    -- ^ @Gran@, Since: 0.9.30
    | ScriptTBScriptKhojki
    -- ^ @Khoj@, Since: 0.9.30
    | ScriptTBScriptKhudawadi
    -- ^ @Sind@, Since: 0.9.30
    | ScriptTBScriptLinearA
    -- ^ @Lina@, Since: 0.9.30
    | ScriptTBScriptMahajani
    -- ^ @Mahj@, Since: 0.9.30
    | ScriptTBScriptManichaean
    -- ^ @Mani@, Since: 0.9.30
    | ScriptTBScriptMendeKikakui
    -- ^ @Mend@, Since: 0.9.30
    | ScriptTBScriptModi
    -- ^ @Modi@, Since: 0.9.30
    | ScriptTBScriptMro
    -- ^ @Mroo@, Since: 0.9.30
    | ScriptTBScriptNabataean
    -- ^ @Nbat@, Since: 0.9.30
    | ScriptTBScriptOldNorthArabian
    -- ^ @Narb@, Since: 0.9.30
    | ScriptTBScriptOldPermic
    -- ^ @Perm@, Since: 0.9.30
    | ScriptTBScriptPahawhHmong
    -- ^ @Hmng@, Since: 0.9.30
    | ScriptTBScriptPalmyrene
    -- ^ @Palm@, Since: 0.9.30
    | ScriptTBScriptPauCinHau
    -- ^ @Pauc@, Since: 0.9.30
    | ScriptTBScriptPsalterPahlavi
    -- ^ @Phlp@, Since: 0.9.30
    | ScriptTBScriptSiddham
    -- ^ @Sidd@, Since: 0.9.30
    | ScriptTBScriptTirhuta
    -- ^ @Tirh@, Since: 0.9.30
    | ScriptTBScriptWarangCiti
    -- ^ @Wara@, Since: 0.9.30
    | ScriptTBScriptAhom
    -- ^ @Ahom@, Since: 0.9.30
    | ScriptTBScriptAnatolianHieroglyphs
    -- ^ @Hluw@, Since: 0.9.30
    | ScriptTBScriptHatran
    -- ^ @Hatr@, Since: 0.9.30
    | ScriptTBScriptMultani
    -- ^ @Mult@, Since: 0.9.30
    | ScriptTBScriptOldHungarian
    -- ^ @Hung@, Since: 0.9.30
    | ScriptTBScriptSignwriting
    -- ^ @Sgnw@, Since: 0.9.30
    | ScriptTBScriptAdlam
    -- ^ @Adlm@, Since: 1.3.0
    | ScriptTBScriptBhaiksuki
    -- ^ @Bhks@, Since: 1.3.0
    | ScriptTBScriptMarchen
    -- ^ @Marc@, Since: 1.3.0
    | ScriptTBScriptOsage
    -- ^ @Osge@, Since: 1.3.0
    | ScriptTBScriptTangut
    -- ^ @Tang@, Since: 1.3.0
    | ScriptTBScriptNewa
    -- ^ @Newa@, Since: 1.3.0
    | ScriptTBScriptMasaramGondi
    -- ^ @Gonm@, Since: 1.6.0
    | ScriptTBScriptNushu
    -- ^ @Nshu@, Since: 1.6.0
    | ScriptTBScriptSoyombo
    -- ^ @Soyo@, Since: 1.6.0
    | ScriptTBScriptZanabazarSquare
    -- ^ @Zanb@, Since: 1.6.0
    | ScriptTBScriptDogra
    -- ^ @Dogr@, Since: 1.8.0
    | ScriptTBScriptGunjalaGondi
    -- ^ @Gong@, Since: 1.8.0
    | ScriptTBScriptHanifiRohingya
    -- ^ @Rohg@, Since: 1.8.0
    | ScriptTBScriptMakasar
    -- ^ @Maka@, Since: 1.8.0
    | ScriptTBScriptMedefaidrin
    -- ^ @Medf@, Since: 1.8.0
    | ScriptTBScriptOldSogdian
    -- ^ @Sogo@, Since: 1.8.0
    | ScriptTBScriptSogdian
    -- ^ @Sogd@, Since: 1.8.0
    | ScriptTBScriptElymaic
    -- ^ @Elym@, Since: 2.4.0
    | ScriptTBScriptNandinagari
    -- ^ @Nand@, Since: 2.4.0
    | ScriptTBScriptNyiakengPuachueHmong
    -- ^ @Hmnp@, Since: 2.4.0
    | ScriptTBScriptWancho
    -- ^ @Wcho@, Since: 2.4.0
    | ScriptTBScriptChorasmian
    -- ^ @Chrs@, Since: 2.6.7
    | ScriptTBScriptDivesAkuru
    -- ^ @Diak@, Since: 2.6.7
    | ScriptTBScriptKhitanSmallScript
    -- ^ @Kits@, Since: 2.6.7
    | ScriptTBScriptYezidi
    -- ^ @Yezi@, Since: 2.6.7
    | ScriptTBScriptCyproMinoan
    -- ^ @Cpmn@, Since: 3.0.0
    | ScriptTBScriptOldUyghur
    -- ^ @Ougr@, Since: 3.0.0
    | ScriptTBScriptTangsa
    -- ^ @Tnsa@, Since: 3.0.0
    | ScriptTBScriptToto
    -- ^ @Toto@, Since: 3.0.0
    | ScriptTBScriptVithkuqi
    -- ^ @Vith@, Since: 3.0.0
    | ScriptTBScriptMath
    -- ^ @Zmth@, Since: 3.4.0
    | ScriptTBScriptKawi
    -- ^ @Kawi@, Since: 5.2.0
    | ScriptTBScriptNagMundari
    -- ^ @Nagm@, Since: 5.2.0
    | ScriptTBScriptGaray
    -- ^ @Gara@, Since: 10.0.0
    | ScriptTBScriptGurungKhema
    -- ^ @Gukh@, Since: 10.0.0
    | ScriptTBScriptKiratRai
    -- ^ @Krai@, Since: 10.0.0
    | ScriptTBScriptOlOnal
    -- ^ @Onao@, Since: 10.0.0
    | ScriptTBScriptSunuwar
    -- ^ @Sunu@, Since: 10.0.0
    | ScriptTBScriptTodhri
    -- ^ @Todr@, Since: 10.0.0
    | ScriptTBScriptTuluTigalari
    -- ^ @Tutg@, Since: 10.0.0
    | ScriptTBScriptInvalid
    -- ^ 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
$cshowsPrec :: Int -> ScriptT -> ShowS
showsPrec :: Int -> ScriptT -> ShowS
$cshow :: ScriptT -> String
show :: ScriptT -> String
$cshowList :: [ScriptT] -> ShowS
showList :: [ScriptT] -> ShowS
Show, ScriptT -> ScriptT -> Bool
(ScriptT -> ScriptT -> Bool)
-> (ScriptT -> ScriptT -> Bool) -> Eq ScriptT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ScriptT -> ScriptT -> Bool
== :: ScriptT -> ScriptT -> Bool
$c/= :: ScriptT -> ScriptT -> Bool
/= :: ScriptT -> ScriptT -> Bool
Eq)

instance P.Enum ScriptT where
    fromEnum :: ScriptT -> Int
fromEnum ScriptT
ScriptTBScriptCommon = Int
1517910393
    fromEnum ScriptT
ScriptTBScriptInherited = Int
1516858984
    fromEnum ScriptT
ScriptTBScriptUnknown = Int
1517976186
    fromEnum ScriptT
ScriptTBScriptArabic = Int
1098015074
    fromEnum ScriptT
ScriptTBScriptArmenian = Int
1098018158
    fromEnum ScriptT
ScriptTBScriptBengali = Int
1113943655
    fromEnum ScriptT
ScriptTBScriptCyrillic = Int
1132032620
    fromEnum ScriptT
ScriptTBScriptDevanagari = Int
1147500129
    fromEnum ScriptT
ScriptTBScriptGeorgian = Int
1197830002
    fromEnum ScriptT
ScriptTBScriptGreek = Int
1198679403
    fromEnum ScriptT
ScriptTBScriptGujarati = Int
1198877298
    fromEnum ScriptT
ScriptTBScriptGurmukhi = Int
1198879349
    fromEnum ScriptT
ScriptTBScriptHangul = Int
1214344807
    fromEnum ScriptT
ScriptTBScriptHan = Int
1214344809
    fromEnum ScriptT
ScriptTBScriptHebrew = Int
1214603890
    fromEnum ScriptT
ScriptTBScriptHiragana = Int
1214870113
    fromEnum ScriptT
ScriptTBScriptKannada = Int
1265525857
    fromEnum ScriptT
ScriptTBScriptKatakana = Int
1264676449
    fromEnum ScriptT
ScriptTBScriptLao = Int
1281453935
    fromEnum ScriptT
ScriptTBScriptLatin = Int
1281455214
    fromEnum ScriptT
ScriptTBScriptMalayalam = Int
1298954605
    fromEnum ScriptT
ScriptTBScriptOriya = Int
1332902241
    fromEnum ScriptT
ScriptTBScriptTamil = Int
1415671148
    fromEnum ScriptT
ScriptTBScriptTelugu = Int
1415933045
    fromEnum ScriptT
ScriptTBScriptThai = Int
1416126825
    fromEnum ScriptT
ScriptTBScriptTibetan = Int
1416192628
    fromEnum ScriptT
ScriptTBScriptBopomofo = Int
1114599535
    fromEnum ScriptT
ScriptTBScriptBraille = Int
1114792297
    fromEnum ScriptT
ScriptTBScriptCanadianSyllabics = Int
1130458739
    fromEnum ScriptT
ScriptTBScriptCherokee = Int
1130915186
    fromEnum ScriptT
ScriptTBScriptEthiopic = Int
1165256809
    fromEnum ScriptT
ScriptTBScriptKhmer = Int
1265134962
    fromEnum ScriptT
ScriptTBScriptMongolian = Int
1299148391
    fromEnum ScriptT
ScriptTBScriptMyanmar = Int
1299803506
    fromEnum ScriptT
ScriptTBScriptOgham = Int
1332175213
    fromEnum ScriptT
ScriptTBScriptRunic = Int
1383427698
    fromEnum ScriptT
ScriptTBScriptSinhala = Int
1399418472
    fromEnum ScriptT
ScriptTBScriptSyriac = Int
1400468067
    fromEnum ScriptT
ScriptTBScriptThaana = Int
1416126817
    fromEnum ScriptT
ScriptTBScriptYi = Int
1500080489
    fromEnum ScriptT
ScriptTBScriptDeseret = Int
1148416628
    fromEnum ScriptT
ScriptTBScriptGothic = Int
1198486632
    fromEnum ScriptT
ScriptTBScriptOldItalic = Int
1232363884
    fromEnum ScriptT
ScriptTBScriptBuhid = Int
1114990692
    fromEnum ScriptT
ScriptTBScriptHanunoo = Int
1214344815
    fromEnum ScriptT
ScriptTBScriptTagalog = Int
1416064103
    fromEnum ScriptT
ScriptTBScriptTagbanwa = Int
1415669602
    fromEnum ScriptT
ScriptTBScriptCypriot = Int
1131442804
    fromEnum ScriptT
ScriptTBScriptLimbu = Int
1281977698
    fromEnum ScriptT
ScriptTBScriptLinearB = Int
1281977954
    fromEnum ScriptT
ScriptTBScriptOsmanya = Int
1332964705
    fromEnum ScriptT
ScriptTBScriptShavian = Int
1399349623
    fromEnum ScriptT
ScriptTBScriptTaiLe = Int
1415670885
    fromEnum ScriptT
ScriptTBScriptUgaritic = Int
1432838514
    fromEnum ScriptT
ScriptTBScriptBuginese = Int
1114990441
    fromEnum ScriptT
ScriptTBScriptCoptic = Int
1131376756
    fromEnum ScriptT
ScriptTBScriptGlagolitic = Int
1198285159
    fromEnum ScriptT
ScriptTBScriptKharoshthi = Int
1265131890
    fromEnum ScriptT
ScriptTBScriptNewTaiLue = Int
1415670901
    fromEnum ScriptT
ScriptTBScriptOldPersian = Int
1483761007
    fromEnum ScriptT
ScriptTBScriptSylotiNagri = Int
1400466543
    fromEnum ScriptT
ScriptTBScriptTifinagh = Int
1415999079
    fromEnum ScriptT
ScriptTBScriptBalinese = Int
1113681001
    fromEnum ScriptT
ScriptTBScriptCuneiform = Int
1483961720
    fromEnum ScriptT
ScriptTBScriptNko = Int
1315663727
    fromEnum ScriptT
ScriptTBScriptPhagsPa = Int
1349017959
    fromEnum ScriptT
ScriptTBScriptPhoenician = Int
1349021304
    fromEnum ScriptT
ScriptTBScriptCarian = Int
1130459753
    fromEnum ScriptT
ScriptTBScriptCham = Int
1130914157
    fromEnum ScriptT
ScriptTBScriptKayahLi = Int
1264675945
    fromEnum ScriptT
ScriptTBScriptLepcha = Int
1281716323
    fromEnum ScriptT
ScriptTBScriptLycian = Int
1283023721
    fromEnum ScriptT
ScriptTBScriptLydian = Int
1283023977
    fromEnum ScriptT
ScriptTBScriptOlChiki = Int
1332503403
    fromEnum ScriptT
ScriptTBScriptRejang = Int
1382706791
    fromEnum ScriptT
ScriptTBScriptSaurashtra = Int
1398895986
    fromEnum ScriptT
ScriptTBScriptSundanese = Int
1400204900
    fromEnum ScriptT
ScriptTBScriptVai = Int
1449224553
    fromEnum ScriptT
ScriptTBScriptAvestan = Int
1098281844
    fromEnum ScriptT
ScriptTBScriptBamum = Int
1113681269
    fromEnum ScriptT
ScriptTBScriptEgyptianHieroglyphs = Int
1164409200
    fromEnum ScriptT
ScriptTBScriptImperialAramaic = Int
1098018153
    fromEnum ScriptT
ScriptTBScriptInscriptionalPahlavi = Int
1349020777
    fromEnum ScriptT
ScriptTBScriptInscriptionalParthian = Int
1349678185
    fromEnum ScriptT
ScriptTBScriptJavanese = Int
1247901281
    fromEnum ScriptT
ScriptTBScriptKaithi = Int
1265920105
    fromEnum ScriptT
ScriptTBScriptLisu = Int
1281979253
    fromEnum ScriptT
ScriptTBScriptMeeteiMayek = Int
1299473769
    fromEnum ScriptT
ScriptTBScriptOldSouthArabian = Int
1398895202
    fromEnum ScriptT
ScriptTBScriptOldTurkic = Int
1332898664
    fromEnum ScriptT
ScriptTBScriptSamaritan = Int
1398893938
    fromEnum ScriptT
ScriptTBScriptTaiTham = Int
1281453665
    fromEnum ScriptT
ScriptTBScriptTaiViet = Int
1415673460
    fromEnum ScriptT
ScriptTBScriptBatak = Int
1113683051
    fromEnum ScriptT
ScriptTBScriptBrahmi = Int
1114792296
    fromEnum ScriptT
ScriptTBScriptMandaic = Int
1298230884
    fromEnum ScriptT
ScriptTBScriptChakma = Int
1130457965
    fromEnum ScriptT
ScriptTBScriptMeroiticCursive = Int
1298494051
    fromEnum ScriptT
ScriptTBScriptMeroiticHieroglyphs = Int
1298494063
    fromEnum ScriptT
ScriptTBScriptMiao = Int
1349284452
    fromEnum ScriptT
ScriptTBScriptSharada = Int
1399353956
    fromEnum ScriptT
ScriptTBScriptSoraSompeng = Int
1399812705
    fromEnum ScriptT
ScriptTBScriptTakri = Int
1415670642
    fromEnum ScriptT
ScriptTBScriptBassaVah = Int
1113682803
    fromEnum ScriptT
ScriptTBScriptCaucasianAlbanian = Int
1097295970
    fromEnum ScriptT
ScriptTBScriptDuployan = Int
1148547180
    fromEnum ScriptT
ScriptTBScriptElbasan = Int
1164730977
    fromEnum ScriptT
ScriptTBScriptGrantha = Int
1198678382
    fromEnum ScriptT
ScriptTBScriptKhojki = Int
1265135466
    fromEnum ScriptT
ScriptTBScriptKhudawadi = Int
1399418468
    fromEnum ScriptT
ScriptTBScriptLinearA = Int
1281977953
    fromEnum ScriptT
ScriptTBScriptMahajani = Int
1298229354
    fromEnum ScriptT
ScriptTBScriptManichaean = Int
1298230889
    fromEnum ScriptT
ScriptTBScriptMendeKikakui = Int
1298493028
    fromEnum ScriptT
ScriptTBScriptModi = Int
1299145833
    fromEnum ScriptT
ScriptTBScriptMro = Int
1299345263
    fromEnum ScriptT
ScriptTBScriptNabataean = Int
1315070324
    fromEnum ScriptT
ScriptTBScriptOldNorthArabian = Int
1315009122
    fromEnum ScriptT
ScriptTBScriptOldPermic = Int
1348825709
    fromEnum ScriptT
ScriptTBScriptPahawhHmong = Int
1215131239
    fromEnum ScriptT
ScriptTBScriptPalmyrene = Int
1348562029
    fromEnum ScriptT
ScriptTBScriptPauCinHau = Int
1348564323
    fromEnum ScriptT
ScriptTBScriptPsalterPahlavi = Int
1349020784
    fromEnum ScriptT
ScriptTBScriptSiddham = Int
1399415908
    fromEnum ScriptT
ScriptTBScriptTirhuta = Int
1416196712
    fromEnum ScriptT
ScriptTBScriptWarangCiti = Int
1466004065
    fromEnum ScriptT
ScriptTBScriptAhom = Int
1097363309
    fromEnum ScriptT
ScriptTBScriptAnatolianHieroglyphs = Int
1215067511
    fromEnum ScriptT
ScriptTBScriptHatran = Int
1214346354
    fromEnum ScriptT
ScriptTBScriptMultani = Int
1299541108
    fromEnum ScriptT
ScriptTBScriptOldHungarian = Int
1215655527
    fromEnum ScriptT
ScriptTBScriptSignwriting = Int
1399287415
    fromEnum ScriptT
ScriptTBScriptAdlam = Int
1097100397
    fromEnum ScriptT
ScriptTBScriptBhaiksuki = Int
1114139507
    fromEnum ScriptT
ScriptTBScriptMarchen = Int
1298231907
    fromEnum ScriptT
ScriptTBScriptOsage = Int
1332963173
    fromEnum ScriptT
ScriptTBScriptTangut = Int
1415671399
    fromEnum ScriptT
ScriptTBScriptNewa = Int
1315272545
    fromEnum ScriptT
ScriptTBScriptMasaramGondi = Int
1198485101
    fromEnum ScriptT
ScriptTBScriptNushu = Int
1316186229
    fromEnum ScriptT
ScriptTBScriptSoyombo = Int
1399814511
    fromEnum ScriptT
ScriptTBScriptZanabazarSquare = Int
1516334690
    fromEnum ScriptT
ScriptTBScriptDogra = Int
1148151666
    fromEnum ScriptT
ScriptTBScriptGunjalaGondi = Int
1198485095
    fromEnum ScriptT
ScriptTBScriptHanifiRohingya = Int
1383032935
    fromEnum ScriptT
ScriptTBScriptMakasar = Int
1298230113
    fromEnum ScriptT
ScriptTBScriptMedefaidrin = Int
1298490470
    fromEnum ScriptT
ScriptTBScriptOldSogdian = Int
1399809903
    fromEnum ScriptT
ScriptTBScriptSogdian = Int
1399809892
    fromEnum ScriptT
ScriptTBScriptElymaic = Int
1164736877
    fromEnum ScriptT
ScriptTBScriptNandinagari = Int
1315008100
    fromEnum ScriptT
ScriptTBScriptNyiakengPuachueHmong = Int
1215131248
    fromEnum ScriptT
ScriptTBScriptWancho = Int
1466132591
    fromEnum ScriptT
ScriptTBScriptChorasmian = Int
1130918515
    fromEnum ScriptT
ScriptTBScriptDivesAkuru = Int
1147756907
    fromEnum ScriptT
ScriptTBScriptKhitanSmallScript = Int
1265202291
    fromEnum ScriptT
ScriptTBScriptYezidi = Int
1499822697
    fromEnum ScriptT
ScriptTBScriptCyproMinoan = Int
1131441518
    fromEnum ScriptT
ScriptTBScriptOldUyghur = Int
1333094258
    fromEnum ScriptT
ScriptTBScriptTangsa = Int
1416524641
    fromEnum ScriptT
ScriptTBScriptToto = Int
1416590447
    fromEnum ScriptT
ScriptTBScriptVithkuqi = Int
1449751656
    fromEnum ScriptT
ScriptTBScriptMath = Int
1517122664
    fromEnum ScriptT
ScriptTBScriptKawi = Int
1264678761
    fromEnum ScriptT
ScriptTBScriptNagMundari = Int
1315006317
    fromEnum ScriptT
ScriptTBScriptGaray = Int
1197568609
    fromEnum ScriptT
ScriptTBScriptGurungKhema = Int
1198877544
    fromEnum ScriptT
ScriptTBScriptKiratRai = Int
1265787241
    fromEnum ScriptT
ScriptTBScriptOlOnal = Int
1332633967
    fromEnum ScriptT
ScriptTBScriptSunuwar = Int
1400204917
    fromEnum ScriptT
ScriptTBScriptTodhri = Int
1416586354
    fromEnum ScriptT
ScriptTBScriptTuluTigalari = Int
1416983655
    fromEnum ScriptT
ScriptTBScriptInvalid = Int
0
    fromEnum (AnotherScriptT Int
k) = Int
k

    toEnum :: Int -> ScriptT
toEnum Int
1517910393 = ScriptT
ScriptTBScriptCommon
    toEnum Int
1516858984 = ScriptT
ScriptTBScriptInherited
    toEnum Int
1517976186 = ScriptT
ScriptTBScriptUnknown
    toEnum Int
1098015074 = ScriptT
ScriptTBScriptArabic
    toEnum Int
1098018158 = ScriptT
ScriptTBScriptArmenian
    toEnum Int
1113943655 = ScriptT
ScriptTBScriptBengali
    toEnum Int
1132032620 = ScriptT
ScriptTBScriptCyrillic
    toEnum Int
1147500129 = ScriptT
ScriptTBScriptDevanagari
    toEnum Int
1197830002 = ScriptT
ScriptTBScriptGeorgian
    toEnum Int
1198679403 = ScriptT
ScriptTBScriptGreek
    toEnum Int
1198877298 = ScriptT
ScriptTBScriptGujarati
    toEnum Int
1198879349 = ScriptT
ScriptTBScriptGurmukhi
    toEnum Int
1214344807 = ScriptT
ScriptTBScriptHangul
    toEnum Int
1214344809 = ScriptT
ScriptTBScriptHan
    toEnum Int
1214603890 = ScriptT
ScriptTBScriptHebrew
    toEnum Int
1214870113 = ScriptT
ScriptTBScriptHiragana
    toEnum Int
1265525857 = ScriptT
ScriptTBScriptKannada
    toEnum Int
1264676449 = ScriptT
ScriptTBScriptKatakana
    toEnum Int
1281453935 = ScriptT
ScriptTBScriptLao
    toEnum Int
1281455214 = ScriptT
ScriptTBScriptLatin
    toEnum Int
1298954605 = ScriptT
ScriptTBScriptMalayalam
    toEnum Int
1332902241 = ScriptT
ScriptTBScriptOriya
    toEnum Int
1415671148 = ScriptT
ScriptTBScriptTamil
    toEnum Int
1415933045 = ScriptT
ScriptTBScriptTelugu
    toEnum Int
1416126825 = ScriptT
ScriptTBScriptThai
    toEnum Int
1416192628 = ScriptT
ScriptTBScriptTibetan
    toEnum Int
1114599535 = ScriptT
ScriptTBScriptBopomofo
    toEnum Int
1114792297 = ScriptT
ScriptTBScriptBraille
    toEnum Int
1130458739 = ScriptT
ScriptTBScriptCanadianSyllabics
    toEnum Int
1130915186 = ScriptT
ScriptTBScriptCherokee
    toEnum Int
1165256809 = ScriptT
ScriptTBScriptEthiopic
    toEnum Int
1265134962 = ScriptT
ScriptTBScriptKhmer
    toEnum Int
1299148391 = ScriptT
ScriptTBScriptMongolian
    toEnum Int
1299803506 = ScriptT
ScriptTBScriptMyanmar
    toEnum Int
1332175213 = ScriptT
ScriptTBScriptOgham
    toEnum Int
1383427698 = ScriptT
ScriptTBScriptRunic
    toEnum Int
1399418472 = ScriptT
ScriptTBScriptSinhala
    toEnum Int
1400468067 = ScriptT
ScriptTBScriptSyriac
    toEnum Int
1416126817 = ScriptT
ScriptTBScriptThaana
    toEnum Int
1500080489 = ScriptT
ScriptTBScriptYi
    toEnum Int
1148416628 = ScriptT
ScriptTBScriptDeseret
    toEnum Int
1198486632 = ScriptT
ScriptTBScriptGothic
    toEnum Int
1232363884 = ScriptT
ScriptTBScriptOldItalic
    toEnum Int
1114990692 = ScriptT
ScriptTBScriptBuhid
    toEnum Int
1214344815 = ScriptT
ScriptTBScriptHanunoo
    toEnum Int
1416064103 = ScriptT
ScriptTBScriptTagalog
    toEnum Int
1415669602 = ScriptT
ScriptTBScriptTagbanwa
    toEnum Int
1131442804 = ScriptT
ScriptTBScriptCypriot
    toEnum Int
1281977698 = ScriptT
ScriptTBScriptLimbu
    toEnum Int
1281977954 = ScriptT
ScriptTBScriptLinearB
    toEnum Int
1332964705 = ScriptT
ScriptTBScriptOsmanya
    toEnum Int
1399349623 = ScriptT
ScriptTBScriptShavian
    toEnum Int
1415670885 = ScriptT
ScriptTBScriptTaiLe
    toEnum Int
1432838514 = ScriptT
ScriptTBScriptUgaritic
    toEnum Int
1114990441 = ScriptT
ScriptTBScriptBuginese
    toEnum Int
1131376756 = ScriptT
ScriptTBScriptCoptic
    toEnum Int
1198285159 = ScriptT
ScriptTBScriptGlagolitic
    toEnum Int
1265131890 = ScriptT
ScriptTBScriptKharoshthi
    toEnum Int
1415670901 = ScriptT
ScriptTBScriptNewTaiLue
    toEnum Int
1483761007 = ScriptT
ScriptTBScriptOldPersian
    toEnum Int
1400466543 = ScriptT
ScriptTBScriptSylotiNagri
    toEnum Int
1415999079 = ScriptT
ScriptTBScriptTifinagh
    toEnum Int
1113681001 = ScriptT
ScriptTBScriptBalinese
    toEnum Int
1483961720 = ScriptT
ScriptTBScriptCuneiform
    toEnum Int
1315663727 = ScriptT
ScriptTBScriptNko
    toEnum Int
1349017959 = ScriptT
ScriptTBScriptPhagsPa
    toEnum Int
1349021304 = ScriptT
ScriptTBScriptPhoenician
    toEnum Int
1130459753 = ScriptT
ScriptTBScriptCarian
    toEnum Int
1130914157 = ScriptT
ScriptTBScriptCham
    toEnum Int
1264675945 = ScriptT
ScriptTBScriptKayahLi
    toEnum Int
1281716323 = ScriptT
ScriptTBScriptLepcha
    toEnum Int
1283023721 = ScriptT
ScriptTBScriptLycian
    toEnum Int
1283023977 = ScriptT
ScriptTBScriptLydian
    toEnum Int
1332503403 = ScriptT
ScriptTBScriptOlChiki
    toEnum Int
1382706791 = ScriptT
ScriptTBScriptRejang
    toEnum Int
1398895986 = ScriptT
ScriptTBScriptSaurashtra
    toEnum Int
1400204900 = ScriptT
ScriptTBScriptSundanese
    toEnum Int
1449224553 = ScriptT
ScriptTBScriptVai
    toEnum Int
1098281844 = ScriptT
ScriptTBScriptAvestan
    toEnum Int
1113681269 = ScriptT
ScriptTBScriptBamum
    toEnum Int
1164409200 = ScriptT
ScriptTBScriptEgyptianHieroglyphs
    toEnum Int
1098018153 = ScriptT
ScriptTBScriptImperialAramaic
    toEnum Int
1349020777 = ScriptT
ScriptTBScriptInscriptionalPahlavi
    toEnum Int
1349678185 = ScriptT
ScriptTBScriptInscriptionalParthian
    toEnum Int
1247901281 = ScriptT
ScriptTBScriptJavanese
    toEnum Int
1265920105 = ScriptT
ScriptTBScriptKaithi
    toEnum Int
1281979253 = ScriptT
ScriptTBScriptLisu
    toEnum Int
1299473769 = ScriptT
ScriptTBScriptMeeteiMayek
    toEnum Int
1398895202 = ScriptT
ScriptTBScriptOldSouthArabian
    toEnum Int
1332898664 = ScriptT
ScriptTBScriptOldTurkic
    toEnum Int
1398893938 = ScriptT
ScriptTBScriptSamaritan
    toEnum Int
1281453665 = ScriptT
ScriptTBScriptTaiTham
    toEnum Int
1415673460 = ScriptT
ScriptTBScriptTaiViet
    toEnum Int
1113683051 = ScriptT
ScriptTBScriptBatak
    toEnum Int
1114792296 = ScriptT
ScriptTBScriptBrahmi
    toEnum Int
1298230884 = ScriptT
ScriptTBScriptMandaic
    toEnum Int
1130457965 = ScriptT
ScriptTBScriptChakma
    toEnum Int
1298494051 = ScriptT
ScriptTBScriptMeroiticCursive
    toEnum Int
1298494063 = ScriptT
ScriptTBScriptMeroiticHieroglyphs
    toEnum Int
1349284452 = ScriptT
ScriptTBScriptMiao
    toEnum Int
1399353956 = ScriptT
ScriptTBScriptSharada
    toEnum Int
1399812705 = ScriptT
ScriptTBScriptSoraSompeng
    toEnum Int
1415670642 = ScriptT
ScriptTBScriptTakri
    toEnum Int
1113682803 = ScriptT
ScriptTBScriptBassaVah
    toEnum Int
1097295970 = ScriptT
ScriptTBScriptCaucasianAlbanian
    toEnum Int
1148547180 = ScriptT
ScriptTBScriptDuployan
    toEnum Int
1164730977 = ScriptT
ScriptTBScriptElbasan
    toEnum Int
1198678382 = ScriptT
ScriptTBScriptGrantha
    toEnum Int
1265135466 = ScriptT
ScriptTBScriptKhojki
    toEnum Int
1399418468 = ScriptT
ScriptTBScriptKhudawadi
    toEnum Int
1281977953 = ScriptT
ScriptTBScriptLinearA
    toEnum Int
1298229354 = ScriptT
ScriptTBScriptMahajani
    toEnum Int
1298230889 = ScriptT
ScriptTBScriptManichaean
    toEnum Int
1298493028 = ScriptT
ScriptTBScriptMendeKikakui
    toEnum Int
1299145833 = ScriptT
ScriptTBScriptModi
    toEnum Int
1299345263 = ScriptT
ScriptTBScriptMro
    toEnum Int
1315070324 = ScriptT
ScriptTBScriptNabataean
    toEnum Int
1315009122 = ScriptT
ScriptTBScriptOldNorthArabian
    toEnum Int
1348825709 = ScriptT
ScriptTBScriptOldPermic
    toEnum Int
1215131239 = ScriptT
ScriptTBScriptPahawhHmong
    toEnum Int
1348562029 = ScriptT
ScriptTBScriptPalmyrene
    toEnum Int
1348564323 = ScriptT
ScriptTBScriptPauCinHau
    toEnum Int
1349020784 = ScriptT
ScriptTBScriptPsalterPahlavi
    toEnum Int
1399415908 = ScriptT
ScriptTBScriptSiddham
    toEnum Int
1416196712 = ScriptT
ScriptTBScriptTirhuta
    toEnum Int
1466004065 = ScriptT
ScriptTBScriptWarangCiti
    toEnum Int
1097363309 = ScriptT
ScriptTBScriptAhom
    toEnum Int
1215067511 = ScriptT
ScriptTBScriptAnatolianHieroglyphs
    toEnum Int
1214346354 = ScriptT
ScriptTBScriptHatran
    toEnum Int
1299541108 = ScriptT
ScriptTBScriptMultani
    toEnum Int
1215655527 = ScriptT
ScriptTBScriptOldHungarian
    toEnum Int
1399287415 = ScriptT
ScriptTBScriptSignwriting
    toEnum Int
1097100397 = ScriptT
ScriptTBScriptAdlam
    toEnum Int
1114139507 = ScriptT
ScriptTBScriptBhaiksuki
    toEnum Int
1298231907 = ScriptT
ScriptTBScriptMarchen
    toEnum Int
1332963173 = ScriptT
ScriptTBScriptOsage
    toEnum Int
1415671399 = ScriptT
ScriptTBScriptTangut
    toEnum Int
1315272545 = ScriptT
ScriptTBScriptNewa
    toEnum Int
1198485101 = ScriptT
ScriptTBScriptMasaramGondi
    toEnum Int
1316186229 = ScriptT
ScriptTBScriptNushu
    toEnum Int
1399814511 = ScriptT
ScriptTBScriptSoyombo
    toEnum Int
1516334690 = ScriptT
ScriptTBScriptZanabazarSquare
    toEnum Int
1148151666 = ScriptT
ScriptTBScriptDogra
    toEnum Int
1198485095 = ScriptT
ScriptTBScriptGunjalaGondi
    toEnum Int
1383032935 = ScriptT
ScriptTBScriptHanifiRohingya
    toEnum Int
1298230113 = ScriptT
ScriptTBScriptMakasar
    toEnum Int
1298490470 = ScriptT
ScriptTBScriptMedefaidrin
    toEnum Int
1399809903 = ScriptT
ScriptTBScriptOldSogdian
    toEnum Int
1399809892 = ScriptT
ScriptTBScriptSogdian
    toEnum Int
1164736877 = ScriptT
ScriptTBScriptElymaic
    toEnum Int
1315008100 = ScriptT
ScriptTBScriptNandinagari
    toEnum Int
1215131248 = ScriptT
ScriptTBScriptNyiakengPuachueHmong
    toEnum Int
1466132591 = ScriptT
ScriptTBScriptWancho
    toEnum Int
1130918515 = ScriptT
ScriptTBScriptChorasmian
    toEnum Int
1147756907 = ScriptT
ScriptTBScriptDivesAkuru
    toEnum Int
1265202291 = ScriptT
ScriptTBScriptKhitanSmallScript
    toEnum Int
1499822697 = ScriptT
ScriptTBScriptYezidi
    toEnum Int
1131441518 = ScriptT
ScriptTBScriptCyproMinoan
    toEnum Int
1333094258 = ScriptT
ScriptTBScriptOldUyghur
    toEnum Int
1416524641 = ScriptT
ScriptTBScriptTangsa
    toEnum Int
1416590447 = ScriptT
ScriptTBScriptToto
    toEnum Int
1449751656 = ScriptT
ScriptTBScriptVithkuqi
    toEnum Int
1517122664 = ScriptT
ScriptTBScriptMath
    toEnum Int
1264678761 = ScriptT
ScriptTBScriptKawi
    toEnum Int
1315006317 = ScriptT
ScriptTBScriptNagMundari
    toEnum Int
1197568609 = ScriptT
ScriptTBScriptGaray
    toEnum Int
1198877544 = ScriptT
ScriptTBScriptGurungKhema
    toEnum Int
1265787241 = ScriptT
ScriptTBScriptKiratRai
    toEnum Int
1332633967 = ScriptT
ScriptTBScriptOlOnal
    toEnum Int
1400204917 = ScriptT
ScriptTBScriptSunuwar
    toEnum Int
1416586354 = ScriptT
ScriptTBScriptTodhri
    toEnum Int
1416983655 = ScriptT
ScriptTBScriptTuluTigalari
    toEnum Int
0 = ScriptT
ScriptTBScriptInvalid
    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)

instance IsGFlag ScriptT

-- Flags ot_var_axis_flags_t
-- | Flags for t'GI.HarfBuzz.Structs.OtVarAxisInfoT.OtVarAxisInfoT'.
-- 
-- /Since: 2.2.0/
data OtVarAxisFlagsT = 
      OtVarAxisFlagsTBOtVarAxisFlagHidden
    -- ^ The axis should not be exposed directly in user interfaces.
    | AnotherOtVarAxisFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> OtVarAxisFlagsT -> ShowS
[OtVarAxisFlagsT] -> ShowS
OtVarAxisFlagsT -> String
(Int -> OtVarAxisFlagsT -> ShowS)
-> (OtVarAxisFlagsT -> String)
-> ([OtVarAxisFlagsT] -> ShowS)
-> Show OtVarAxisFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OtVarAxisFlagsT -> ShowS
showsPrec :: Int -> OtVarAxisFlagsT -> ShowS
$cshow :: OtVarAxisFlagsT -> String
show :: OtVarAxisFlagsT -> String
$cshowList :: [OtVarAxisFlagsT] -> ShowS
showList :: [OtVarAxisFlagsT] -> ShowS
Show, OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool
(OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool)
-> (OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool)
-> Eq OtVarAxisFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool
== :: OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool
$c/= :: OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool
/= :: OtVarAxisFlagsT -> OtVarAxisFlagsT -> Bool
Eq)

instance P.Enum OtVarAxisFlagsT where
    fromEnum :: OtVarAxisFlagsT -> Int
fromEnum OtVarAxisFlagsT
OtVarAxisFlagsTBOtVarAxisFlagHidden = Int
1
    fromEnum (AnotherOtVarAxisFlagsT Int
k) = Int
k

    toEnum :: Int -> OtVarAxisFlagsT
toEnum Int
1 = OtVarAxisFlagsT
OtVarAxisFlagsTBOtVarAxisFlagHidden
    toEnum Int
k = Int -> OtVarAxisFlagsT
AnotherOtVarAxisFlagsT Int
k

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

instance IsGFlag OtVarAxisFlagsT

-- Flags 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 = 
      OtMetricsTagTBOtMetricsTagHorizontalAscender
    -- ^ horizontal ascender.
    | OtMetricsTagTBOtMetricsTagHorizontalDescender
    -- ^ horizontal descender.
    | OtMetricsTagTBOtMetricsTagHorizontalLineGap
    -- ^ horizontal line gap.
    | OtMetricsTagTBOtMetricsTagHorizontalClippingAscent
    -- ^ horizontal clipping ascent.
    | OtMetricsTagTBOtMetricsTagHorizontalClippingDescent
    -- ^ horizontal clipping descent.
    | OtMetricsTagTBOtMetricsTagVerticalAscender
    -- ^ vertical ascender.
    | OtMetricsTagTBOtMetricsTagVerticalDescender
    -- ^ vertical descender.
    | OtMetricsTagTBOtMetricsTagVerticalLineGap
    -- ^ vertical line gap.
    | OtMetricsTagTBOtMetricsTagHorizontalCaretRise
    -- ^ horizontal caret rise.
    | OtMetricsTagTBOtMetricsTagHorizontalCaretRun
    -- ^ horizontal caret run.
    | OtMetricsTagTBOtMetricsTagHorizontalCaretOffset
    -- ^ horizontal caret offset.
    | OtMetricsTagTBOtMetricsTagVerticalCaretRise
    -- ^ vertical caret rise.
    | OtMetricsTagTBOtMetricsTagVerticalCaretRun
    -- ^ vertical caret run.
    | OtMetricsTagTBOtMetricsTagVerticalCaretOffset
    -- ^ vertical caret offset.
    | OtMetricsTagTBOtMetricsTagXHeight
    -- ^ x height.
    | OtMetricsTagTBOtMetricsTagCapHeight
    -- ^ cap height.
    | OtMetricsTagTBOtMetricsTagSubscriptEmXSize
    -- ^ subscript em x size.
    | OtMetricsTagTBOtMetricsTagSubscriptEmYSize
    -- ^ subscript em y size.
    | OtMetricsTagTBOtMetricsTagSubscriptEmXOffset
    -- ^ subscript em x offset.
    | OtMetricsTagTBOtMetricsTagSubscriptEmYOffset
    -- ^ subscript em y offset.
    | OtMetricsTagTBOtMetricsTagSuperscriptEmXSize
    -- ^ superscript em x size.
    | OtMetricsTagTBOtMetricsTagSuperscriptEmYSize
    -- ^ superscript em y size.
    | OtMetricsTagTBOtMetricsTagSuperscriptEmXOffset
    -- ^ superscript em x offset.
    | OtMetricsTagTBOtMetricsTagSuperscriptEmYOffset
    -- ^ superscript em y offset.
    | OtMetricsTagTBOtMetricsTagStrikeoutSize
    -- ^ strikeout size.
    | OtMetricsTagTBOtMetricsTagStrikeoutOffset
    -- ^ strikeout offset.
    | OtMetricsTagTBOtMetricsTagUnderlineSize
    -- ^ underline size.
    | OtMetricsTagTBOtMetricsTagUnderlineOffset
    -- ^ 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
$cshowsPrec :: Int -> OtMetricsTagT -> ShowS
showsPrec :: Int -> OtMetricsTagT -> ShowS
$cshow :: OtMetricsTagT -> String
show :: OtMetricsTagT -> String
$cshowList :: [OtMetricsTagT] -> ShowS
showList :: [OtMetricsTagT] -> ShowS
Show, OtMetricsTagT -> OtMetricsTagT -> Bool
(OtMetricsTagT -> OtMetricsTagT -> Bool)
-> (OtMetricsTagT -> OtMetricsTagT -> Bool) -> Eq OtMetricsTagT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtMetricsTagT -> OtMetricsTagT -> Bool
== :: OtMetricsTagT -> OtMetricsTagT -> Bool
$c/= :: OtMetricsTagT -> OtMetricsTagT -> Bool
/= :: OtMetricsTagT -> OtMetricsTagT -> Bool
Eq)

instance P.Enum OtMetricsTagT where
    fromEnum :: OtMetricsTagT -> Int
fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalAscender = Int
1751216995
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalDescender = Int
1751413603
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalLineGap = Int
1751934832
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalClippingAscent = Int
1751346273
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalClippingDescent = Int
1751346276
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalAscender = Int
1986098019
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalDescender = Int
1986294627
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalLineGap = Int
1986815856
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretRise = Int
1751347827
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretRun = Int
1751347822
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretOffset = Int
1751347046
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretRise = Int
1986228851
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretRun = Int
1986228846
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretOffset = Int
1986228070
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagXHeight = Int
2020108148
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagCapHeight = Int
1668311156
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmXSize = Int
1935833203
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmYSize = Int
1935833459
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmXOffset = Int
1935833199
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmYOffset = Int
1935833455
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmXSize = Int
1936750707
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmYSize = Int
1936750963
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmXOffset = Int
1936750703
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmYOffset = Int
1936750959
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagStrikeoutSize = Int
1937011315
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagStrikeoutOffset = Int
1937011311
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagUnderlineSize = Int
1970168947
    fromEnum OtMetricsTagT
OtMetricsTagTBOtMetricsTagUnderlineOffset = Int
1970168943
    fromEnum (AnotherOtMetricsTagT Int
k) = Int
k

    toEnum :: Int -> OtMetricsTagT
toEnum Int
1751216995 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalAscender
    toEnum Int
1751413603 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalDescender
    toEnum Int
1751934832 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalLineGap
    toEnum Int
1751346273 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalClippingAscent
    toEnum Int
1751346276 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalClippingDescent
    toEnum Int
1986098019 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalAscender
    toEnum Int
1986294627 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalDescender
    toEnum Int
1986815856 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalLineGap
    toEnum Int
1751347827 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretRise
    toEnum Int
1751347822 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretRun
    toEnum Int
1751347046 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagHorizontalCaretOffset
    toEnum Int
1986228851 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretRise
    toEnum Int
1986228846 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretRun
    toEnum Int
1986228070 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagVerticalCaretOffset
    toEnum Int
2020108148 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagXHeight
    toEnum Int
1668311156 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagCapHeight
    toEnum Int
1935833203 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmXSize
    toEnum Int
1935833459 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmYSize
    toEnum Int
1935833199 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmXOffset
    toEnum Int
1935833455 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSubscriptEmYOffset
    toEnum Int
1936750707 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmXSize
    toEnum Int
1936750963 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmYSize
    toEnum Int
1936750703 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmXOffset
    toEnum Int
1936750959 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagSuperscriptEmYOffset
    toEnum Int
1937011315 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagStrikeoutSize
    toEnum Int
1937011311 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagStrikeoutOffset
    toEnum Int
1970168947 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagUnderlineSize
    toEnum Int
1970168943 = OtMetricsTagT
OtMetricsTagTBOtMetricsTagUnderlineOffset
    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)

instance IsGFlag OtMetricsTagT

-- Flags ot_meta_tag_t
-- | Known metadata tags from https:\/\/docs.microsoft.com\/en-us\/typography\/opentype\/spec\/meta
-- 
-- /Since: 2.6.0/
data OtMetaTagT = 
      OtMetaTagTBOtMetaTagDesignLanguages
    -- ^ 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.
    | OtMetaTagTBOtMetaTagSupportedLanguages
    -- ^ 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
$cshowsPrec :: Int -> OtMetaTagT -> ShowS
showsPrec :: Int -> OtMetaTagT -> ShowS
$cshow :: OtMetaTagT -> String
show :: OtMetaTagT -> String
$cshowList :: [OtMetaTagT] -> ShowS
showList :: [OtMetaTagT] -> ShowS
Show, OtMetaTagT -> OtMetaTagT -> Bool
(OtMetaTagT -> OtMetaTagT -> Bool)
-> (OtMetaTagT -> OtMetaTagT -> Bool) -> Eq OtMetaTagT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtMetaTagT -> OtMetaTagT -> Bool
== :: OtMetaTagT -> OtMetaTagT -> Bool
$c/= :: OtMetaTagT -> OtMetaTagT -> Bool
/= :: OtMetaTagT -> OtMetaTagT -> Bool
Eq)

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

    toEnum :: Int -> OtMetaTagT
toEnum Int
1684827751 = OtMetaTagT
OtMetaTagTBOtMetaTagDesignLanguages
    toEnum Int
1936485991 = OtMetaTagT
OtMetaTagTBOtMetaTagSupportedLanguages
    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)

instance IsGFlag OtMetaTagT

-- Flags ot_math_glyph_part_flags_t
-- | Flags for math glyph parts.
-- 
-- /Since: 1.3.3/
data OtMathGlyphPartFlagsT = 
      OtMathGlyphPartFlagsTOtMathGlyphPartFlagExtender
    -- ^ This is an extender glyph part that
    -- can be repeated to reach the desired length.
    | AnotherOtMathGlyphPartFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> OtMathGlyphPartFlagsT -> ShowS
[OtMathGlyphPartFlagsT] -> ShowS
OtMathGlyphPartFlagsT -> String
(Int -> OtMathGlyphPartFlagsT -> ShowS)
-> (OtMathGlyphPartFlagsT -> String)
-> ([OtMathGlyphPartFlagsT] -> ShowS)
-> Show OtMathGlyphPartFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OtMathGlyphPartFlagsT -> ShowS
showsPrec :: Int -> OtMathGlyphPartFlagsT -> ShowS
$cshow :: OtMathGlyphPartFlagsT -> String
show :: OtMathGlyphPartFlagsT -> String
$cshowList :: [OtMathGlyphPartFlagsT] -> ShowS
showList :: [OtMathGlyphPartFlagsT] -> ShowS
Show, OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool
(OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool)
-> (OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool)
-> Eq OtMathGlyphPartFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool
== :: OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool
$c/= :: OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool
/= :: OtMathGlyphPartFlagsT -> OtMathGlyphPartFlagsT -> Bool
Eq)

instance P.Enum OtMathGlyphPartFlagsT where
    fromEnum :: OtMathGlyphPartFlagsT -> Int
fromEnum OtMathGlyphPartFlagsT
OtMathGlyphPartFlagsTOtMathGlyphPartFlagExtender = Int
1
    fromEnum (AnotherOtMathGlyphPartFlagsT Int
k) = Int
k

    toEnum :: Int -> OtMathGlyphPartFlagsT
toEnum Int
1 = OtMathGlyphPartFlagsT
OtMathGlyphPartFlagsTOtMathGlyphPartFlagExtender
    toEnum Int
k = Int -> OtMathGlyphPartFlagsT
AnotherOtMathGlyphPartFlagsT Int
k

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

instance IsGFlag OtMathGlyphPartFlagsT

-- Flags 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 = 
      OtLayoutBaselineTagTBOtLayoutBaselineTagRoman
    -- ^ 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.)
    | OtLayoutBaselineTagTBOtLayoutBaselineTagHanging
    -- ^ 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.
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceBottomOrLeft
    -- ^ Ideographic character face bottom or left edge,
    -- if the direction is horizontal or vertical, respectively.
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceTopOrRight
    -- ^ Ideographic character face top or right edge,
    -- if the direction is horizontal or vertical, respectively.
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceCentral
    -- ^ The center of the ideographic character face. Since: 4.0.0
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxBottomOrLeft
    -- ^ Ideographic em-box bottom or left edge,
    -- if the direction is horizontal or vertical, respectively.
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxTopOrRight
    -- ^ Ideographic em-box top or right edge baseline,
    | OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxCentral
    -- ^ The center of the ideographic em-box. Since: 4.0.0
    -- if the direction is horizontal or vertical, respectively.
    | OtLayoutBaselineTagTBOtLayoutBaselineTagMath
    -- ^ 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
$cshowsPrec :: Int -> OtLayoutBaselineTagT -> ShowS
showsPrec :: Int -> OtLayoutBaselineTagT -> ShowS
$cshow :: OtLayoutBaselineTagT -> String
show :: OtLayoutBaselineTagT -> String
$cshowList :: [OtLayoutBaselineTagT] -> ShowS
showList :: [OtLayoutBaselineTagT] -> ShowS
Show, OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
(OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool)
-> (OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool)
-> Eq OtLayoutBaselineTagT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
== :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
$c/= :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
/= :: OtLayoutBaselineTagT -> OtLayoutBaselineTagT -> Bool
Eq)

instance P.Enum OtLayoutBaselineTagT where
    fromEnum :: OtLayoutBaselineTagT -> Int
fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagRoman = Int
1919905134
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagHanging = Int
1751215719
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceBottomOrLeft = Int
1768121954
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceTopOrRight = Int
1768121972
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceCentral = Int
1231251043
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxBottomOrLeft = Int
1768187247
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxTopOrRight = Int
1768191088
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxCentral = Int
1231315813
    fromEnum OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagMath = Int
1835103336
    fromEnum (AnotherOtLayoutBaselineTagT Int
k) = Int
k

    toEnum :: Int -> OtLayoutBaselineTagT
toEnum Int
1919905134 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagRoman
    toEnum Int
1751215719 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagHanging
    toEnum Int
1768121954 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceBottomOrLeft
    toEnum Int
1768121972 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceTopOrRight
    toEnum Int
1231251043 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoFaceCentral
    toEnum Int
1768187247 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxBottomOrLeft
    toEnum Int
1768191088 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxTopOrRight
    toEnum Int
1231315813 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagIdeoEmboxCentral
    toEnum Int
1835103336 = OtLayoutBaselineTagT
OtLayoutBaselineTagTBOtLayoutBaselineTagMath
    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)

instance IsGFlag OtLayoutBaselineTagT

-- Flags ot_color_palette_flags_t
-- | Flags that describe the properties of color palette.
-- 
-- /Since: 2.1.0/
data OtColorPaletteFlagsT = 
      OtColorPaletteFlagsTDefault
    -- ^ Default indicating that there is nothing special
    --   to note about a color palette.
    | OtColorPaletteFlagsTUsableWithLightBackground
    -- ^ Flag indicating that the color
    --   palette is appropriate to use when displaying the font on a light background such as white.
    | OtColorPaletteFlagsTUsableWithDarkBackground
    -- ^ Flag indicating that the color
    --   palette is appropriate to use when displaying the font on a dark background such as black.
    | AnotherOtColorPaletteFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> OtColorPaletteFlagsT -> ShowS
[OtColorPaletteFlagsT] -> ShowS
OtColorPaletteFlagsT -> String
(Int -> OtColorPaletteFlagsT -> ShowS)
-> (OtColorPaletteFlagsT -> String)
-> ([OtColorPaletteFlagsT] -> ShowS)
-> Show OtColorPaletteFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OtColorPaletteFlagsT -> ShowS
showsPrec :: Int -> OtColorPaletteFlagsT -> ShowS
$cshow :: OtColorPaletteFlagsT -> String
show :: OtColorPaletteFlagsT -> String
$cshowList :: [OtColorPaletteFlagsT] -> ShowS
showList :: [OtColorPaletteFlagsT] -> ShowS
Show, OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool
(OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool)
-> (OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool)
-> Eq OtColorPaletteFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool
== :: OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool
$c/= :: OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool
/= :: OtColorPaletteFlagsT -> OtColorPaletteFlagsT -> Bool
Eq)

instance P.Enum OtColorPaletteFlagsT where
    fromEnum :: OtColorPaletteFlagsT -> Int
fromEnum OtColorPaletteFlagsT
OtColorPaletteFlagsTDefault = Int
0
    fromEnum OtColorPaletteFlagsT
OtColorPaletteFlagsTUsableWithLightBackground = Int
1
    fromEnum OtColorPaletteFlagsT
OtColorPaletteFlagsTUsableWithDarkBackground = Int
2
    fromEnum (AnotherOtColorPaletteFlagsT Int
k) = Int
k

    toEnum :: Int -> OtColorPaletteFlagsT
toEnum Int
0 = OtColorPaletteFlagsT
OtColorPaletteFlagsTDefault
    toEnum Int
1 = OtColorPaletteFlagsT
OtColorPaletteFlagsTUsableWithLightBackground
    toEnum Int
2 = OtColorPaletteFlagsT
OtColorPaletteFlagsTUsableWithDarkBackground
    toEnum Int
k = Int -> OtColorPaletteFlagsT
AnotherOtColorPaletteFlagsT Int
k

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

instance IsGFlag OtColorPaletteFlagsT

-- Flags glyph_flags_t
-- | Flags for t'GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT'.
-- 
-- /Since: 1.5.0/
data GlyphFlagsT = 
      GlyphFlagsTUnsafeToBreak
    -- ^ Indicates that if input text is broken at the
    -- 				   beginning of the cluster this glyph is part of,
    -- 				   then both sides need to be re-shaped, as the
    -- 				   result might be different.
    -- 				   On the flip side, it means that when this
    -- 				   flag is not present, then it is safe to break
    -- 				   the glyph-run at the beginning of this
    -- 				   cluster, and the two sides will represent the
    -- 				   exact same result one would get if breaking
    -- 				   input text at the beginning of this cluster
    -- 				   and shaping the two sides separately.
    -- 				   This can be used to optimize paragraph
    -- 				   layout, by avoiding re-shaping of each line
    -- 				   after line-breaking.
    | GlyphFlagsTUnsafeToConcat
    -- ^ Indicates that if input text is changed on one
    -- 				   side of the beginning of the cluster this glyph
    -- 				   is part of, then the shaping results for the
    -- 				   other side might change.
    -- 				   Note that the absence of this flag will NOT by
    -- 				   itself mean that it IS safe to concat text.
    -- 				   Only two pieces of text both of which clear of
    -- 				   this flag can be concatenated safely.
    -- 				   This can be used to optimize paragraph
    -- 				   layout, by avoiding re-shaping of each line
    -- 				   after line-breaking, by limiting the
    -- 				   reshaping to a small piece around the
    -- 				   breaking position only, even if the breaking
    -- 				   position carries the
    -- 				   @/HB_GLYPH_FLAG_UNSAFE_TO_BREAK/@ or when
    -- 				   hyphenation or other text transformation
    -- 				   happens at line-break position, in the following
    -- 				   way:
    -- 1. Iterate back from the line-break position
    --    until the first cluster start position that is
    --    NOT unsafe-to-concat, 2. shape the segment from
    --    there till the end of line, 3. check whether the
    --    resulting glyph-run also is clear of the
    --    unsafe-to-concat at its start-of-text position;
    --    if it is, just splice it into place and the line
    --    is shaped; If not, move on to a position further
    --    back that is clear of unsafe-to-concat and retry
    --    from there, and repeat.
    --    At the start of next line a similar algorithm can
    --    be implemented. That is: 1. Iterate forward from
    --    the line-break position until the first cluster
    --    start position that is NOT unsafe-to-concat, 2.
    --    shape the segment from beginning of the line to
    --    that position, 3. check whether the resulting
    --    glyph-run also is clear of the unsafe-to-concat
    --    at its end-of-text position; if it is, just splice
    --    it into place and the beginning is shaped; If not,
    --    move on to a position further forward that is clear
    --    of unsafe-to-concat and retry up to there, and repeat.
    --    A slight complication will arise in the
    --    implementation of the algorithm above,
    --    because while our buffer API has a way to
    --    return flags for position corresponding to
    --    start-of-text, there is currently no position
    --    corresponding to end-of-text.  This limitation
    --    can be alleviated by shaping more text than needed
    --    and looking for unsafe-to-concat flag within text
    --    clusters.
    --    The @/HB_GLYPH_FLAG_UNSAFE_TO_BREAK/@ flag will
    --    always imply this flag.
    -- 
    -- 
    -- 			   To use this flag, you must enable the buffer flag
    -- 			   /@hBBUFFERFLAGPRODUCEUNSAFETOCONCAT@/ during
    -- 			   shaping, otherwise the buffer flag will not be
    -- 			   reliably produced.
    -- 				   Since: 4.0.0
    | GlyphFlagsTSafeToInsertTatweel
    -- ^ In scripts that use elongation (Arabic,
    -- 				   Mongolian, Syriac, etc.), this flag signifies
    -- 				   that it is safe to insert a U+0640 TATWEEL
    -- 				   character before this cluster for elongation.
    -- 				   This flag does not determine the
    -- 				   script-specific elongation places, but only
    -- 				   when it is safe to do the elongation without
    -- 				   interrupting text shaping.
    -- 				   Since: 5.1.0
    | GlyphFlagsTDefined
    -- ^ All the currently defined flags.
    | AnotherGlyphFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> GlyphFlagsT -> ShowS
[GlyphFlagsT] -> ShowS
GlyphFlagsT -> String
(Int -> GlyphFlagsT -> ShowS)
-> (GlyphFlagsT -> String)
-> ([GlyphFlagsT] -> ShowS)
-> Show GlyphFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GlyphFlagsT -> ShowS
showsPrec :: Int -> GlyphFlagsT -> ShowS
$cshow :: GlyphFlagsT -> String
show :: GlyphFlagsT -> String
$cshowList :: [GlyphFlagsT] -> ShowS
showList :: [GlyphFlagsT] -> ShowS
Show, GlyphFlagsT -> GlyphFlagsT -> Bool
(GlyphFlagsT -> GlyphFlagsT -> Bool)
-> (GlyphFlagsT -> GlyphFlagsT -> Bool) -> Eq GlyphFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GlyphFlagsT -> GlyphFlagsT -> Bool
== :: GlyphFlagsT -> GlyphFlagsT -> Bool
$c/= :: GlyphFlagsT -> GlyphFlagsT -> Bool
/= :: GlyphFlagsT -> GlyphFlagsT -> Bool
Eq)

instance P.Enum GlyphFlagsT where
    fromEnum :: GlyphFlagsT -> Int
fromEnum GlyphFlagsT
GlyphFlagsTUnsafeToBreak = Int
1
    fromEnum GlyphFlagsT
GlyphFlagsTUnsafeToConcat = Int
2
    fromEnum GlyphFlagsT
GlyphFlagsTSafeToInsertTatweel = Int
4
    fromEnum GlyphFlagsT
GlyphFlagsTDefined = Int
7
    fromEnum (AnotherGlyphFlagsT Int
k) = Int
k

    toEnum :: Int -> GlyphFlagsT
toEnum Int
1 = GlyphFlagsT
GlyphFlagsTUnsafeToBreak
    toEnum Int
2 = GlyphFlagsT
GlyphFlagsTUnsafeToConcat
    toEnum Int
4 = GlyphFlagsT
GlyphFlagsTSafeToInsertTatweel
    toEnum Int
7 = GlyphFlagsT
GlyphFlagsTDefined
    toEnum Int
k = Int -> GlyphFlagsT
AnotherGlyphFlagsT Int
k

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

instance IsGFlag GlyphFlagsT

-- Flags 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
$cshowsPrec :: Int -> BufferSerializeFormatT -> ShowS
showsPrec :: Int -> BufferSerializeFormatT -> ShowS
$cshow :: BufferSerializeFormatT -> String
show :: BufferSerializeFormatT -> String
$cshowList :: [BufferSerializeFormatT] -> ShowS
showList :: [BufferSerializeFormatT] -> ShowS
Show, BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
(BufferSerializeFormatT -> BufferSerializeFormatT -> Bool)
-> (BufferSerializeFormatT -> BufferSerializeFormatT -> Bool)
-> Eq BufferSerializeFormatT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
== :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
$c/= :: BufferSerializeFormatT -> BufferSerializeFormatT -> Bool
/= :: 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)

instance IsGFlag BufferSerializeFormatT

-- Flags buffer_serialize_flags_t
-- | Flags that control what glyph information are serialized in 'GI.HarfBuzz.Functions.bufferSerializeGlyphs'.
-- 
-- /Since: 0.9.20/
data BufferSerializeFlagsT = 
      BufferSerializeFlagsTDefault
    -- ^ serialize glyph names, clusters and positions.
    | BufferSerializeFlagsTNoClusters
    -- ^ do not serialize glyph cluster.
    | BufferSerializeFlagsTNoPositions
    -- ^ do not serialize glyph position information.
    | BufferSerializeFlagsTNoGlyphNames
    -- ^ do no serialize glyph name.
    | BufferSerializeFlagsTGlyphExtents
    -- ^ serialize glyph extents.
    | BufferSerializeFlagsTGlyphFlags
    -- ^ serialize glyph flags. Since: 1.5.0
    | BufferSerializeFlagsTNoAdvances
    -- ^ do not serialize glyph advances,
    --  glyph offsets will reflect absolute glyph positions. Since: 1.8.0
    | BufferSerializeFlagsTDefined
    -- ^ All currently defined flags. Since: 4.4.0
    | AnotherBufferSerializeFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> BufferSerializeFlagsT -> ShowS
[BufferSerializeFlagsT] -> ShowS
BufferSerializeFlagsT -> String
(Int -> BufferSerializeFlagsT -> ShowS)
-> (BufferSerializeFlagsT -> String)
-> ([BufferSerializeFlagsT] -> ShowS)
-> Show BufferSerializeFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BufferSerializeFlagsT -> ShowS
showsPrec :: Int -> BufferSerializeFlagsT -> ShowS
$cshow :: BufferSerializeFlagsT -> String
show :: BufferSerializeFlagsT -> String
$cshowList :: [BufferSerializeFlagsT] -> ShowS
showList :: [BufferSerializeFlagsT] -> ShowS
Show, BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool
(BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool)
-> (BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool)
-> Eq BufferSerializeFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool
== :: BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool
$c/= :: BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool
/= :: BufferSerializeFlagsT -> BufferSerializeFlagsT -> Bool
Eq)

instance P.Enum BufferSerializeFlagsT where
    fromEnum :: BufferSerializeFlagsT -> Int
fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTDefault = Int
0
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTNoClusters = Int
1
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTNoPositions = Int
2
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTNoGlyphNames = Int
4
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTGlyphExtents = Int
8
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTGlyphFlags = Int
16
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTNoAdvances = Int
32
    fromEnum BufferSerializeFlagsT
BufferSerializeFlagsTDefined = Int
63
    fromEnum (AnotherBufferSerializeFlagsT Int
k) = Int
k

    toEnum :: Int -> BufferSerializeFlagsT
toEnum Int
0 = BufferSerializeFlagsT
BufferSerializeFlagsTDefault
    toEnum Int
1 = BufferSerializeFlagsT
BufferSerializeFlagsTNoClusters
    toEnum Int
2 = BufferSerializeFlagsT
BufferSerializeFlagsTNoPositions
    toEnum Int
4 = BufferSerializeFlagsT
BufferSerializeFlagsTNoGlyphNames
    toEnum Int
8 = BufferSerializeFlagsT
BufferSerializeFlagsTGlyphExtents
    toEnum Int
16 = BufferSerializeFlagsT
BufferSerializeFlagsTGlyphFlags
    toEnum Int
32 = BufferSerializeFlagsT
BufferSerializeFlagsTNoAdvances
    toEnum Int
63 = BufferSerializeFlagsT
BufferSerializeFlagsTDefined
    toEnum Int
k = Int -> BufferSerializeFlagsT
AnotherBufferSerializeFlagsT Int
k

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

instance IsGFlag BufferSerializeFlagsT

-- Flags buffer_flags_t
-- | Flags for t'GI.HarfBuzz.Structs.BufferT.BufferT'.
-- 
-- /Since: 0.9.20/
data BufferFlagsT = 
      BufferFlagsTDefault
    -- ^ the default buffer flag.
    | BufferFlagsTBot
    -- ^ flag indicating that special handling of the beginning
    --                      of text paragraph can be applied to this buffer. Should usually
    --                      be set, unless you are passing to the buffer only part
    --                      of the text without the full context.
    | BufferFlagsTEot
    -- ^ flag indicating that special handling of the end of text
    --                      paragraph can be applied to this buffer, similar to
    --                      /@hBBUFFERFLAGBOT@/.
    | BufferFlagsTPreserveDefaultIgnorables
    -- ^ flag indication that character with Default_Ignorable
    --                      Unicode property should use the corresponding glyph
    --                      from the font, instead of hiding them (done by
    --                      replacing them with the space glyph and zeroing the
    --                      advance width.)  This flag takes precedence over
    --                      /@hBBUFFERFLAGREMOVEDEFAULTIGNORABLES@/.
    | BufferFlagsTRemoveDefaultIgnorables
    -- ^ flag indication that character with Default_Ignorable
    --                      Unicode property should be removed from glyph string
    --                      instead of hiding them (done by replacing them with the
    --                      space glyph and zeroing the advance width.)
    --                      /@hBBUFFERFLAGPRESERVEDEFAULTIGNORABLES@/ takes
    --                      precedence over this flag. Since: 1.8.0
    | BufferFlagsTDoNotInsertDottedCircle
    -- ^ flag indicating that a dotted circle should
    --                      not be inserted in the rendering of incorrect
    --                      character sequences (such at \<0905 093E>). Since: 2.4.0
    | BufferFlagsTVerify
    -- ^ flag indicating that the 'GI.HarfBuzz.Functions.shape' call and its variants
    --                      should perform various verification processes on the results
    --                      of the shaping operation on the buffer.  If the verification
    --                      fails, then either a buffer message is sent, if a message
    --                      handler is installed on the buffer, or a message is written
    --                      to standard error.  In either case, the shaping result might
    --                      be modified to show the failed output. Since: 3.4.0
    | BufferFlagsTProduceUnsafeToConcat
    -- ^ flag indicating that the /@hBGLYPHFLAGUNSAFETOCONCAT@/
    --                      glyph-flag should be produced by the shaper. By default
    --                      it will not be produced since it incurs a cost. Since: 4.0.0
    | BufferFlagsTProduceSafeToInsertTatweel
    -- ^ flag indicating that the /@hBGLYPHFLAGSAFETOINSERTTATWEEL@/
    --                      glyph-flag should be produced by the shaper. By default
    --                      it will not be produced. Since: 5.1.0
    | BufferFlagsTDefined
    -- ^ All currently defined flags: Since: 4.4.0
    | AnotherBufferFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> BufferFlagsT -> ShowS
[BufferFlagsT] -> ShowS
BufferFlagsT -> String
(Int -> BufferFlagsT -> ShowS)
-> (BufferFlagsT -> String)
-> ([BufferFlagsT] -> ShowS)
-> Show BufferFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BufferFlagsT -> ShowS
showsPrec :: Int -> BufferFlagsT -> ShowS
$cshow :: BufferFlagsT -> String
show :: BufferFlagsT -> String
$cshowList :: [BufferFlagsT] -> ShowS
showList :: [BufferFlagsT] -> ShowS
Show, BufferFlagsT -> BufferFlagsT -> Bool
(BufferFlagsT -> BufferFlagsT -> Bool)
-> (BufferFlagsT -> BufferFlagsT -> Bool) -> Eq BufferFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BufferFlagsT -> BufferFlagsT -> Bool
== :: BufferFlagsT -> BufferFlagsT -> Bool
$c/= :: BufferFlagsT -> BufferFlagsT -> Bool
/= :: BufferFlagsT -> BufferFlagsT -> Bool
Eq)

instance P.Enum BufferFlagsT where
    fromEnum :: BufferFlagsT -> Int
fromEnum BufferFlagsT
BufferFlagsTDefault = Int
0
    fromEnum BufferFlagsT
BufferFlagsTBot = Int
1
    fromEnum BufferFlagsT
BufferFlagsTEot = Int
2
    fromEnum BufferFlagsT
BufferFlagsTPreserveDefaultIgnorables = Int
4
    fromEnum BufferFlagsT
BufferFlagsTRemoveDefaultIgnorables = Int
8
    fromEnum BufferFlagsT
BufferFlagsTDoNotInsertDottedCircle = Int
16
    fromEnum BufferFlagsT
BufferFlagsTVerify = Int
32
    fromEnum BufferFlagsT
BufferFlagsTProduceUnsafeToConcat = Int
64
    fromEnum BufferFlagsT
BufferFlagsTProduceSafeToInsertTatweel = Int
128
    fromEnum BufferFlagsT
BufferFlagsTDefined = Int
255
    fromEnum (AnotherBufferFlagsT Int
k) = Int
k

    toEnum :: Int -> BufferFlagsT
toEnum Int
0 = BufferFlagsT
BufferFlagsTDefault
    toEnum Int
1 = BufferFlagsT
BufferFlagsTBot
    toEnum Int
2 = BufferFlagsT
BufferFlagsTEot
    toEnum Int
4 = BufferFlagsT
BufferFlagsTPreserveDefaultIgnorables
    toEnum Int
8 = BufferFlagsT
BufferFlagsTRemoveDefaultIgnorables
    toEnum Int
16 = BufferFlagsT
BufferFlagsTDoNotInsertDottedCircle
    toEnum Int
32 = BufferFlagsT
BufferFlagsTVerify
    toEnum Int
64 = BufferFlagsT
BufferFlagsTProduceUnsafeToConcat
    toEnum Int
128 = BufferFlagsT
BufferFlagsTProduceSafeToInsertTatweel
    toEnum Int
255 = BufferFlagsT
BufferFlagsTDefined
    toEnum Int
k = Int -> BufferFlagsT
AnotherBufferFlagsT Int
k

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

instance IsGFlag BufferFlagsT

-- Flags buffer_diff_flags_t
-- | Flags from comparing two t'GI.HarfBuzz.Structs.BufferT.BufferT'\'s.
-- 
-- Buffer with different t'GI.HarfBuzz.Enums.BufferContentTypeT' cannot be meaningfully
-- compared in any further detail.
-- 
-- For buffers with differing length, the per-glyph comparison is not
-- attempted, though we do still scan reference buffer for dotted circle and
-- @.notdef@ glyphs.
-- 
-- If the buffers have the same length, we compare them glyph-by-glyph and
-- report which aspect(s) of the glyph info\/position are different.
-- 
-- /Since: 1.5.0/
data BufferDiffFlagsT = 
      BufferDiffFlagsTEqual
    -- ^ equal buffers.
    | BufferDiffFlagsTContentTypeMismatch
    -- ^ buffers with different
    --     t'GI.HarfBuzz.Enums.BufferContentTypeT'.
    | BufferDiffFlagsTLengthMismatch
    -- ^ buffers with differing length.
    | BufferDiffFlagsTNotdefPresent
    -- ^ @.notdef@ glyph is present in the
    --     reference buffer.
    | BufferDiffFlagsTDottedCirclePresent
    -- ^ dotted circle glyph is present
    --     in the reference buffer.
    | BufferDiffFlagsTCodepointMismatch
    -- ^ difference in t'GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT'.@/codepoint/@
    | BufferDiffFlagsTClusterMismatch
    -- ^ difference in t'GI.HarfBuzz.Structs.GlyphInfoT.GlyphInfoT'.@/cluster/@
    | BufferDiffFlagsTGlyphFlagsMismatch
    -- ^ difference in t'GI.HarfBuzz.Flags.GlyphFlagsT'.
    | BufferDiffFlagsTPositionMismatch
    -- ^ difference in t'GI.HarfBuzz.Structs.GlyphPositionT.GlyphPositionT'.
    | AnotherBufferDiffFlagsT Int
    -- ^ Catch-all for unknown values
    deriving (Int -> BufferDiffFlagsT -> ShowS
[BufferDiffFlagsT] -> ShowS
BufferDiffFlagsT -> String
(Int -> BufferDiffFlagsT -> ShowS)
-> (BufferDiffFlagsT -> String)
-> ([BufferDiffFlagsT] -> ShowS)
-> Show BufferDiffFlagsT
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BufferDiffFlagsT -> ShowS
showsPrec :: Int -> BufferDiffFlagsT -> ShowS
$cshow :: BufferDiffFlagsT -> String
show :: BufferDiffFlagsT -> String
$cshowList :: [BufferDiffFlagsT] -> ShowS
showList :: [BufferDiffFlagsT] -> ShowS
Show, BufferDiffFlagsT -> BufferDiffFlagsT -> Bool
(BufferDiffFlagsT -> BufferDiffFlagsT -> Bool)
-> (BufferDiffFlagsT -> BufferDiffFlagsT -> Bool)
-> Eq BufferDiffFlagsT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BufferDiffFlagsT -> BufferDiffFlagsT -> Bool
== :: BufferDiffFlagsT -> BufferDiffFlagsT -> Bool
$c/= :: BufferDiffFlagsT -> BufferDiffFlagsT -> Bool
/= :: BufferDiffFlagsT -> BufferDiffFlagsT -> Bool
Eq)

instance P.Enum BufferDiffFlagsT where
    fromEnum :: BufferDiffFlagsT -> Int
fromEnum BufferDiffFlagsT
BufferDiffFlagsTEqual = Int
0
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTContentTypeMismatch = Int
1
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTLengthMismatch = Int
2
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTNotdefPresent = Int
4
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTDottedCirclePresent = Int
8
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTCodepointMismatch = Int
16
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTClusterMismatch = Int
32
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTGlyphFlagsMismatch = Int
64
    fromEnum BufferDiffFlagsT
BufferDiffFlagsTPositionMismatch = Int
128
    fromEnum (AnotherBufferDiffFlagsT Int
k) = Int
k

    toEnum :: Int -> BufferDiffFlagsT
toEnum Int
0 = BufferDiffFlagsT
BufferDiffFlagsTEqual
    toEnum Int
1 = BufferDiffFlagsT
BufferDiffFlagsTContentTypeMismatch
    toEnum Int
2 = BufferDiffFlagsT
BufferDiffFlagsTLengthMismatch
    toEnum Int
4 = BufferDiffFlagsT
BufferDiffFlagsTNotdefPresent
    toEnum Int
8 = BufferDiffFlagsT
BufferDiffFlagsTDottedCirclePresent
    toEnum Int
16 = BufferDiffFlagsT
BufferDiffFlagsTCodepointMismatch
    toEnum Int
32 = BufferDiffFlagsT
BufferDiffFlagsTClusterMismatch
    toEnum Int
64 = BufferDiffFlagsT
BufferDiffFlagsTGlyphFlagsMismatch
    toEnum Int
128 = BufferDiffFlagsT
BufferDiffFlagsTPositionMismatch
    toEnum Int
k = Int -> BufferDiffFlagsT
AnotherBufferDiffFlagsT Int
k

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

instance IsGFlag BufferDiffFlagsT

-- Flags 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 = 
      AatLayoutFeatureTypeTBAatLayoutFeatureTypeInvalid
    -- ^ Initial, unset feature type
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeAllTypographic
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type0 All Typographic Features>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeLigatures
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type1 Ligatures>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCursiveConnection
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type2 Cursive Connection>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeLetterCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type3 Letter Case>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalSubstitution
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type4 Vertical Substitution>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeLinguisticRearrangement
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type5 Linguistic Rearrangement>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberSpacing
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type6 Number Spacing>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeSmartSwashType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type8 Smart Swash>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeDiacriticsType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type9 Diacritics>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalPosition
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type10 Vertical Position>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeFractions
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type11 Fractions>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeOverlappingCharactersType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type13 Overlapping Characters>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeTypographicExtras
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type14 Typographic Extras>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeMathematicalExtras
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type15 Mathematical Extras>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeOrnamentSetsType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type16 Ornament Sets>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type17 Character Alternatives>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeDesignComplexityType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type18 Design Complexity>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeStyleOptions
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type19 Style Options>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterShape
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type20 Character Shape>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type21 Number Case>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeTextSpacing
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type22 Text Spacing>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeTransliteration
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type23 Transliteration>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeAnnotationType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type24 Annotation>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeKanaSpacingType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type25 Kana Spacing>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicSpacingType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type26 Ideographic Spacing>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeUnicodeDecompositionType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type27 Unicode Decomposition>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeRubyKana
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type28 Ruby Kana>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkSymbolAlternativesType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type29 CJK Symbol Alternatives>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicAlternativesType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type30 Ideographic Alternatives>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkVerticalRomanPlacementType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type31 CJK Vertical Roman Placement>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeItalicCjkRoman
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type32 Italic CJK Roman>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCaseSensitiveLayout
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type33 Case Sensitive Layout>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeAlternateKana
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type34 Alternate Kana>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeStylisticAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type35 Stylistic Alternatives>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeContextualAlternatives
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type36 Contextual Alternatives>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeLowerCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type37 Lower Case>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeUpperCase
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type38 Upper Case>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeLanguageTagType
    -- ^ <https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html#Type39 Language Tag>
    | AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkRomanSpacingType
    -- ^ <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
$cshowsPrec :: Int -> AatLayoutFeatureTypeT -> ShowS
showsPrec :: Int -> AatLayoutFeatureTypeT -> ShowS
$cshow :: AatLayoutFeatureTypeT -> String
show :: AatLayoutFeatureTypeT -> String
$cshowList :: [AatLayoutFeatureTypeT] -> ShowS
showList :: [AatLayoutFeatureTypeT] -> ShowS
Show, AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
(AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool)
-> (AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool)
-> Eq AatLayoutFeatureTypeT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
== :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
$c/= :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
/= :: AatLayoutFeatureTypeT -> AatLayoutFeatureTypeT -> Bool
Eq)

instance P.Enum AatLayoutFeatureTypeT where
    fromEnum :: AatLayoutFeatureTypeT -> Int
fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeInvalid = Int
65535
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAllTypographic = Int
0
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLigatures = Int
1
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCursiveConnection = Int
2
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLetterCase = Int
3
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalSubstitution = Int
4
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLinguisticRearrangement = Int
5
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberSpacing = Int
6
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeSmartSwashType = Int
8
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeDiacriticsType = Int
9
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalPosition = Int
10
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeFractions = Int
11
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeOverlappingCharactersType = Int
13
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTypographicExtras = Int
14
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeMathematicalExtras = Int
15
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeOrnamentSetsType = Int
16
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterAlternatives = Int
17
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeDesignComplexityType = Int
18
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeStyleOptions = Int
19
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterShape = Int
20
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberCase = Int
21
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTextSpacing = Int
22
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTransliteration = Int
23
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAnnotationType = Int
24
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeKanaSpacingType = Int
25
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicSpacingType = Int
26
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeUnicodeDecompositionType = Int
27
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeRubyKana = Int
28
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkSymbolAlternativesType = Int
29
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicAlternativesType = Int
30
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkVerticalRomanPlacementType = Int
31
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeItalicCjkRoman = Int
32
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCaseSensitiveLayout = Int
33
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAlternateKana = Int
34
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeStylisticAlternatives = Int
35
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeContextualAlternatives = Int
36
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLowerCase = Int
37
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeUpperCase = Int
38
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLanguageTagType = Int
39
    fromEnum AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkRomanSpacingType = Int
103
    fromEnum (AnotherAatLayoutFeatureTypeT Int
k) = Int
k

    toEnum :: Int -> AatLayoutFeatureTypeT
toEnum Int
65535 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeInvalid
    toEnum Int
0 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAllTypographic
    toEnum Int
1 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLigatures
    toEnum Int
2 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCursiveConnection
    toEnum Int
3 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLetterCase
    toEnum Int
4 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalSubstitution
    toEnum Int
5 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLinguisticRearrangement
    toEnum Int
6 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberSpacing
    toEnum Int
8 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeSmartSwashType
    toEnum Int
9 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeDiacriticsType
    toEnum Int
10 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeVerticalPosition
    toEnum Int
11 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeFractions
    toEnum Int
13 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeOverlappingCharactersType
    toEnum Int
14 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTypographicExtras
    toEnum Int
15 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeMathematicalExtras
    toEnum Int
16 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeOrnamentSetsType
    toEnum Int
17 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterAlternatives
    toEnum Int
18 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeDesignComplexityType
    toEnum Int
19 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeStyleOptions
    toEnum Int
20 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCharacterShape
    toEnum Int
21 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeNumberCase
    toEnum Int
22 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTextSpacing
    toEnum Int
23 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeTransliteration
    toEnum Int
24 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAnnotationType
    toEnum Int
25 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeKanaSpacingType
    toEnum Int
26 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicSpacingType
    toEnum Int
27 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeUnicodeDecompositionType
    toEnum Int
28 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeRubyKana
    toEnum Int
29 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkSymbolAlternativesType
    toEnum Int
30 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeIdeographicAlternativesType
    toEnum Int
31 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkVerticalRomanPlacementType
    toEnum Int
32 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeItalicCjkRoman
    toEnum Int
33 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCaseSensitiveLayout
    toEnum Int
34 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeAlternateKana
    toEnum Int
35 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeStylisticAlternatives
    toEnum Int
36 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeContextualAlternatives
    toEnum Int
37 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLowerCase
    toEnum Int
38 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeUpperCase
    toEnum Int
39 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeLanguageTagType
    toEnum Int
103 = AatLayoutFeatureTypeT
AatLayoutFeatureTypeTBAatLayoutFeatureTypeCjkRomanSpacingType
    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)

instance IsGFlag AatLayoutFeatureTypeT

-- Flags aat_layout_feature_selector_t
-- | The selectors defined for specifying AAT feature settings.
-- 
-- /Since: 2.2.0/
data AatLayoutFeatureSelectorT = 
      AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvalid
    -- ^ Initial, unset feature selector
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALL_TYPOGRAPHIC/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRequiredLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRequiredLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUnconnected
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPartiallyConnected
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCursive
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LIGATURES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperAndLowerCase
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllCaps
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllLowerCase
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmallCaps
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInitialCaps
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInitialCapsAndSmallCaps
    -- ^ Deprecated
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSubstituteVerticalFormsOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSubstituteVerticalFormsOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_SUBSTITUTION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLinguisticRearrangementOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLinguisticRearrangementOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LINGUISTIC_REARRANGEMENT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMonospacedNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorThirdWidthNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorQuarterWidthNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordInitialSwashesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordInitialSwashesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordFinalSwashesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordFinalSwashesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineInitialSwashesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineInitialSwashesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineFinalSwashesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineFinalSwashesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNonFinalSwashesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNonFinalSwashesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_SMART_SWASH_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorShowDiacritics
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHideDiacritics
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDecomposeDiacritics
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DIACRITICS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNormalPosition
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSuperiors
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInferiors
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorOrdinals
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorScientificInferiors
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_VERTICAL_POSITION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoFractions
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorVerticalFractions
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiagonalFractions
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_FRACTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPreventOverlapOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPreventOverlapOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_OVERLAPPING_CHARACTERS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphensToEmDashOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphensToEmDashOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToEnDashOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToEnDashOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashedZeroOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashedZeroOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFormInterrobangOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFormInterrobangOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmartQuotesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmartQuotesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodsToEllipsisOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodsToEllipsisOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TYPOGRAPHIC_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToMinusOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToMinusOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAsteriskToMultiplyOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAsteriskToMultiplyOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashToDivideOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashToDivideOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInequalityLigaturesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInequalityLigaturesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExponentsOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExponentsOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathematicalGreekOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathematicalGreekOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_MATHEMATICAL_EXTRAS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoOrnaments
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDingbats
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPiCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFleurons
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDecorativeBorders
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInternationalSymbols
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathSymbols
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ORNAMENT_SETS_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoAlternates
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel1
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel2
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel3
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel4
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel5
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_DESIGN_COMPLEXITY_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoStyleOptions
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDisplayText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorEngravedText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIlluminatedCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTitlingCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTallCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLE_OPTIONS/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSimplifiedCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1978Characters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1983Characters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1990Characters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltOne
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltTwo
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltThree
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltFour
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltFive
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExpertCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis2004Characters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHojoCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNlccharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalNamesCharacters
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CHARACTER_SHAPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCaseNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCaseNumbers
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_NUMBER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMonospacedText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorThirdWidthText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorQuarterWidthText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAltProportionalText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAltHalfWidthText
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TEXT_SPACING/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoTransliteration
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangul
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHiraganaToKatakana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorKatakanaToHiragana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorKanaToRomanization
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanizationToHiragana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanizationToKatakana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltOne
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltTwo
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltThree
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_TRANSLITERATION/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorBoxAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRoundedBoxAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCircleAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedCircleAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorParenthesisAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanNumeralAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiamondAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedBoxAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedRoundedBoxAnnotation
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ANNOTATION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthKana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalKana
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_KANA_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthIdeographs
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalIdeographs
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthIdeographs
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCanonicalCompositionOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCanonicalCompositionOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCompatibilityCompositionOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCompatibilityCompositionOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTranscodingCompositionOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTranscodingCompositionOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UNICODE_DECOMPOSITION_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoRubyKana
    -- ^ Deprecated; use @/HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_OFF/@ instead
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKana
    -- ^ Deprecated; use @/HB_AAT_LAYOUT_FEATURE_SELECTOR_RUBY_KANA_ON/@ instead
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKanaOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKanaOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_RUBY_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoCjkSymbolAlternatives
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltOne
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltTwo
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltThree
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltFour
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltFive
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_SYMBOL_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoIdeographicAlternatives
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltOne
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltTwo
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltThree
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltFour
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltFive
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_IDEOGRAPHIC_ALTERNATIVES_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkVerticalRomanCentered
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkVerticalRomanHbaseline
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_VERTICAL_ROMAN_PLACEMENT_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoCjkItalicRoman
    -- ^ Deprecated; use @/HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_OFF/@ instead
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRoman
    -- ^ Deprecated; use @/HB_AAT_LAYOUT_FEATURE_SELECTOR_CJK_ITALIC_ROMAN_ON/@ instead
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRomanOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRomanOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ITALIC_CJK_ROMAN/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveLayoutOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveLayoutOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveSpacingOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveSpacingOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CASE_SENSITIVE_LAYOUT/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateHorizKanaOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateHorizKanaOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateVertKanaOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateVertKanaOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_ALTERNATE_KANA/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoStylisticAlternates
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltOneOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltOneOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwoOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwoOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThreeOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThreeOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFiveOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFiveOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSevenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSevenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEightOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEightOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_STYLISTIC_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualAlternatesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualAlternatesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSwashAlternatesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSwashAlternatesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualSwashAlternatesOn
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualSwashAlternatesOff
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CONTEXTUAL_ALTERNATIVES/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultLowerCase
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCaseSmallCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCasePetiteCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_LOWER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultUpperCase
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCaseSmallCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCasePetiteCaps
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_UPPER_CASE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthCjkRoman
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalCjkRoman
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultCjkRoman
    -- ^ for @/HB_AAT_LAYOUT_FEATURE_TYPE_CJK_ROMAN_SPACING_TYPE/@
    | AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthCjkRoman
    -- ^ 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
$cshowsPrec :: Int -> AatLayoutFeatureSelectorT -> ShowS
showsPrec :: Int -> AatLayoutFeatureSelectorT -> ShowS
$cshow :: AatLayoutFeatureSelectorT -> String
show :: AatLayoutFeatureSelectorT -> String
$cshowList :: [AatLayoutFeatureSelectorT] -> ShowS
showList :: [AatLayoutFeatureSelectorT] -> ShowS
Show, AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
(AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool)
-> (AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool)
-> Eq AatLayoutFeatureSelectorT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
== :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
$c/= :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
/= :: AatLayoutFeatureSelectorT -> AatLayoutFeatureSelectorT -> Bool
Eq)

instance P.Enum AatLayoutFeatureSelectorT where
    fromEnum :: AatLayoutFeatureSelectorT -> Int
fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvalid = Int
65535
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRequiredLigaturesOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRequiredLigaturesOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOn = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOff = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOn = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOff = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOn = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOff = Int
11
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOn = Int
12
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOff = Int
13
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOn = Int
14
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOff = Int
15
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOn = Int
16
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOff = Int
17
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOn = Int
18
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOff = Int
19
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOn = Int
20
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOff = Int
21
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUnconnected = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPartiallyConnected = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCursive = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperAndLowerCase = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllCaps = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllLowerCase = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmallCaps = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInitialCaps = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInitialCapsAndSmallCaps = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSubstituteVerticalFormsOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSubstituteVerticalFormsOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLinguisticRearrangementOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLinguisticRearrangementOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMonospacedNumbers = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalNumbers = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorThirdWidthNumbers = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorQuarterWidthNumbers = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordInitialSwashesOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordInitialSwashesOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordFinalSwashesOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorWordFinalSwashesOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineInitialSwashesOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineInitialSwashesOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineFinalSwashesOn = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLineFinalSwashesOff = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNonFinalSwashesOn = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNonFinalSwashesOff = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorShowDiacritics = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHideDiacritics = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDecomposeDiacritics = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNormalPosition = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSuperiors = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInferiors = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorOrdinals = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorScientificInferiors = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoFractions = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorVerticalFractions = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiagonalFractions = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPreventOverlapOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPreventOverlapOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphensToEmDashOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphensToEmDashOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToEnDashOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToEnDashOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashedZeroOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashedZeroOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFormInterrobangOn = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFormInterrobangOff = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmartQuotesOn = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSmartQuotesOff = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodsToEllipsisOn = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodsToEllipsisOff = Int
11
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToMinusOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHyphenToMinusOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAsteriskToMultiplyOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAsteriskToMultiplyOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashToDivideOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSlashToDivideOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInequalityLigaturesOn = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInequalityLigaturesOff = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExponentsOn = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExponentsOff = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathematicalGreekOn = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathematicalGreekOff = Int
11
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoOrnaments = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDingbats = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPiCharacters = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFleurons = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDecorativeBorders = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInternationalSymbols = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMathSymbols = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoAlternates = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel1 = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel2 = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel3 = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel4 = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDesignLevel5 = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoStyleOptions = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDisplayText = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorEngravedText = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIlluminatedCaps = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTitlingCaps = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTallCaps = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalCharacters = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSimplifiedCharacters = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1978Characters = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1983Characters = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis1990Characters = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltOne = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltTwo = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltThree = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltFour = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalAltFive = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorExpertCharacters = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorJis2004Characters = Int
11
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHojoCharacters = Int
12
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNlccharacters = Int
13
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTraditionalNamesCharacters = Int
14
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCaseNumbers = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCaseNumbers = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalText = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorMonospacedText = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthText = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorThirdWidthText = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorQuarterWidthText = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAltProportionalText = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAltHalfWidthText = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoTransliteration = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangul = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHiraganaToKatakana = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorKatakanaToHiragana = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorKanaToRomanization = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanizationToHiragana = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanizationToKatakana = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltOne = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltTwo = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHanjaToHangulAltThree = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoAnnotation = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorBoxAnnotation = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRoundedBoxAnnotation = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCircleAnnotation = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedCircleAnnotation = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorParenthesisAnnotation = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorPeriodAnnotation = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRomanNumeralAnnotation = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiamondAnnotation = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedBoxAnnotation = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvertedRoundedBoxAnnotation = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthKana = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalKana = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthIdeographs = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalIdeographs = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthIdeographs = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCanonicalCompositionOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCanonicalCompositionOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCompatibilityCompositionOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCompatibilityCompositionOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTranscodingCompositionOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorTranscodingCompositionOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoRubyKana = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKana = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKanaOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRubyKanaOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoCjkSymbolAlternatives = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltOne = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltTwo = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltThree = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltFour = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkSymbolAltFive = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoIdeographicAlternatives = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltOne = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltTwo = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltThree = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltFour = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorIdeographicAltFive = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkVerticalRomanCentered = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkVerticalRomanHbaseline = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoCjkItalicRoman = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRoman = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRomanOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCjkItalicRomanOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveLayoutOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveLayoutOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveSpacingOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCaseSensitiveSpacingOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateHorizKanaOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateHorizKanaOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateVertKanaOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAlternateVertKanaOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorNoStylisticAlternates = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltOneOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltOneOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwoOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwoOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThreeOn = Int
6
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThreeOff = Int
7
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourOn = Int
8
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourOff = Int
9
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFiveOn = Int
10
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFiveOff = Int
11
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixOn = Int
12
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixOff = Int
13
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSevenOn = Int
14
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSevenOff = Int
15
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEightOn = Int
16
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEightOff = Int
17
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineOn = Int
18
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineOff = Int
19
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTenOn = Int
20
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTenOff = Int
21
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOn = Int
22
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOff = Int
23
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOn = Int
24
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOff = Int
25
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOn = Int
26
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOff = Int
27
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOn = Int
28
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOff = Int
29
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOn = Int
30
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOff = Int
31
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOn = Int
32
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOff = Int
33
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOn = Int
34
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOff = Int
35
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOn = Int
36
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOff = Int
37
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOn = Int
38
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOff = Int
39
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOn = Int
40
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOff = Int
41
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualAlternatesOn = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualAlternatesOff = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSwashAlternatesOn = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSwashAlternatesOff = Int
3
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualSwashAlternatesOn = Int
4
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualSwashAlternatesOff = Int
5
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultLowerCase = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCaseSmallCaps = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLowerCasePetiteCaps = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultUpperCase = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCaseSmallCaps = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorUpperCasePetiteCaps = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHalfWidthCjkRoman = Int
0
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorProportionalCjkRoman = Int
1
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDefaultCjkRoman = Int
2
    fromEnum AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorFullWidthCjkRoman = Int
3
    fromEnum (AnotherAatLayoutFeatureSelectorT Int
k) = Int
k

    toEnum :: Int -> AatLayoutFeatureSelectorT
toEnum Int
65535 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorInvalid
    toEnum Int
0 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOn
    toEnum Int
1 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAllTypeFeaturesOff
    toEnum Int
2 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOn
    toEnum Int
3 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorCommonLigaturesOff
    toEnum Int
4 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOn
    toEnum Int
5 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRareLigaturesOff
    toEnum Int
6 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOn
    toEnum Int
7 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorLogosOff
    toEnum Int
8 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOn
    toEnum Int
9 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorRebusPicturesOff
    toEnum Int
10 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOn
    toEnum Int
11 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorDiphthongLigaturesOff
    toEnum Int
12 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOn
    toEnum Int
13 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSquaredLigaturesOff
    toEnum Int
14 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOn
    toEnum Int
15 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorAbbrevSquaredLigaturesOff
    toEnum Int
16 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOn
    toEnum Int
17 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorSymbolLigaturesOff
    toEnum Int
18 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOn
    toEnum Int
19 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorContextualLigaturesOff
    toEnum Int
20 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOn
    toEnum Int
21 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorHistoricalLigaturesOff
    toEnum Int
22 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOn
    toEnum Int
23 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltElevenOff
    toEnum Int
24 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOn
    toEnum Int
25 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwelveOff
    toEnum Int
26 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOn
    toEnum Int
27 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltThirteenOff
    toEnum Int
28 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOn
    toEnum Int
29 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFourteenOff
    toEnum Int
30 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOn
    toEnum Int
31 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltFifteenOff
    toEnum Int
32 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOn
    toEnum Int
33 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSixteenOff
    toEnum Int
34 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOn
    toEnum Int
35 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltSeventeenOff
    toEnum Int
36 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOn
    toEnum Int
37 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltEighteenOff
    toEnum Int
38 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOn
    toEnum Int
39 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltNineteenOff
    toEnum Int
40 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOn
    toEnum Int
41 = AatLayoutFeatureSelectorT
AatLayoutFeatureSelectorTBAatLayoutFeatureSelectorStylisticAltTwentyOff
    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)

instance IsGFlag AatLayoutFeatureSelectorT