# -*- coding: utf-8 -*-

FEATURES = [
    {
        'tag': 'aalt',
        'name': 'Access All Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'abvf',
        'name': 'Above-base Forms',
        'exposed': False,
    },
    {
        'tag': 'abvm',
        'name': 'Above-base Mark Positioning',
        'exposed': False,
    },
    {
        'tag': 'abvs',
        'name': 'Above-base Substitutions',
        'exposed': False,
    },
    {
        'tag': 'afrc',
        'name': 'Alternative Fractions',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'akhn',
        'name': 'Akhands',
        'exposed': False,
    },
    {
        'tag': 'blwf',
        'name': 'Below-base Forms',
        'exposed': False,
    },
    {
        'tag': 'blwm',
        'name': 'Below-base Mark Positioning',
        'exposed': False,
    },
    {
        'tag': 'blws',
        'name': 'Below-base Substitutions',
        'exposed': False,
    },
    {
        'tag': 'calt',
        'name': 'Contextual Alternates',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'case',
        'name': 'Case-Sensitive Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ccmp',
        'name': 'Glyph Composition / Decomposition',
        'exposed': False,
    },
    {
        'tag': 'cfar',
        'name': 'Conjunct Form After Ro',
        'exposed': False,
    },
    {
        'tag': 'chws',
        'name': 'Contextual Half-width Spacing',
        'exposed': False,
    },
    {
        'tag': 'cjct',
        'name': 'Conjunct Forms',
        'exposed': False,
    },
    {
        'tag': 'clig',
        'name': 'Contextual Ligatures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'cpct',
        'name': 'Centered CJK Punctuation',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'cpsp',
        'name': 'Capital Spacing',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'cswh',
        'name': 'Contextual Swash',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'curs',
        'name': 'Cursive Positioning',
        'exposed': False,
    },
    {
        'tag': 'cv01',
        'name': 'Character Variants',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'cv99',
        'name': 'Character Variants',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'c2pc',
        'name': 'Petite Capitals From Capitals',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'c2sc',
        'name': 'Small Capitals From Capitals',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'dist',
        'name': 'Distances',
        'exposed': False,
    },
    {
        'tag': 'dlig',
        'name': 'Discretionary Ligatures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'dnom',
        'name': 'Denominators',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'dtls',
        'name': 'Dotless Forms',
        'exposed': False,
    },
    {
        'tag': 'expt',
        'name': 'Expert Forms',
        'exposed': False,
    },
    {
        'tag': 'falt',
        'name': 'Final Glyph on Line Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'fin2',
        'name': 'Terminal Forms #2',
        'exposed': False,
    },
    {
        'tag': 'fin3',
        'name': 'Terminal Forms #3',
        'exposed': False,
    },
    {
        'tag': 'fina',
        'name': 'Terminal Forms',
        'exposed': False,
    },
    {
        'tag': 'flac',
        'name': 'Flattened accent forms',
        'exposed': False,
    },
    {
        'tag': 'frac',
        'name': 'Fractions',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'fwid',
        'name': 'Full Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'half',
        'name': 'Half Forms',
        'exposed': False,
    },
    {
        'tag': 'haln',
        'name': 'Halant Forms',
        'exposed': False,
    },
    {
        'tag': 'halt',
        'name': 'Alternate Half Widths',
        'exposed': False,
    },
    {
        'tag': 'hist',
        'name': 'Historical Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'hkna',
        'name': 'Horizontal Kana Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'hlig',
        'name': 'Historical Ligatures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'hngl',
        'name': 'Hangul',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'hojo',
        'name': 'Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms)',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'hwid',
        'name': 'Half Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'init',
        'name': 'Initial Forms',
        'exposed': False,
    },
    {
        'tag': 'isol',
        'name': 'Isolated Forms',
        'exposed': False,
    },
    {
        'tag': 'ital',
        'name': 'Italics',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'jalt',
        'name': 'Justification Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'jp78',
        'name': 'JIS78 Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'jp83',
        'name': 'JIS83 Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'jp90',
        'name': 'JIS90 Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'jp04',
        'name': 'JIS2004 Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'kern',
        'name': 'Kerning',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'lfbd',
        'name': 'Left Bounds',
        'exposed': False,
    },
    {
        'tag': 'liga',
        'name': 'Standard Ligatures',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'ljmo',
        'name': 'Leading Jamo Forms',
        'exposed': False,
    },
    {
        'tag': 'lnum',
        'name': 'Lining Figures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'locl',
        'name': 'Localized Forms',
        'exposed': False,
    },
    {
        'tag': 'ltra',
        'name': 'Left-to-right alternates',
        'exposed': False,
    },
    {
        'tag': 'ltrm',
        'name': 'Left-to-right mirrored forms',
        'exposed': False,
    },
    {
        'tag': 'mark',
        'name': 'Mark Positioning',
        'exposed': False,
    },
    {
        'tag': 'med2',
        'name': 'Medial Forms #2',
        'exposed': False,
    },
    {
        'tag': 'medi',
        'name': 'Medial Forms',
        'exposed': False,
    },
    {
        'tag': 'mgrk',
        'name': 'Mathematical Greek',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'mkmk',
        'name': 'Mark to Mark Positioning',
        'exposed': False,
    },
    {
        'tag': 'mset',
        'name': 'Mark Positioning via Substitution',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'nalt',
        'name': 'Alternate Annotation Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'nlck',
        'name': 'NLC Kanji Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'nukt',
        'name': 'Nukta Forms',
        'exposed': False,
    },
    {
        'tag': 'numr',
        'name': 'Numerators',
        'exposed': False,
    },
    {
        'tag': 'onum',
        'name': 'Oldstyle Figures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'opbd',
        'name': 'Optical Bounds',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'ordn',
        'name': 'Ordinals',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ornm',
        'name': 'Ornaments',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'palt',
        'name': 'Proportional Alternate Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'pcap',
        'name': 'Petite Capitals',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'pkna',
        'name': 'Proportional Kana',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'pnum',
        'name': 'Proportional Figures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'pref',
        'name': 'Pre-Base Forms',
        'exposed': False,
    },
    {
        'tag': 'pres',
        'name': 'Pre-base Substitutions',
        'exposed': False,
    },
    {
        'tag': 'pstf',
        'name': 'Post-base Forms',
        'exposed': False,
    },
    {
        'tag': 'psts',
        'name': 'Post-base Substitutions',
        'exposed': False,
    },
    {
        'tag': 'pwid',
        'name': 'Proportional Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'qwid',
        'name': 'Quarter Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'rand',
        'name': 'Randomize',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'rclt',
        'name': 'Required Contextual Alternates',
        'exposed': False,
    },
    {
        'tag': 'rkrf',
        'name': 'Rakar Forms',
        'exposed': False,
    },
    {
        'tag': 'rlig',
        'name': 'Required Ligatures',
        'exposed': False,
    },
    {
        'tag': 'rphf',
        'name': 'Reph Forms',
        'exposed': False,
    },
    {
        'tag': 'rtbd',
        'name': 'Right Bounds',
        'exposed': False,
    },
    {
        'tag': 'rtla',
        'name': 'Right-to-left alternates',
        'exposed': False,
    },
    {
        'tag': 'rtlm',
        'name': 'Right-to-left mirrored forms',
        'exposed': False,
    },
    {
        'tag': 'ruby',
        'name': 'Ruby Notation Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'rvrn',
        'name': 'Required Variation Alternates',
        'exposed': False,
    },
    {
        'tag': 'salt',
        'name': 'Stylistic Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'sinf',
        'name': 'Scientific Inferiors',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'size',
        'name': 'Optical size',
        'exposed': True,
        'exposed_active': True,
    },
    {
        'tag': 'smcp',
        'name': 'Small Capitals',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'smpl',
        'name': 'Simplified Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss01',
        'name': 'Stylistic Set 1',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss02',
        'name': 'Stylistic Set 2',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss03',
        'name': 'Stylistic Set 3',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss04',
        'name': 'Stylistic Set 4',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss05',
        'name': 'Stylistic Set 5',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss06',
        'name': 'Stylistic Set 6',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss07',
        'name': 'Stylistic Set 7',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss08',
        'name': 'Stylistic Set 8',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss09',
        'name': 'Stylistic Set 9',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss10',
        'name': 'Stylistic Set 10',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss11',
        'name': 'Stylistic Set 11',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss12',
        'name': 'Stylistic Set 12',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss13',
        'name': 'Stylistic Set 13',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss14',
        'name': 'Stylistic Set 14',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss15',
        'name': 'Stylistic Set 15',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss16',
        'name': 'Stylistic Set 16',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss17',
        'name': 'Stylistic Set 17',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss18',
        'name': 'Stylistic Set 18',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss19',
        'name': 'Stylistic Set 19',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ss20',
        'name': 'Stylistic Set 20',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'ssty',
        'name': 'Math script style alternates',
        'exposed': False,
    },
    {
        'tag': 'stch',
        'name': 'Stretching Glyph Decomposition',
        'exposed': False,
    },
    {
        'tag': 'subs',
        'name': 'Subscript',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'sups',
        'name': 'Superscript',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'swsh',
        'name': 'Swash',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'titl',
        'name': 'Titling',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'tjmo',
        'name': 'Trailing Jamo Forms',
        'exposed': False,
    },
    {
        'tag': 'tnam',
        'name': 'Traditional Name Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'tnum',
        'name': 'Tabular Figures',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'trad',
        'name': 'Traditional Forms',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'twid',
        'name': 'Third Widths',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'unic',
        'name': 'Unicase',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'valt',
        'name': 'Alternate Vertical Metrics',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vatu',
        'name': 'Vattu Variants',
        'exposed': False,
    },
    {
        'tag': 'vchw',
        'name': 'Vertical Contextual Half-width Spacing',
        'exposed': False,
    },
    {
        'tag': 'vert',
        'name': 'Vertical Writing',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vhal',
        'name': 'Alternate Vertical Half Metrics',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vjmo',
        'name': 'Vowel Jamo Forms',
        'exposed': False,
    },
    {
        'tag': 'vkna',
        'name': 'Vertical Kana Alternates',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vkrn',
        'name': 'Vertical Kerning',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vpal',
        'name': 'Proportional Alternate Vertical Metrics',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vrt2',
        'name': 'Vertical Alternates and Rotation',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'vrtr',
        'name': 'Vertical Alternates for Rotation',
        'exposed': True,
        'exposed_active': False,
    },
    {
        'tag': 'zero',
        'name': 'Slashed Zero',
        'exposed': True,
        'exposed_active': False,
    },
]
