# frozen_string_literal: true

module TTFunk
  class Table
    class Cff < TTFunk::Table
      module Charsets
        # Predefined CFF ISOAdobe charset
        ISO_ADOBE = OneBasedArray.new(
          [
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quoteright',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'quoteleft',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            'exclamdown 97 cent',
            'sterling',
            'fraction',
            'yen',
            'florin',
            'section',
            'currency',
            'quotesingle',
            'quotedblleft',
            'guillemotleft',
            'guilsinglleft',
            'guilsinglright',
            'fi',
            'fl',
            'endash',
            'dagger',
            'daggerdbl',
            'periodcentered',
            'paragraph',
            'bullet',
            'quotesinglbase',
            'quotedblbase',
            'quotedblright',
            'guillemotright',
            'ellipsis',
            'perthousand',
            'questiondown',
            'grave',
            'acute',
            'circumflex',
            'tilde',
            'macron',
            'breve',
            'dotaccent',
            'dieresis',
            'ring',
            'cedilla',
            'hungarumlaut',
            'ogonek',
            'caron',
            'emdash',
            'AE',
            'ordfeminine',
            'Lslash',
            'Oslash',
            'OE',
            'ordmasculine',
            'ae',
            'dotlessi',
            'lslash',
            'oslash',
            'oe',
            'germandbls',
            'onesuperior',
            'logicalnot',
            'mu',
            'trademark',
            'Eth',
            'onehalf',
            'plusminus',
            'Thorn',
            'onequarter',
            'divide',
            'brokenbar',
            'degree',
            'thorn',
            'threequarters',
            'twosuperior',
            'registered',
            'minus',
            'eth',
            'multiply',
            'threesuperior',
            'copyright',
            'Aacute',
            'Acircumflex',
            'Adieresis',
            'Agrave',
            'Aring',
            'Atilde',
            'Ccedilla',
            'Eacute',
            'Ecircumflex',
            'Edieresis',
            'Egrave',
            'Iacute',
            'Icircumflex',
            'Idieresis',
            'Igrave',
            'Ntilde',
            'Oacute',
            'Ocircumflex',
            'Odieresis',
            'Ograve',
            'Otilde',
            'Scaron',
            'Uacute',
            'Ucircumflex',
            'Udieresis',
            'Ugrave',
            'Yacute',
            'Ydieresis',
            'Zcaron',
            'aacute',
            'acircumflex',
            'adieresis',
            'agrave',
            'aring',
            'atilde',
            'ccedilla',
            'eacute',
            'ecircumflex',
            'edieresis',
            'egrave',
            'iacute',
            'icircumflex',
            'idieresis',
            'igrave',
            'ntilde',
            'oacute',
            'ocircumflex',
            'odieresis',
            'ograve',
            'otilde',
            'scaron',
            'uacute',
            'ucircumflex',
            'udieresis',
            'ugrave',
            'yacute',
            'ydieresis',
            'zcaron',
          ],
        ).freeze
      end
    end
  end
end
