Edit

thodg/libiconv/lib/translit.h

Branch :

  • Show log

    Commit

  • Author : Bruno Haible
    Date : 2001-02-05 19:36:41
    Hash : da1f6493
    Message : Many more transliterations.

  • lib/translit.h
  • /*
     * Transliteration table
     */
    
    static const unsigned short translit_data[5296] = {
       1, ' ',
       1, '!',
       1, 'c',
       2, 'l', 'b',
       3, 'y', 'e', 'n',
       1, '|',
       2, 'S', 'S',
       1, '"',
       3, '(', 'c', ')',
       1, 'a',
       2, '<', '<',
       3, 'n', 'o', 't',
       1, '-',
       3, '(', 'R', ')',
       2, '^', '0',
       3, '+', '/', '-',
       2, '^', '2',
       2, '^', '3',
       1,'\'',
       1, 'u',
       1, 'P',
       1, '.',
       1, ',',
       2, '^', '1',
       1, 'o',
       2, '>', '>',
       5, ' ', '1', '/', '4', ' ',
       5, ' ', '1', '/', '2', ' ',
       5, ' ', '3', '/', '4', ' ',
       1, '?',
       2, '`', 'A',
       2,0xB4, 'A',
       2, '^', 'A',
       2, '~', 'A',
       2, '"', 'A',
       1, 'A',
       2, 'A', 'E',
       1, 'C',
       2, '`', 'E',
       2,0xB4, 'E',
       2, '^', 'E',
       2, '"', 'E',
       2, '`', 'I',
       2,0xB4, 'I',
       2, '^', 'I',
       2, '"', 'I',
       1, 'D',
       2, '~', 'N',
       2, '`', 'O',
       2,0xB4, 'O',
       2, '^', 'O',
       2, '~', 'O',
       2, '"', 'O',
       1, 'x',
       1, 'O',
       2, '`', 'U',
       2,0xB4, 'U',
       2, '^', 'U',
       2, '"', 'U',
       2,0xB4, 'Y',
       2, 'T', 'h',
       2, 's', 's',
       2, '`', 'a',
       2,0xB4, 'a',
       2, '^', 'a',
       2, '~', 'a',
       2, '"', 'a',
       1, 'a',
       2, 'a', 'e',
       1, 'c',
       2, '`', 'e',
       2,0xB4, 'e',
       2, '^', 'e',
       2, '"', 'e',
       2, '`', 'i',
       2,0xB4, 'i',
       2, '^', 'i',
       2, '"', 'i',
       1, 'd',
       2, '~', 'n',
       2, '`', 'o',
       2,0xB4, 'o',
       2, '^', 'o',
       2, '~', 'o',
       2, '"', 'o',
       1, ':',
       1, 'o',
       2, '`', 'u',
       2,0xB4, 'u',
       2, '^', 'u',
       2, '"', 'u',
       2,0xB4, 'y',
       2, 't', 'h',
       2, '"', 'y',
       1, 'A',
       1, 'a',
       1, 'A',
       1, 'a',
       1, 'A',
       1, 'a',
       2,0xB4, 'C',
       2,0xB4, 'c',
       2, '^', 'C',
       2, '^', 'c',
       1, 'C',
       1, 'c',
       1, 'C',
       1, 'c',
       1, 'D',
       1, 'd',
       1, 'D',
       1, 'd',
       1, 'E',
       1, 'e',
       1, 'E',
       1, 'e',
       1, 'E',
       1, 'e',
       1, 'E',
       1, 'e',
       1, 'E',
       1, 'e',
       2, '^', 'G',
       2, '^', 'g',
       1, 'G',
       1, 'g',
       1, 'G',
       1, 'g',
       1, 'G',
       1, 'g',
       2, '^', 'H',
       2, '^', 'h',
       1, 'H',
       1, 'h',
       2, '~', 'I',
       2, '~', 'i',
       1, 'I',
       1, 'i',
       1, 'I',
       1, 'i',
       1, 'I',
       1, 'i',
       1, 'I',
       1, 'i',
       2, 'I', 'J',
       2, 'i', 'j',
       2, '^', 'J',
       2, '^', 'j',
       1, 'K',
       1, 'k',
       1, 'L',
       1, 'l',
       1, 'L',
       1, 'l',
       1, 'L',
       1, 'l',
       1, 'L',
       1, 'l',
       1, 'L',
       1, 'l',
       2,0xB4, 'N',
       2,0xB4, 'n',
       1, 'N',
       1, 'n',
       1, 'N',
       1, 'n',
       2,'\'', 'n',
       1, 'O',
       1, 'o',
       1, 'O',
       1, 'o',
       2, '"', 'O',
       2, '"', 'o',
       2, 'O', 'E',
       2, 'o', 'e',
       2,0xB4, 'R',
       2,0xB4, 'r',
       1, 'R',
       1, 'r',
       1, 'R',
       1, 'r',
       2,0xB4, 'S',
       2,0xB4, 's',
       2, '^', 'S',
       2, '^', 's',
       1, 'S',
       1, 's',
       1, 'S',
       1, 's',
       1, 'T',
       1, 't',
       1, 'T',
       1, 't',
       1, 'T',
       1, 't',
       2, '~', 'U',
       2, '~', 'u',
       1, 'U',
       1, 'u',
       1, 'U',
       1, 'u',
       1, 'U',
       1, 'u',
       2, '"', 'U',
       2, '"', 'u',
       1, 'U',
       1, 'u',
       2, '^', 'W',
       2, '^', 'w',
       2, '^', 'Y',
       2, '^', 'y',
       2, '"', 'Y',
       2,0xB4, 'Z',
       2,0xB4, 'z',
       1, 'Z',
       1, 'z',
       1, 'Z',
       1, 'z',
       1, 's',
       1, 'f',
       2, 'D',0x017D,
       2, 'D',0x017E,
       2, 'd',0x017E,
       2, 'L', 'J',
       2, 'L', 'j',
       2, 'l', 'j',
       2, 'N', 'J',
       2, 'N', 'j',
       2, 'n', 'j',
       2, 'D', 'Z',
       2, 'D', 'z',
       2, 'd', 'z',
       1, 'S',
       1, 's',
       1, 'T',
       1, 't',
       1, '^',
       1, '~',
       1, '"',
       1,0x03B2,
       1,0x03B8,
       1,0x03A5,
       1,0x03C6,
       1,0x03C0,
       1,0x03BA,
       1,0x03C1,
       1,0x03C2,
       2,0x0565,0x0582,
       2,0x05D5,0x05D5,
       2,0x05D5,0x05D9,
       2,0x05D9,0x05D9,
       2,0x0627,0x0674,
       2,0x0648,0x0674,
       2,0x06C7,0x0674,
       2,0x064A,0x0674,
       2,0x0E4D,0x0E32,
       2,0x0ECD,0x0EB2,
       2,0x0EAB,0x0E99,
       2,0x0EAB,0x0EA1,
       2,0x0FB2,0x0F81,
       2,0x0FB3,0x0F81,
       1, 'B',
       1, 'b',
       1, 'D',
       1, 'd',
       1, 'F',
       1, 'f',
       1, 'M',
       1, 'm',
       1, 'P',
       1, 'p',
       1, 'S',
       1, 's',
       1, 'T',
       1, 't',
       2, '`', 'W',
       2, '`', 'w',
       2,0xB4, 'W',
       2,0xB4, 'w',
       2, '"', 'W',
       2, '"', 'w',
       2, 'a',0x02BE,
       2, '`', 'Y',
       2, '`', 'y',
       1, ' ',
       1, ' ',
       1, ' ',
       1, ' ',
       1, ' ',
       1, ' ',
       1, ' ',
       1, ' ',
       1, '-',
       1, '-',
       1, '-',
       1, '-',
       1, '-',
       1, '-',
       1, '"',
       1, '"',
       1, '"',
       1, '+',
       1, 'o',
       1, '.',
       2, '.', '.',
       3, '.', '.', '.',
       4, 'o', '/', 'o', 'o',
       1,0xB4,
       2,0xB4,0xB4,
       3,0xB4,0xB4,0xB4,
       2,0x2035,0x2035,
       3,0x2035,0x2035,0x2035,
       1, '<',
       1, '>',
       2, '!', '!',
       2, '?', '!',
       2, '!', '?',
       2, 'R', 's',
       3, 'E', 'U', 'R',
       3, 'a', '/', 'c',
       3, 'a', '/', 's',
       1, 'C',
       2,0xB0, 'C',
       3, 'c', '/', 'o',
       3, 'c', '/', 'u',
       1,0x0190,
       2,0xB0, 'F',
       1, 'g',
       1, 'H',
       1, 'H',
       1, 'H',
       1, 'h',
       1,0x0127,
       1, 'I',
       1, 'I',
       1, 'L',
       1, 'l',
       1, 'N',
       2, 'N', 'o',
       1, 'P',
       1, 'Q',
       1, 'R',
       1, 'R',
       1, 'R',
       3, 'T', 'E', 'L',
       2, 'T', 'M',
       1, 'Z',
       3, 'O', 'h', 'm',
       1, 'Z',
       1, 'B',
       1, 'C',
       1, 'e',
       1, 'E',
       1, 'F',
       1, 'M',
       1, 'o',
       1,0x05D0,
       1,0x05D1,
       1,0x05D2,
       1,0x05D3,
       1, 'i',
       5, ' ', '1', '/', '3', ' ',
       5, ' ', '2', '/', '3', ' ',
       5, ' ', '1', '/', '5', ' ',
       5, ' ', '2', '/', '5', ' ',
       5, ' ', '3', '/', '5', ' ',
       5, ' ', '4', '/', '5', ' ',
       5, ' ', '1', '/', '6', ' ',
       5, ' ', '5', '/', '6', ' ',
       5, ' ', '1', '/', '8', ' ',
       5, ' ', '3', '/', '8', ' ',
       5, ' ', '5', '/', '8', ' ',
       5, ' ', '7', '/', '8', ' ',
       3, ' ', '1', '/',
       1, 'I',
       2, 'I', 'I',
       3, 'I', 'I', 'I',
       2, 'I', 'V',
       1, 'V',
       2, 'V', 'I',
       3, 'V', 'I', 'I',
       4, 'V', 'I', 'I', 'I',
       2, 'I', 'X',
       1, 'X',
       2, 'X', 'I',
       3, 'X', 'I', 'I',
       1, 'L',
       1, 'C',
       1, 'D',
       1, 'M',
       1, 'i',
       2, 'i', 'i',
       3, 'i', 'i', 'i',
       2, 'i', 'v',
       1, 'v',
       2, 'v', 'i',
       3, 'v', 'i', 'i',
       4, 'v', 'i', 'i', 'i',
       2, 'i', 'x',
       1, 'x',
       2, 'x', 'i',
       3, 'x', 'i', 'i',
       1, 'l',
       1, 'c',
       1, 'd',
       1, 'm',
       2, '<', '-',
       1, '^',
       2, '-', '>',
       1, 'V',
       2, '<', '=',
       2, '=', '>',
       1, '-',
       1, '/',
       2,0x222B,0x222B,
       3,0x222B,0x222B,0x222B,
       2,0x222E,0x222E,
       3,0x222E,0x222E,0x222E,
       2, '/', '=',
       2, '<', '=',
       2, '>', '=',
       2, '<', '<',
       2, '>', '>',
       3, '(', '1', ')',
       3, '(', '2', ')',
       3, '(', '3', ')',
       3, '(', '4', ')',
       3, '(', '5', ')',
       3, '(', '6', ')',
       3, '(', '7', ')',
       3, '(', '8', ')',
       3, '(', '9', ')',
       4, '(', '1', '0', ')',
       4, '(', '1', '1', ')',
       4, '(', '1', '2', ')',
       4, '(', '1', '3', ')',
       4, '(', '1', '4', ')',
       4, '(', '1', '5', ')',
       4, '(', '1', '6', ')',
       4, '(', '1', '7', ')',
       4, '(', '1', '8', ')',
       4, '(', '1', '9', ')',
       4, '(', '2', '0', ')',
       3, '(', '1', ')',
       3, '(', '2', ')',
       3, '(', '3', ')',
       3, '(', '4', ')',
       3, '(', '5', ')',
       3, '(', '6', ')',
       3, '(', '7', ')',
       3, '(', '8', ')',
       3, '(', '9', ')',
       4, '(', '1', '0', ')',
       4, '(', '1', '1', ')',
       4, '(', '1', '2', ')',
       4, '(', '1', '3', ')',
       4, '(', '1', '4', ')',
       4, '(', '1', '5', ')',
       4, '(', '1', '6', ')',
       4, '(', '1', '7', ')',
       4, '(', '1', '8', ')',
       4, '(', '1', '9', ')',
       4, '(', '2', '0', ')',
       2, '1', '.',
       2, '2', '.',
       2, '3', '.',
       2, '4', '.',
       2, '5', '.',
       2, '6', '.',
       2, '7', '.',
       2, '8', '.',
       2, '9', '.',
       3, '1', '0', '.',
       3, '1', '1', '.',
       3, '1', '2', '.',
       3, '1', '3', '.',
       3, '1', '4', '.',
       3, '1', '5', '.',
       3, '1', '6', '.',
       3, '1', '7', '.',
       3, '1', '8', '.',
       3, '1', '9', '.',
       3, '2', '0', '.',
       3, '(', 'a', ')',
       3, '(', 'b', ')',
       3, '(', 'c', ')',
       3, '(', 'd', ')',
       3, '(', 'e', ')',
       3, '(', 'f', ')',
       3, '(', 'g', ')',
       3, '(', 'h', ')',
       3, '(', 'i', ')',
       3, '(', 'j', ')',
       3, '(', 'k', ')',
       3, '(', 'l', ')',
       3, '(', 'm', ')',
       3, '(', 'n', ')',
       3, '(', 'o', ')',
       3, '(', 'p', ')',
       3, '(', 'q', ')',
       3, '(', 'r', ')',
       3, '(', 's', ')',
       3, '(', 't', ')',
       3, '(', 'u', ')',
       3, '(', 'v', ')',
       3, '(', 'w', ')',
       3, '(', 'x', ')',
       3, '(', 'y', ')',
       3, '(', 'z', ')',
       3, '(', 'A', ')',
       3, '(', 'B', ')',
       3, '(', 'C', ')',
       3, '(', 'D', ')',
       3, '(', 'E', ')',
       3, '(', 'F', ')',
       3, '(', 'G', ')',
       3, '(', 'H', ')',
       3, '(', 'I', ')',
       3, '(', 'J', ')',
       3, '(', 'K', ')',
       3, '(', 'L', ')',
       3, '(', 'M', ')',
       3, '(', 'N', ')',
       3, '(', 'O', ')',
       3, '(', 'P', ')',
       3, '(', 'Q', ')',
       3, '(', 'R', ')',
       3, '(', 'S', ')',
       3, '(', 'T', ')',
       3, '(', 'U', ')',
       3, '(', 'V', ')',
       3, '(', 'W', ')',
       3, '(', 'X', ')',
       3, '(', 'Y', ')',
       3, '(', 'Z', ')',
       3, '(', 'a', ')',
       3, '(', 'b', ')',
       3, '(', 'c', ')',
       3, '(', 'd', ')',
       3, '(', 'e', ')',
       3, '(', 'f', ')',
       3, '(', 'g', ')',
       3, '(', 'h', ')',
       3, '(', 'i', ')',
       3, '(', 'j', ')',
       3, '(', 'k', ')',
       3, '(', 'l', ')',
       3, '(', 'm', ')',
       3, '(', 'n', ')',
       3, '(', 'o', ')',
       3, '(', 'p', ')',
       3, '(', 'q', ')',
       3, '(', 'r', ')',
       3, '(', 's', ')',
       3, '(', 't', ')',
       3, '(', 'u', ')',
       3, '(', 'v', ')',
       3, '(', 'w', ')',
       3, '(', 'x', ')',
       3, '(', 'y', ')',
       3, '(', 'z', ')',
       3, '(', '0', ')',
       1, '-',
       1, '|',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1, '+',
       1,0x6BCD,
       1,0x9F9F,
       1,0x4E00,
       1,0x4E28,
       1,0x4E36,
       1,0x4E3F,
       1,0x4E59,
       1,0x4E85,
       1,0x4E8C,
       1,0x4EA0,
       1,0x4EBA,
       1,0x513F,
       1,0x5165,
       1,0x516B,
       1,0x5182,
       1,0x5196,
       1,0x51AB,
       1,0x51E0,
       1,0x51F5,
       1,0x5200,
       1,0x529B,
       1,0x52F9,
       1,0x5315,
       1,0x531A,
       1,0x5338,
       1,0x5341,
       1,0x535C,
       1,0x5369,
       1,0x5382,
       1,0x53B6,
       1,0x53C8,
       1,0x53E3,
       1,0x56D7,
       1,0x571F,
       1,0x58EB,
       1,0x5902,
       1,0x590A,
       1,0x5915,
       1,0x5927,
       1,0x5973,
       1,0x5B50,
       1,0x5B80,
       1,0x5BF8,
       1,0x5C0F,
       1,0x5C22,
       1,0x5C38,
       1,0x5C6E,
       1,0x5C71,
       1,0x5DDB,
       1,0x5DE5,
       1,0x5DF1,
       1,0x5DFE,
       1,0x5E72,
       1,0x5E7A,
       1,0x5E7F,
       1,0x5EF4,
       1,0x5EFE,
       1,0x5F0B,
       1,0x5F13,
       1,0x5F50,
       1,0x5F61,
       1,0x5F73,
       1,0x5FC3,
       1,0x6208,
       1,0x6236,
       1,0x624B,
       1,0x652F,
       1,0x6534,
       1,0x6587,
       1,0x6597,
       1,0x65A4,
       1,0x65B9,
       1,0x65E0,
       1,0x65E5,
       1,0x66F0,
       1,0x6708,
       1,0x6728,
       1,0x6B20,
       1,0x6B62,
       1,0x6B79,
       1,0x6BB3,
       1,0x6BCB,
       1,0x6BD4,
       1,0x6BDB,
       1,0x6C0F,
       1,0x6C14,
       1,0x6C34,
       1,0x706B,
       1,0x722A,
       1,0x7236,
       1,0x723B,
       1,0x723F,
       1,0x7247,
       1,0x7259,
       1,0x725B,
       1,0x72AC,
       1,0x7384,
       1,0x7389,
       1,0x74DC,
       1,0x74E6,
       1,0x7518,
       1,0x751F,
       1,0x7528,
       1,0x7530,
       1,0x758B,
       1,0x7592,
       1,0x7676,
       1,0x767D,
       1,0x76AE,
       1,0x76BF,
       1,0x76EE,
       1,0x77DB,
       1,0x77E2,
       1,0x77F3,
       1,0x793A,
       1,0x79B8,
       1,0x79BE,
       1,0x7A74,
       1,0x7ACB,
       1,0x7AF9,
       1,0x7C73,
       1,0x7CF8,
       1,0x7F36,
       1,0x7F51,
       1,0x7F8A,
       1,0x7FBD,
       1,0x8001,
       1,0x800C,
       1,0x8012,
       1,0x8033,
       1,0x807F,
       1,0x8089,
       1,0x81E3,
       1,0x81EA,
       1,0x81F3,
       1,0x81FC,
       1,0x820C,
       1,0x821B,
       1,0x821F,
       1,0x826E,
       1,0x8272,
       1,0x8278,
       1,0x864D,
       1,0x866B,
       1,0x8840,
       1,0x884C,
       1,0x8863,
       1,0x897E,
       1,0x898B,
       1,0x89D2,
       1,0x8A00,
       1,0x8C37,
       1,0x8C46,
       1,0x8C55,
       1,0x8C78,
       1,0x8C9D,
       1,0x8D64,
       1,0x8D70,
       1,0x8DB3,
       1,0x8EAB,
       1,0x8ECA,
       1,0x8F9B,
       1,0x8FB0,
       1,0x8FB5,
       1,0x9091,
       1,0x9149,
       1,0x91C6,
       1,0x91CC,
       1,0x91D1,
       1,0x9577,
       1,0x9580,
       1,0x961C,
       1,0x96B6,
       1,0x96B9,
       1,0x96E8,
       1,0x9751,
       1,0x975E,
       1,0x9762,
       1,0x9769,
       1,0x97CB,
       1,0x97ED,
       1,0x97F3,
       1,0x9801,
       1,0x98A8,
       1,0x98DB,
       1,0x98DF,
       1,0x9996,
       1,0x9999,
       1,0x99AC,
       1,0x9AA8,
       1,0x9AD8,
       1,0x9ADF,
       1,0x9B25,
       1,0x9B2F,
       1,0x9B32,
       1,0x9B3C,
       1,0x9B5A,
       1,0x9CE5,
       1,0x9E75,
       1,0x9E7F,
       1,0x9EA5,
       1,0x9EBB,
       1,0x9EC3,
       1,0x9ECD,
       1,0x9ED1,
       1,0x9EF9,
       1,0x9EFD,
       1,0x9F0E,
       1,0x9F13,
       1,0x9F20,
       1,0x9F3B,
       1,0x9F4A,
       1,0x9F52,
       1,0x9F8D,
       1,0x9F9C,
       1,0x9FA0,
       1, ' ',
       1,0x3012,
       1,0x5341,
       1,0x5344,
       1,0x5345,
       2, ' ',0x3099,
       2, ' ',0x309A,
       1,0x1100,
       1,0x1101,
       1,0x11AA,
       1,0x1102,
       1,0x11AC,
       1,0x11AD,
       1,0x1103,
       1,0x1104,
       1,0x1105,
       1,0x11B0,
       1,0x11B1,
       1,0x11B2,
       1,0x11B3,
       1,0x11B4,
       1,0x11B5,
       1,0x111A,
       1,0x1106,
       1,0x1107,
       1,0x1108,
       1,0x1121,
       1,0x1109,
       1,0x110A,
       1,0x110B,
       1,0x110C,
       1,0x110D,
       1,0x110E,
       1,0x110F,
       1,0x1110,
       1,0x1111,
       1,0x1112,
       1,0x1161,
       1,0x1162,
       1,0x1163,
       1,0x1164,
       1,0x1165,
       1,0x1166,
       1,0x1167,
       1,0x1168,
       1,0x1169,
       1,0x116A,
       1,0x116B,
       1,0x116C,
       1,0x116D,
       1,0x116E,
       1,0x116F,
       1,0x1170,
       1,0x1171,
       1,0x1172,
       1,0x1173,
       1,0x1174,
       1,0x1175,
       1,0x1160,
       1,0x1114,
       1,0x1115,
       1,0x11C7,
       1,0x11C8,
       1,0x11CC,
       1,0x11CE,
       1,0x11D3,
       1,0x11D7,
       1,0x11D9,
       1,0x111C,
       1,0x11DD,
       1,0x11DF,
       1,0x111D,
       1,0x111E,
       1,0x1120,
       1,0x1122,
       1,0x1123,
       1,0x1127,
       1,0x1129,
       1,0x112B,
       1,0x112C,
       1,0x112D,
       1,0x112E,
       1,0x112F,
       1,0x1132,
       1,0x1136,
       1,0x1140,
       1,0x1147,
       1,0x114C,
       1,0x11F1,
       1,0x11F2,
       1,0x1157,
       1,0x1158,
       1,0x1159,
       1,0x1184,
       1,0x1185,
       1,0x1188,
       1,0x1191,
       1,0x1192,
       1,0x1194,
       1,0x119E,
       1,0x11A1,
       3, '(',0x1100, ')',
       3, '(',0x1102, ')',
       3, '(',0x1103, ')',
       3, '(',0x1105, ')',
       3, '(',0x1106, ')',
       3, '(',0x1107, ')',
       3, '(',0x1109, ')',
       3, '(',0x110B, ')',
       3, '(',0x110C, ')',
       3, '(',0x110E, ')',
       3, '(',0x110F, ')',
       3, '(',0x1110, ')',
       3, '(',0x1111, ')',
       3, '(',0x1112, ')',
       4, '(',0x1100,0x1161, ')',
       4, '(',0x1102,0x1161, ')',
       4, '(',0x1103,0x1161, ')',
       4, '(',0x1105,0x1161, ')',
       4, '(',0x1106,0x1161, ')',
       4, '(',0x1107,0x1161, ')',
       4, '(',0x1109,0x1161, ')',
       4, '(',0x110B,0x1161, ')',
       4, '(',0x110C,0x1161, ')',
       4, '(',0x110E,0x1161, ')',
       4, '(',0x110F,0x1161, ')',
       4, '(',0x1110,0x1161, ')',
       4, '(',0x1111,0x1161, ')',
       4, '(',0x1112,0x1161, ')',
       4, '(',0x110C,0x116E, ')',
       3, '(',0x4E00, ')',
       3, '(',0x4E8C, ')',
       3, '(',0x4E09, ')',
       3, '(',0x56DB, ')',
       3, '(',0x4E94, ')',
       3, '(',0x516D, ')',
       3, '(',0x4E03, ')',
       3, '(',0x516B, ')',
       3, '(',0x4E5D, ')',
       3, '(',0x5341, ')',
       3, '(',0x6708, ')',
       3, '(',0x706B, ')',
       3, '(',0x6C34, ')',
       3, '(',0x6728, ')',
       3, '(',0x91D1, ')',
       3, '(',0x571F, ')',
       3, '(',0x65E5, ')',
       3, '(',0x682A, ')',
       3, '(',0x6709, ')',
       3, '(',0x793E, ')',
       3, '(',0x540D, ')',
       3, '(',0x7279, ')',
       3, '(',0x8CA1, ')',
       3, '(',0x795D, ')',
       3, '(',0x52B4, ')',
       3, '(',0x4EE3, ')',
       3, '(',0x547C, ')',
       3, '(',0x5B66, ')',
       3, '(',0x76E3, ')',
       3, '(',0x4F01, ')',
       3, '(',0x8CC7, ')',
       3, '(',0x5354, ')',
       3, '(',0x796D, ')',
       3, '(',0x4F11, ')',
       3, '(',0x81EA, ')',
       3, '(',0x81F3, ')',
       3, '(',0x1100, ')',
       3, '(',0x1102, ')',
       3, '(',0x1103, ')',
       3, '(',0x1105, ')',
       3, '(',0x1106, ')',
       3, '(',0x1107, ')',
       3, '(',0x1109, ')',
       3, '(',0x110B, ')',
       3, '(',0x110C, ')',
       3, '(',0x110E, ')',
       3, '(',0x110F, ')',
       3, '(',0x1110, ')',
       3, '(',0x1111, ')',
       3, '(',0x1112, ')',
       4, '(',0x1100,0x1161, ')',
       4, '(',0x1102,0x1161, ')',
       4, '(',0x1103,0x1161, ')',
       4, '(',0x1105,0x1161, ')',
       4, '(',0x1106,0x1161, ')',
       4, '(',0x1107,0x1161, ')',
       4, '(',0x1109,0x1161, ')',
       4, '(',0x110B,0x1161, ')',
       4, '(',0x110C,0x1161, ')',
       4, '(',0x110E,0x1161, ')',
       4, '(',0x110F,0x1161, ')',
       4, '(',0x1110,0x1161, ')',
       4, '(',0x1111,0x1161, ')',
       4, '(',0x1112,0x1161, ')',
       3, '(',0x4E00, ')',
       3, '(',0x4E8C, ')',
       3, '(',0x4E09, ')',
       3, '(',0x56DB, ')',
       3, '(',0x4E94, ')',
       3, '(',0x516D, ')',
       3, '(',0x4E03, ')',
       3, '(',0x516B, ')',
       3, '(',0x4E5D, ')',
       3, '(',0x5341, ')',
       3, '(',0x6708, ')',
       3, '(',0x706B, ')',
       3, '(',0x6C34, ')',
       3, '(',0x6728, ')',
       3, '(',0x91D1, ')',
       3, '(',0x571F, ')',
       3, '(',0x65E5, ')',
       3, '(',0x682A, ')',
       3, '(',0x6709, ')',
       3, '(',0x793E, ')',
       3, '(',0x540D, ')',
       3, '(',0x7279, ')',
       3, '(',0x8CA1, ')',
       3, '(',0x795D, ')',
       3, '(',0x52B4, ')',
       3, '(',0x79D8, ')',
       3, '(',0x7537, ')',
       3, '(',0x5973, ')',
       3, '(',0x9069, ')',
       3, '(',0x512A, ')',
       3, '(',0x5370, ')',
       3, '(',0x6CE8, ')',
       3, '(',0x9805, ')',
       3, '(',0x4F11, ')',
       3, '(',0x5199, ')',
       3, '(',0x6B63, ')',
       3, '(',0x4E0A, ')',
       3, '(',0x4E2D, ')',
       3, '(',0x4E0B, ')',
       3, '(',0x5DE6, ')',
       3, '(',0x53F3, ')',
       3, '(',0x533B, ')',
       3, '(',0x5B97, ')',
       3, '(',0x5B66, ')',
       3, '(',0x76E3, ')',
       3, '(',0x4F01, ')',
       3, '(',0x8CC7, ')',
       3, '(',0x5354, ')',
       3, '(',0x591C, ')',
       2, '1',0x6708,
       2, '2',0x6708,
       2, '3',0x6708,
       2, '4',0x6708,
       2, '5',0x6708,
       2, '6',0x6708,
       2, '7',0x6708,
       2, '8',0x6708,
       2, '9',0x6708,
       3, '1', '0',0x6708,
       3, '1', '1',0x6708,
       3, '1', '2',0x6708,
       3, '(',0x30A2, ')',
       3, '(',0x30A4, ')',
       3, '(',0x30A6, ')',
       3, '(',0x30A8, ')',
       3, '(',0x30AA, ')',
       3, '(',0x30AB, ')',
       3, '(',0x30AD, ')',
       3, '(',0x30AF, ')',
       3, '(',0x30B1, ')',
       3, '(',0x30B3, ')',
       3, '(',0x30B5, ')',
       3, '(',0x30B7, ')',
       3, '(',0x30B9, ')',
       3, '(',0x30BB, ')',
       3, '(',0x30BD, ')',
       3, '(',0x30BF, ')',
       3, '(',0x30C1, ')',
       3, '(',0x30C4, ')',
       3, '(',0x30C6, ')',
       3, '(',0x30C8, ')',
       3, '(',0x30CA, ')',
       3, '(',0x30CB, ')',
       3, '(',0x30CC, ')',
       3, '(',0x30CD, ')',
       3, '(',0x30CE, ')',
       3, '(',0x30CF, ')',
       3, '(',0x30D2, ')',
       3, '(',0x30D5, ')',
       3, '(',0x30D8, ')',
       3, '(',0x30DB, ')',
       3, '(',0x30DE, ')',
       3, '(',0x30DF, ')',
       3, '(',0x30E0, ')',
       3, '(',0x30E1, ')',
       3, '(',0x30E2, ')',
       3, '(',0x30E4, ')',
       3, '(',0x30E6, ')',
       3, '(',0x30E8, ')',
       3, '(',0x30E9, ')',
       3, '(',0x30EA, ')',
       3, '(',0x30EB, ')',
       3, '(',0x30EC, ')',
       3, '(',0x30ED, ')',
       3, '(',0x30EF, ')',
       3, '(',0x30F0, ')',
       3, '(',0x30F1, ')',
       3, '(',0x30F2, ')',
       4,0x30A2,0x30D1,0x30FC,0x30C8,
       4,0x30A2,0x30EB,0x30D5,0x30A1,
       4,0x30A2,0x30F3,0x30DA,0x30A2,
       3,0x30A2,0x30FC,0x30EB,
       4,0x30A4,0x30CB,0x30F3,0x30B0,
       3,0x30A4,0x30F3,0x30C1,
       3,0x30A6,0x30A9,0x30F3,
       5,0x30A8,0x30B9,0x30AF,0x30FC,0x30C9,
       4,0x30A8,0x30FC,0x30AB,0x30FC,
       3,0x30AA,0x30F3,0x30B9,
       3,0x30AA,0x30FC,0x30E0,
       3,0x30AB,0x30A4,0x30EA,
       4,0x30AB,0x30E9,0x30C3,0x30C8,
       4,0x30AB,0x30ED,0x30EA,0x30FC,
       3,0x30AC,0x30ED,0x30F3,
       3,0x30AC,0x30F3,0x30DE,
       2,0x30AE,0x30AC,
       3,0x30AE,0x30CB,0x30FC,
       4,0x30AD,0x30E5,0x30EA,0x30FC,
       4,0x30AE,0x30EB,0x30C0,0x30FC,
       2,0x30AD,0x30ED,
       5,0x30AD,0x30ED,0x30B0,0x30E9,0x30E0,
       6,0x30AD,0x30ED,0x30E1,0x30FC,0x30C8,0x30EB,
       5,0x30AD,0x30ED,0x30EF,0x30C3,0x30C8,
       3,0x30B0,0x30E9,0x30E0,
       5,0x30B0,0x30E9,0x30E0,0x30C8,0x30F3,
       5,0x30AF,0x30EB,0x30BC,0x30A4,0x30ED,
       4,0x30AF,0x30ED,0x30FC,0x30CD,
       3,0x30B1,0x30FC,0x30B9,
       3,0x30B3,0x30EB,0x30CA,
       3,0x30B3,0x30FC,0x30DD,
       4,0x30B5,0x30A4,0x30AF,0x30EB,
       5,0x30B5,0x30F3,0x30C1,0x30FC,0x30E0,
       4,0x30B7,0x30EA,0x30F3,0x30B0,
       3,0x30BB,0x30F3,0x30C1,
       3,0x30BB,0x30F3,0x30C8,
       3,0x30C0,0x30FC,0x30B9,
       2,0x30C7,0x30B7,
       2,0x30C9,0x30EB,
       2,0x30C8,0x30F3,
       2,0x30CA,0x30CE,
       3,0x30CE,0x30C3,0x30C8,
       3,0x30CF,0x30A4,0x30C4,
       5,0x30D1,0x30FC,0x30BB,0x30F3,0x30C8,
       3,0x30D1,0x30FC,0x30C4,
       4,0x30D0,0x30FC,0x30EC,0x30EB,
       5,0x30D4,0x30A2,0x30B9,0x30C8,0x30EB,
       3,0x30D4,0x30AF,0x30EB,
       2,0x30D4,0x30B3,
       2,0x30D3,0x30EB,
       5,0x30D5,0x30A1,0x30E9,0x30C3,0x30C9,
       4,0x30D5,0x30A3,0x30FC,0x30C8,
       5,0x30D6,0x30C3,0x30B7,0x30A7,0x30EB,
       3,0x30D5,0x30E9,0x30F3,
       5,0x30D8,0x30AF,0x30BF,0x30FC,0x30EB,
       2,0x30DA,0x30BD,
       3,0x30DA,0x30CB,0x30D2,
       3,0x30D8,0x30EB,0x30C4,
       3,0x30DA,0x30F3,0x30B9,
       3,0x30DA,0x30FC,0x30B8,
       3,0x30D9,0x30FC,0x30BF,
       4,0x30DD,0x30A4,0x30F3,0x30C8,
       3,0x30DC,0x30EB,0x30C8,
       2,0x30DB,0x30F3,
       3,0x30DD,0x30F3,0x30C9,
       3,0x30DB,0x30FC,0x30EB,
       3,0x30DB,0x30FC,0x30F3,
       4,0x30DE,0x30A4,0x30AF,0x30ED,
       3,0x30DE,0x30A4,0x30EB,
       3,0x30DE,0x30C3,0x30CF,
       3,0x30DE,0x30EB,0x30AF,
       5,0x30DE,0x30F3,0x30B7,0x30E7,0x30F3,
       4,0x30DF,0x30AF,0x30ED,0x30F3,
       2,0x30DF,0x30EA,
       5,0x30DF,0x30EA,0x30D0,0x30FC,0x30EB,
       2,0x30E1,0x30AC,
       4,0x30E1,0x30AC,0x30C8,0x30F3,
       4,0x30E1,0x30FC,0x30C8,0x30EB,
       3,0x30E4,0x30FC,0x30C9,
       3,0x30E4,0x30FC,0x30EB,
       3,0x30E6,0x30A2,0x30F3,
       4,0x30EA,0x30C3,0x30C8,0x30EB,
       2,0x30EA,0x30E9,
       3,0x30EB,0x30D4,0x30FC,
       4,0x30EB,0x30FC,0x30D6,0x30EB,
       2,0x30EC,0x30E0,
       5,0x30EC,0x30F3,0x30C8,0x30B2,0x30F3,
       3,0x30EF,0x30C3,0x30C8,
       2, '0',0x70B9,
       2, '1',0x70B9,
       2, '2',0x70B9,
       2, '3',0x70B9,
       2, '4',0x70B9,
       2, '5',0x70B9,
       2, '6',0x70B9,
       2, '7',0x70B9,
       2, '8',0x70B9,
       2, '9',0x70B9,
       3, '1', '0',0x70B9,
       3, '1', '1',0x70B9,
       3, '1', '2',0x70B9,
       3, '1', '3',0x70B9,
       3, '1', '4',0x70B9,
       3, '1', '5',0x70B9,
       3, '1', '6',0x70B9,
       3, '1', '7',0x70B9,
       3, '1', '8',0x70B9,
       3, '1', '9',0x70B9,
       3, '2', '0',0x70B9,
       3, '2', '1',0x70B9,
       3, '2', '2',0x70B9,
       3, '2', '3',0x70B9,
       3, '2', '4',0x70B9,
       3, 'h', 'P', 'a',
       2, 'd', 'a',
       2, 'A', 'U',
       3, 'b', 'a', 'r',
       2, 'o', 'V',
       2, 'p', 'c',
       2,0x5E73,0x6210,
       2,0x662D,0x548C,
       2,0x5927,0x6B63,
       2,0x660E,0x6CBB,
       4,0x682A,0x5F0F,0x4F1A,0x793E,
       2, 'p', 'A',
       2, 'n', 'A',
       2,0x03BC, 'A',
       2, 'm', 'A',
       2, 'k', 'A',
       2, 'K', 'B',
       2, 'M', 'B',
       2, 'G', 'B',
       3, 'c', 'a', 'l',
       4, 'k', 'c', 'a', 'l',
       2, 'p', 'F',
       2, 'n', 'F',
       2,0x03BC, 'F',
       2,0x03BC, 'g',
       2, 'm', 'g',
       2, 'k', 'g',
       2, 'H', 'z',
       3, 'k', 'H', 'z',
       3, 'M', 'H', 'z',
       3, 'G', 'H', 'z',
       3, 'T', 'H', 'z',
       2,0x03BC, 'l',
       2, 'm', 'l',
       2, 'd', 'l',
       2, 'k', 'l',
       2, 'f', 'm',
       2, 'n', 'm',
       2,0x03BC, 'm',
       2, 'm', 'm',
       2, 'c', 'm',
       2, 'k', 'm',
       4, 'm', 'm', '^', '2',
       4, 'c', 'm', '^', '2',
       3, 'm', '^', '2',
       4, 'k', 'm', '^', '2',
       4, 'm', 'm', '^', '3',
       4, 'c', 'm', '^', '3',
       3, 'm', '^', '3',
       4, 'k', 'm', '^', '3',
       3, 'm', '/', 's',
       5, 'm', '/', 's', '^', '2',
       2, 'P', 'a',
       3, 'k', 'P', 'a',
       3, 'M', 'P', 'a',
       3, 'G', 'P', 'a',
       3, 'r', 'a', 'd',
       5, 'r', 'a', 'd', '/', 's',
       7, 'r', 'a', 'd', '/', 's', '^', '2',
       2, 'p', 's',
       2, 'n', 's',
       2,0x03BC, 's',
       2, 'm', 's',
       2, 'p', 'V',
       2, 'n', 'V',
       2,0x03BC, 'V',
       2, 'm', 'V',
       2, 'k', 'V',
       2, 'M', 'V',
       2, 'p', 'W',
       2, 'n', 'W',
       2,0x03BC, 'W',
       2, 'm', 'W',
       2, 'k', 'W',
       2, 'M', 'W',
       2, 'k',0x03A9,
       2, 'M',0x03A9,
       4, 'a', '.', 'm', '.',
       2, 'B', 'q',
       2, 'c', 'c',
       2, 'c', 'd',
       4, 'C', '/', 'k', 'g',
       3, 'C', 'o', '.',
       2, 'd', 'B',
       2, 'G', 'y',
       2, 'h', 'a',
       2, 'H', 'P',
       2, 'i', 'n',
       2, 'K', 'K',
       2, 'K', 'M',
       2, 'k', 't',
       2, 'l', 'm',
       2, 'l', 'n',
       3, 'l', 'o', 'g',
       2, 'l', 'x',
       2, 'm', 'b',
       3, 'm', 'i', 'l',
       3, 'm', 'o', 'l',
       2, 'P', 'H',
       4, 'p', '.', 'm', '.',
       3, 'P', 'P', 'M',
       2, 'P', 'R',
       2, 's', 'r',
       2, 'S', 'v',
       2, 'W', 'b',
       2, '1',0x65E5,
       2, '2',0x65E5,
       2, '3',0x65E5,
       2, '4',0x65E5,
       2, '5',0x65E5,
       2, '6',0x65E5,
       2, '7',0x65E5,
       2, '8',0x65E5,
       2, '9',0x65E5,
       3, '1', '0',0x65E5,
       3, '1', '1',0x65E5,
       3, '1', '2',0x65E5,
       3, '1', '3',0x65E5,
       3, '1', '4',0x65E5,
       3, '1', '5',0x65E5,
       3, '1', '6',0x65E5,
       3, '1', '7',0x65E5,
       3, '1', '8',0x65E5,
       3, '1', '9',0x65E5,
       3, '2', '0',0x65E5,
       3, '2', '1',0x65E5,
       3, '2', '2',0x65E5,
       3, '2', '3',0x65E5,
       3, '2', '4',0x65E5,
       3, '2', '5',0x65E5,
       3, '2', '6',0x65E5,
       3, '2', '7',0x65E5,
       3, '2', '8',0x65E5,
       3, '2', '9',0x65E5,
       3, '3', '0',0x65E5,
       3, '3', '1',0x65E5,
       1,0x8C48,
       1,0x66F4,
       1,0x8ECA,
       1,0x8CC8,
       1,0x6ED1,
       1,0x4E32,
       1,0x53E5,
       1,0x9F9C,
       1,0x9F9C,
       1,0x5951,
       1,0x91D1,
       1,0x5587,
       1,0x5948,
       1,0x61F6,
       1,0x7669,
       1,0x7F85,
       1,0x863F,
       1,0x87BA,
       1,0x88F8,
       1,0x908F,
       1,0x6A02,
       1,0x6D1B,
       1,0x70D9,
       1,0x73DE,
       1,0x843D,
       1,0x916A,
       1,0x99F1,
       1,0x4E82,
       1,0x5375,
       1,0x6B04,
       1,0x721B,
       1,0x862D,
       1,0x9E1E,
       1,0x5D50,
       1,0x6FEB,
       1,0x85CD,
       1,0x8964,
       1,0x62C9,
       1,0x81D8,
       1,0x881F,
       1,0x5ECA,
       1,0x6717,
       1,0x6D6A,
       1,0x72FC,
       1,0x90CE,
       1,0x4F86,
       1,0x51B7,
       1,0x52DE,
       1,0x64C4,
       1,0x6AD3,
       1,0x7210,
       1,0x76E7,
       1,0x8001,
       1,0x8606,
       1,0x865C,
       1,0x8DEF,
       1,0x9732,
       1,0x9B6F,
       1,0x9DFA,
       1,0x788C,
       1,0x797F,
       1,0x7DA0,
       1,0x83C9,
       1,0x9304,
       1,0x9E7F,
       1,0x8AD6,
       1,0x58DF,
       1,0x5F04,
       1,0x7C60,
       1,0x807E,
       1,0x7262,
       1,0x78CA,
       1,0x8CC2,
       1,0x96F7,
       1,0x58D8,
       1,0x5C62,
       1,0x6A13,
       1,0x6DDA,
       1,0x6F0F,
       1,0x7D2F,
       1,0x7E37,
       1,0x96FB,
       1,0x52D2,
       1,0x808B,
       1,0x51DC,
       1,0x51CC,
       1,0x7A1C,
       1,0x7DBE,
       1,0x83F1,
       1,0x9675,
       1,0x8B80,
       1,0x62CF,
       1,0x6A02,
       1,0x8AFE,
       1,0x4E39,
       1,0x5BE7,
       1,0x6012,
       1,0x7387,
       1,0x7570,
       1,0x5317,
       1,0x78FB,
       1,0x4FBF,
       1,0x5FA9,
       1,0x4E0D,
       1,0x6CCC,
       1,0x6578,
       1,0x7D22,
       1,0x53C3,
       1,0x585E,
       1,0x7701,
       1,0x8449,
       1,0x8AAA,
       1,0x6BBA,
       1,0x8FB0,
       1,0x6C88,
       1,0x62FE,
       1,0x82E5,
       1,0x63A0,
       1,0x7565,
       1,0x4EAE,
       1,0x5169,
       1,0x51C9,
       1,0x6881,
       1,0x7CE7,
       1,0x826F,
       1,0x8AD2,
       1,0x91CF,
       1,0x52F5,
       1,0x5442,
       1,0x5973,
       1,0x5EEC,
       1,0x65C5,
       1,0x6FFE,
       1,0x792A,
       1,0x95AD,
       1,0x9A6A,
       1,0x9E97,
       1,0x9ECE,
       1,0x529B,
       1,0x66C6,
       1,0x6B77,
       1,0x8F62,
       1,0x5E74,
       1,0x6190,
       1,0x6200,
       1,0x649A,
       1,0x6F23,
       1,0x7149,
       1,0x7489,
       1,0x79CA,
       1,0x7DF4,
       1,0x806F,
       1,0x8F26,
       1,0x84EE,
       1,0x9023,
       1,0x934A,
       1,0x5217,
       1,0x52A3,
       1,0x54BD,
       1,0x70C8,
       1,0x88C2,
       1,0x8AAA,
       1,0x5EC9,
       1,0x5FF5,
       1,0x637B,
       1,0x6BAE,
       1,0x7C3E,
       1,0x7375,
       1,0x4EE4,
       1,0x56F9,
       1,0x5BE7,
       1,0x5DBA,
       1,0x601C,
       1,0x73B2,
       1,0x7469,
       1,0x7F9A,
       1,0x8046,
       1,0x9234,
       1,0x96F6,
       1,0x9748,
       1,0x9818,
       1,0x4F8B,
       1,0x79AE,
       1,0x91B4,
       1,0x96B8,
       1,0x60E1,
       1,0x4E86,
       1,0x50DA,
       1,0x5BEE,
       1,0x5C3F,
       1,0x6599,
       1,0x6A02,
       1,0x71CE,
       1,0x7642,
       1,0x84FC,
       1,0x907C,
       1,0x9F8D,
       1,0x6688,
       1,0x962E,
       1,0x5289,
       1,0x677B,
       1,0x67F3,
       1,0x6D41,
       1,0x6E9C,
       1,0x7409,
       1,0x7559,
       1,0x786B,
       1,0x7D10,
       1,0x985E,
       1,0x516D,
       1,0x622E,
       1,0x9678,
       1,0x502B,
       1,0x5D19,
       1,0x6DEA,
       1,0x8F2A,
       1,0x5F8B,
       1,0x6144,
       1,0x6817,
       1,0x7387,
       1,0x9686,
       1,0x5229,
       1,0x540F,
       1,0x5C65,
       1,0x6613,
       1,0x674E,
       1,0x68A8,
       1,0x6CE5,
       1,0x7406,
       1,0x75E2,
       1,0x7F79,
       1,0x88CF,
       1,0x88E1,
       1,0x91CC,
       1,0x96E2,
       1,0x533F,
       1,0x6EBA,
       1,0x541D,
       1,0x71D0,
       1,0x7498,
       1,0x85FA,
       1,0x96A3,
       1,0x9C57,
       1,0x9E9F,
       1,0x6797,
       1,0x6DCB,
       1,0x81E8,
       1,0x7ACB,
       1,0x7B20,
       1,0x7C92,
       1,0x72C0,
       1,0x7099,
       1,0x8B58,
       1,0x4EC0,
       1,0x8336,
       1,0x523A,
       1,0x5207,
       1,0x5EA6,
       1,0x62D3,
       1,0x7CD6,
       1,0x5B85,
       1,0x6D1E,
       1,0x66B4,
       1,0x8F3B,
       1,0x884C,
       1,0x964D,
       1,0x898B,
       1,0x5ED3,
       1,0x5140,
       1,0x55C0,
       1,0x585A,
       1,0x6674,
       1,0x51DE,
       1,0x732A,
       1,0x76CA,
       1,0x793C,
       1,0x795E,
       1,0x7965,
       1,0x798F,
       1,0x9756,
       1,0x7CBE,
       1,0x7FBD,
       1,0x8612,
       1,0x8AF8,
       1,0x9038,
       1,0x90FD,
       1,0x98EF,
       1,0x98FC,
       1,0x9928,
       1,0x9DB4,
       2, 'f', 'f',
       2, 'f', 'i',
       2, 'f', 'l',
       3, 'f', 'f', 'i',
       3, 'f', 'f', 'l',
       2,0x017F, 't',
       2, 's', 't',
       2,0x0574,0x0576,
       2,0x0574,0x0565,
       2,0x0574,0x056B,
       2,0x057E,0x0576,
       2,0x0574,0x056D,
       1,0x05E2,
       1,0x05D0,
       1,0x05D3,
       1,0x05D4,
       1,0x05DB,
       1,0x05DC,
       1,0x05DD,
       1,0x05E8,
       1,0x05EA,
       1, '+',
       2,0x05D0,0x05DC,
       1,0x203E,
       1,0x203E,
       1,0x203E,
       1,0x203E,
       1, '_',
       1, '_',
       1, '_',
       1, ',',
       1,0x3001,
       1, '.',
       1, ';',
       1, ':',
       1, '?',
       1, '!',
       1,0x2014,
       1, '(',
       1, ')',
       1, '{',
       1, '}',
       1,0x3014,
       1,0x3015,
       1, '#',
       1, '&',
       1, '*',
       1, '+',
       1, '-',
       1, '<',
       1, '>',
       1, '=',
       1,'\\',
       1, '$',
       1, '%',
       1, '@',
       1, '!',
       1, '"',
       1, '#',
       1, '$',
       1, '%',
       1, '&',
       1,'\'',
       1, '(',
       1, ')',
       1, '*',
       1, '+',
       1, ',',
       1, '-',
       1, '.',
       1, '/',
       1, '0',
       1, '1',
       1, '2',
       1, '3',
       1, '4',
       1, '5',
       1, '6',
       1, '7',
       1, '8',
       1, '9',
       1, ':',
       1, ';',
       1, '<',
       1, '=',
       1, '>',
       1, '?',
       1, '@',
       1, 'A',
       1, 'B',
       1, 'C',
       1, 'D',
       1, 'E',
       1, 'F',
       1, 'G',
       1, 'H',
       1, 'I',
       1, 'J',
       1, 'K',
       1, 'L',
       1, 'M',
       1, 'N',
       1, 'O',
       1, 'P',
       1, 'Q',
       1, 'R',
       1, 'S',
       1, 'T',
       1, 'U',
       1, 'V',
       1, 'W',
       1, 'X',
       1, 'Y',
       1, 'Z',
       1, '[',
       1,'\\',
       1, ']',
       1, '^',
       1, '_',
       1, '`',
       1, 'a',
       1, 'b',
       1, 'c',
       1, 'd',
       1, 'e',
       1, 'f',
       1, 'g',
       1, 'h',
       1, 'i',
       1, 'j',
       1, 'k',
       1, 'l',
       1, 'm',
       1, 'n',
       1, 'o',
       1, 'p',
       1, 'q',
       1, 'r',
       1, 's',
       1, 't',
       1, 'u',
       1, 'v',
       1, 'w',
       1, 'x',
       1, 'y',
       1, 'z',
       1, '{',
       1, '|',
       1, '}',
       1, '~',
       1,0x3002,
       1,0x300C,
       1,0x300D,
       1,0x3001,
       1,0x30FB,
       1,0x30F2,
       1,0x30A1,
       1,0x30A3,
       1,0x30A5,
       1,0x30A7,
       1,0x30A9,
       1,0x30E3,
       1,0x30E5,
       1,0x30E7,
       1,0x30C3,
       1,0x30FC,
       1,0x30A2,
       1,0x30A4,
       1,0x30A6,
       1,0x30A8,
       1,0x30AA,
       1,0x30AB,
       1,0x30AD,
       1,0x30AF,
       1,0x30B1,
       1,0x30B3,
       1,0x30B5,
       1,0x30B7,
       1,0x30B9,
       1,0x30BB,
       1,0x30BD,
       1,0x30BF,
       1,0x30C1,
       1,0x30C4,
       1,0x30C6,
       1,0x30C8,
       1,0x30CA,
       1,0x30CB,
       1,0x30CC,
       1,0x30CD,
       1,0x30CE,
       1,0x30CF,
       1,0x30D2,
       1,0x30D5,
       1,0x30D8,
       1,0x30DB,
       1,0x30DE,
       1,0x30DF,
       1,0x30E0,
       1,0x30E1,
       1,0x30E2,
       1,0x30E4,
       1,0x30E6,
       1,0x30E8,
       1,0x30E9,
       1,0x30EA,
       1,0x30EB,
       1,0x30EC,
       1,0x30ED,
       1,0x30EF,
       1,0x30F3,
       1,0x3099,
       1,0x309A,
       1,0x3164,
       1,0x3131,
       1,0x3132,
       1,0x3133,
       1,0x3134,
       1,0x3135,
       1,0x3136,
       1,0x3137,
       1,0x3138,
       1,0x3139,
       1,0x313A,
       1,0x313B,
       1,0x313C,
       1,0x313D,
       1,0x313E,
       1,0x313F,
       1,0x3140,
       1,0x3141,
       1,0x3142,
       1,0x3143,
       1,0x3144,
       1,0x3145,
       1,0x3146,
       1,0x3147,
       1,0x3148,
       1,0x3149,
       1,0x314A,
       1,0x314B,
       1,0x314C,
       1,0x314D,
       1,0x314E,
       1,0x314F,
       1,0x3150,
       1,0x3151,
       1,0x3152,
       1,0x3153,
       1,0x3154,
       1,0x3155,
       1,0x3156,
       1,0x3157,
       1,0x3158,
       1,0x3159,
       1,0x315A,
       1,0x315B,
       1,0x315C,
       1,0x315D,
       1,0x315E,
       1,0x315F,
       1,0x3160,
       1,0x3161,
       1,0x3162,
       1,0x3163,
       1,0xA2,
       1,0xA3,
       1,0xAC,
       1,0xAF,
       1,0xA6,
       1,0xA5,
       1,0x20A9,
       1,0x2502,
       1,0x2190,
       1,0x2191,
       1,0x2192,
       1,0x2193,
       1,0x25A0,
       1,0x25CB,
    };
    
    static const short translit_page00[344] = {
         0,    2,    4,    6,   -1,    9,   13,   15, /* 0xa0-0xa7 */
        18,   20,   24,   26,   29,   33,   35,   -1, /* 0xa8-0xaf */
        39,   42,   46,   49,   52,   54,   56,   58, /* 0xb0-0xb7 */
        60,   62,   65,   67,   70,   76,   82,   88, /* 0xb8-0xbf */
        90,   93,   96,   99,  102,  105,  107,  110, /* 0xc0-0xc7 */
       112,  115,  118,  121,  124,  127,  130,  133, /* 0xc8-0xcf */
       136,  138,  141,  144,  147,  150,  153,  156, /* 0xd0-0xd7 */
       158,  160,  163,  166,  169,  172,  175,  178, /* 0xd8-0xdf */
       181,  184,  187,  190,  193,  196,  198,  201, /* 0xe0-0xe7 */
       203,  206,  209,  212,  215,  218,  221,  224, /* 0xe8-0xef */
       227,  229,  232,  235,  238,  241,  244,  247, /* 0xf0-0xf7 */
       249,  251,  254,  257,  260,  263,  266,  269, /* 0xf8-0xff */
      /* 0x0100 */
       272,  274,  276,  278,  280,  282,  284,  287, /* 0x00-0x07 */
       290,  293,  296,  298,  300,  302,  304,  306, /* 0x08-0x0f */
       308,  310,  312,  314,  316,  318,  320,  322, /* 0x10-0x17 */
       324,  326,  328,  330,  332,  335,  338,  340, /* 0x18-0x1f */
       342,  344,  346,  348,  350,  353,  356,  358, /* 0x20-0x27 */
       360,  363,  366,  368,  370,  372,  374,  376, /* 0x28-0x2f */
       378,  380,  382,  385,  388,  391,  394,  396, /* 0x30-0x37 */
        -1,  398,  400,  402,  404,  406,  408,  410, /* 0x38-0x3f */
       412,  414,  416,  418,  421,  424,  426,  428, /* 0x40-0x47 */
       430,  432,   -1,   -1,  435,  437,  439,  441, /* 0x48-0x4f */
       443,  446,  449,  452,  455,  458,  461,  463, /* 0x50-0x57 */
       465,  467,  469,  472,  475,  478,  481,  483, /* 0x58-0x5f */
       485,  487,  489,  491,  493,  495,  497,  499, /* 0x60-0x67 */
       501,  504,  507,  509,  511,  513,  515,  517, /* 0x68-0x6f */
       519,  522,  525,  527,  529,  532,  535,  538, /* 0x70-0x77 */
       541,  544,  547,  550,  552,  554,  556,  558, /* 0x78-0x7f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x80-0x87 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x88-0x8f */
        -1,   -1,  560,   -1,   -1,   -1,   -1,   -1, /* 0x90-0x97 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x98-0x9f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xa0-0xa7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xa8-0xaf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb0-0xb7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb8-0xbf */
        -1,   -1,   -1,   -1,  562,  565,  568,  571, /* 0xc0-0xc7 */
       574,  577,  580,  583,  586,   -1,   -1,   -1, /* 0xc8-0xcf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xd0-0xd7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xd8-0xdf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xe0-0xe7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xe8-0xef */
        -1,  589,  592,  595,   -1,   -1,   -1,   -1, /* 0xf0-0xf7 */
    };
    static const short translit_page02[8] = {
       598,  600,  602,  604,   -1,   -1,   -1,   -1, /* 0x18-0x1f */
    };
    static const short translit_page02_1[32] = {
        -1,   -1,   -1,   -1,   -1,   -1,  606,   -1, /* 0xc0-0xc7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xc8-0xcf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xd0-0xd7 */
        -1,   -1,   -1,   -1,  608,  610,   -1,   -1, /* 0xd8-0xdf */
    };
    static const short translit_page03[40] = {
       612,  614,  616,   -1,   -1,  618,  620,   -1, /* 0xd0-0xd7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xd8-0xdf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xe0-0xe7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xe8-0xef */
       622,  624,  626,   -1,   -1,   -1,   -1,   -1, /* 0xf0-0xf7 */
    };
    static const short translit_page05[8] = {
       631,  634,  637,   -1,   -1,   -1,   -1,   -1, /* 0xf0-0xf7 */
    };
    static const short translit_page06[16] = {
        -1,   -1,   -1,   -1,   -1,  640,  643,  646, /* 0x70-0x77 */
       649,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x78-0x7f */
    };
    static const short translit_page0e[48] = {
        -1,   -1,   -1,  655,   -1,   -1,   -1,   -1, /* 0xb0-0xb7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb8-0xbf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xc0-0xc7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xc8-0xcf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xd0-0xd7 */
        -1,   -1,   -1,   -1,  658,  661,   -1,   -1, /* 0xd8-0xdf */
    };
    static const short translit_page0f[16] = {
        -1,   -1,   -1,   -1,   -1,   -1,   -1,  664, /* 0x70-0x77 */
        -1,  667,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x78-0x7f */
    };
    static const short translit_page1e[160] = {
        -1,   -1,  670,  672,   -1,   -1,   -1,   -1, /* 0x00-0x07 */
        -1,   -1,  674,  676,   -1,   -1,   -1,   -1, /* 0x08-0x0f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x10-0x17 */
        -1,   -1,   -1,   -1,   -1,   -1,  678,  680, /* 0x18-0x1f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x20-0x27 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x28-0x2f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x30-0x37 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x38-0x3f */
       682,  684,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x48-0x4f */
        -1,   -1,   -1,   -1,   -1,   -1,  686,  688, /* 0x50-0x57 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x58-0x5f */
       690,  692,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x60-0x67 */
        -1,   -1,  694,  696,   -1,   -1,   -1,   -1, /* 0x68-0x6f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x70-0x77 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x78-0x7f */
       698,  701,  704,  707,  710,  713,   -1,   -1, /* 0x80-0x87 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x88-0x8f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x90-0x97 */
        -1,   -1,  716,   -1,   -1,   -1,   -1,   -1, /* 0x98-0x9f */
    };
    static const short translit_page1e_2[8] = {
        -1,   -1,  719,  722,   -1,   -1,   -1,   -1, /* 0xf0-0xf7 */
    };
    static const short translit_page20[80] = {
        -1,   -1,  725,  727,  729,  731,  733,   -1, /* 0x00-0x07 */
       735,  737,  739,   -1,   -1,   -1,   -1,   -1, /* 0x08-0x0f */
       741,  743,  745,  747,  749,  751,   -1,   -1, /* 0x10-0x17 */
        -1,   -1,   -1,   -1,  753,  755,  757,   -1, /* 0x18-0x1f */
       759,   -1,  761,   -1,  763,  765,  768,   -1, /* 0x20-0x27 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x28-0x2f */
       772,   -1,  777,  779,  782,   -1,  786,  789, /* 0x30-0x37 */
        -1,  793,  795,   -1,  797,   -1,   -1,   -1, /* 0x38-0x3f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
       800,  803,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x48-0x4f */
    };
    static const short translit_page20_3[8] = {
       806,   -1,   -1,   -1,  809,   -1,   -1,   -1, /* 0xa8-0xaf */
    };
    static const short translit_page21[216] = {
       813,  817,  821,  823,   -1,  826,  830,  834, /* 0x00-0x07 */
        -1,  836,  839,  841,  843,  845,  847,  849, /* 0x08-0x0f */
       851,  853,  855,  857,   -1,  859,  861,   -1, /* 0x10-0x17 */
        -1,  864,  866,  868,  870,  872,   -1,   -1, /* 0x18-0x1f */
        -1,  874,  878,   -1,  881,   -1,  883,   -1, /* 0x20-0x27 */
       887,   -1,   -1,   -1,  889,  891,   -1,  893, /* 0x28-0x2f */
       895,  897,   -1,  899,  901,  903,  905,  907, /* 0x30-0x37 */
       909,  911,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x38-0x3f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x48-0x4f */
        -1,   -1,   -1,  913,  919,  925,  931,  937, /* 0x50-0x57 */
       943,  949,  955,  961,  967,  973,  979,  985, /* 0x58-0x5f */
       989,  991,  994,  998, 1001, 1003, 1006, 1010, /* 0x60-0x67 */
      1015, 1018, 1020, 1023, 1027, 1029, 1031, 1033, /* 0x68-0x6f */
      1035, 1037, 1040, 1044, 1047, 1049, 1052, 1056, /* 0x70-0x77 */
      1061, 1064, 1066, 1069, 1073, 1075, 1077, 1079, /* 0x78-0x7f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x80-0x87 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x88-0x8f */
      1081, 1084, 1086, 1089,   -1,   -1,   -1,   -1, /* 0x90-0x97 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x98-0x9f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xa0-0xa7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xa8-0xaf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb0-0xb7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb8-0xbf */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xc0-0xc7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xc8-0xcf */
      1091,   -1, 1094,   -1,   -1,   -1,   -1,   -1, /* 0xd0-0xd7 */
    };
    static const short translit_page22[96] = {
        -1,   -1, 1097,   -1,   -1, 1099,   -1,   -1, /* 0x10-0x17 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x18-0x1f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x20-0x27 */
        -1,   -1,   -1,   -1, 1101, 1104,   -1, 1108, /* 0x28-0x2f */
      1111,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x30-0x37 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x38-0x3f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x48-0x4f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x50-0x57 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x58-0x5f */
      1115,   -1,   -1,   -1, 1118, 1121,   -1,   -1, /* 0x60-0x67 */
        -1,   -1, 1124, 1127,   -1,   -1,   -1,   -1, /* 0x68-0x6f */
    };
    static const short translit_page24[144] = {
      1130, 1134, 1138, 1142, 1146, 1150, 1154, 1158, /* 0x60-0x67 */
      1162, 1166, 1171, 1176, 1181, 1186, 1191, 1196, /* 0x68-0x6f */
      1201, 1206, 1211, 1216, 1221, 1225, 1229, 1233, /* 0x70-0x77 */
      1237, 1241, 1245, 1249, 1253, 1257, 1262, 1267, /* 0x78-0x7f */
      1272, 1277, 1282, 1287, 1292, 1297, 1302, 1307, /* 0x80-0x87 */
      1312, 1315, 1318, 1321, 1324, 1327, 1330, 1333, /* 0x88-0x8f */
      1336, 1339, 1343, 1347, 1351, 1355, 1359, 1363, /* 0x90-0x97 */
      1367, 1371, 1375, 1379, 1383, 1387, 1391, 1395, /* 0x98-0x9f */
      1399, 1403, 1407, 1411, 1415, 1419, 1423, 1427, /* 0xa0-0xa7 */
      1431, 1435, 1439, 1443, 1447, 1451, 1455, 1459, /* 0xa8-0xaf */
      1463, 1467, 1471, 1475, 1479, 1483, 1487, 1491, /* 0xb0-0xb7 */
      1495, 1499, 1503, 1507, 1511, 1515, 1519, 1523, /* 0xb8-0xbf */
      1527, 1531, 1535, 1539, 1543, 1547, 1551, 1555, /* 0xc0-0xc7 */
      1559, 1563, 1567, 1571, 1575, 1579, 1583, 1587, /* 0xc8-0xcf */
      1591, 1595, 1599, 1603, 1607, 1611, 1615, 1619, /* 0xd0-0xd7 */
      1623, 1627, 1631, 1635, 1639, 1643, 1647, 1651, /* 0xd8-0xdf */
      1655, 1659, 1663, 1667, 1671, 1675, 1679, 1683, /* 0xe0-0xe7 */
      1687, 1691, 1695,   -1,   -1,   -1,   -1,   -1, /* 0xe8-0xef */
    };
    static const short translit_page25[64] = {
      1699,   -1, 1701,   -1,   -1,   -1,   -1,   -1, /* 0x00-0x07 */
        -1,   -1,   -1,   -1, 1703,   -1,   -1,   -1, /* 0x08-0x0f */
      1705,   -1,   -1,   -1, 1707,   -1,   -1,   -1, /* 0x10-0x17 */
      1709,   -1,   -1,   -1, 1711,   -1,   -1,   -1, /* 0x18-0x1f */
        -1,   -1,   -1,   -1, 1713,   -1,   -1,   -1, /* 0x20-0x27 */
        -1,   -1,   -1,   -1, 1715,   -1,   -1,   -1, /* 0x28-0x2f */
        -1,   -1,   -1,   -1, 1717,   -1,   -1,   -1, /* 0x30-0x37 */
        -1,   -1,   -1,   -1, 1719,   -1,   -1,   -1, /* 0x38-0x3f */
    };
    static const short translit_page2f[216] = {
      1725, 1727, 1729, 1731, 1733, 1735, 1737, 1739, /* 0x00-0x07 */
      1741, 1743, 1745, 1747, 1749, 1751, 1753, 1755, /* 0x08-0x0f */
      1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771, /* 0x10-0x17 */
      1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, /* 0x18-0x1f */
      1789, 1791, 1793, 1795, 1797, 1799, 1801, 1803, /* 0x20-0x27 */
      1805, 1807, 1809, 1811, 1813, 1815, 1817, 1819, /* 0x28-0x2f */
      1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, /* 0x30-0x37 */
      1837, 1839, 1841, 1843, 1845, 1847, 1849, 1851, /* 0x38-0x3f */
      1853, 1855, 1857, 1859, 1861, 1863, 1865, 1867, /* 0x40-0x47 */
      1869, 1871, 1873, 1875, 1877, 1879, 1881, 1883, /* 0x48-0x4f */
      1885, 1887, 1889, 1891, 1893, 1895, 1897, 1899, /* 0x50-0x57 */
      1901, 1903, 1905, 1907, 1909, 1911, 1913, 1915, /* 0x58-0x5f */
      1917, 1919, 1921, 1923, 1925, 1927, 1929, 1931, /* 0x60-0x67 */
      1933, 1935, 1937, 1939, 1941, 1943, 1945, 1947, /* 0x68-0x6f */
      1949, 1951, 1953, 1955, 1957, 1959, 1961, 1963, /* 0x70-0x77 */
      1965, 1967, 1969, 1971, 1973, 1975, 1977, 1979, /* 0x78-0x7f */
      1981, 1983, 1985, 1987, 1989, 1991, 1993, 1995, /* 0x80-0x87 */
      1997, 1999, 2001, 2003, 2005, 2007, 2009, 2011, /* 0x88-0x8f */
      2013, 2015, 2017, 2019, 2021, 2023, 2025, 2027, /* 0x90-0x97 */
      2029, 2031, 2033, 2035, 2037, 2039, 2041, 2043, /* 0x98-0x9f */
      2045, 2047, 2049, 2051, 2053, 2055, 2057, 2059, /* 0xa0-0xa7 */
      2061, 2063, 2065, 2067, 2069, 2071, 2073, 2075, /* 0xa8-0xaf */
      2077, 2079, 2081, 2083, 2085, 2087, 2089, 2091, /* 0xb0-0xb7 */
      2093, 2095, 2097, 2099, 2101, 2103, 2105, 2107, /* 0xb8-0xbf */
      2109, 2111, 2113, 2115, 2117, 2119, 2121, 2123, /* 0xc0-0xc7 */
      2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139, /* 0xc8-0xcf */
      2141, 2143, 2145, 2147, 2149, 2151,   -1,   -1, /* 0xd0-0xd7 */
    };
    static const short translit_page30[64] = {
      2153,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x00-0x07 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x08-0x0f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x10-0x17 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x18-0x1f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x20-0x27 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x28-0x2f */
        -1,   -1,   -1,   -1,   -1,   -1, 2155,   -1, /* 0x30-0x37 */
      2157, 2159, 2161,   -1,   -1,   -1,   -1,   -1, /* 0x38-0x3f */
    };
    static const short translit_page30_4[8] = {
        -1,   -1,   -1, 2163, 2166,   -1,   -1,   -1, /* 0x98-0x9f */
    };
    static const short translit_page31[96] = {
        -1, 2169, 2171, 2173, 2175, 2177, 2179, 2181, /* 0x30-0x37 */
      2183, 2185, 2187, 2189, 2191, 2193, 2195, 2197, /* 0x38-0x3f */
      2199, 2201, 2203, 2205, 2207, 2209, 2211, 2213, /* 0x40-0x47 */
      2215, 2217, 2219, 2221, 2223, 2225, 2227, 2229, /* 0x48-0x4f */
      2231, 2233, 2235, 2237, 2239, 2241, 2243, 2245, /* 0x50-0x57 */
      2247, 2249, 2251, 2253, 2255, 2257, 2259, 2261, /* 0x58-0x5f */
      2263, 2265, 2267, 2269, 2271, 2273, 2275, 2277, /* 0x60-0x67 */
      2279, 2281, 2283, 2285, 2287, 2289, 2291, 2293, /* 0x68-0x6f */
      2295, 2297, 2299, 2301, 2303, 2305, 2307, 2309, /* 0x70-0x77 */
      2311, 2313, 2315, 2317, 2319, 2321, 2323, 2325, /* 0x78-0x7f */
      2327, 2329, 2331, 2333, 2335, 2337, 2339, 2341, /* 0x80-0x87 */
      2343, 2345, 2347, 2349, 2351, 2353, 2355,   -1, /* 0x88-0x8f */
    };
    static const short translit_page32[512] = {
      2357, 2361, 2365, 2369, 2373, 2377, 2381, 2385, /* 0x00-0x07 */
      2389, 2393, 2397, 2401, 2405, 2409, 2413, 2418, /* 0x08-0x0f */
      2423, 2428, 2433, 2438, 2443, 2448, 2453, 2458, /* 0x10-0x17 */
      2463, 2468, 2473, 2478, 2483,   -1,   -1,   -1, /* 0x18-0x1f */
      2488, 2492, 2496, 2500, 2504, 2508, 2512, 2516, /* 0x20-0x27 */
      2520, 2524, 2528, 2532, 2536, 2540, 2544, 2548, /* 0x28-0x2f */
      2552, 2556, 2560, 2564, 2568, 2572, 2576, 2580, /* 0x30-0x37 */
      2584, 2588, 2592, 2596, 2600, 2604, 2608, 2612, /* 0x38-0x3f */
      2616, 2620, 2624, 2628,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x48-0x4f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x50-0x57 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x58-0x5f */
      2632, 2636, 2640, 2644, 2648, 2652, 2656, 2660, /* 0x60-0x67 */
      2664, 2668, 2672, 2676, 2680, 2684, 2688, 2693, /* 0x68-0x6f */
      2698, 2703, 2708, 2713, 2718, 2723, 2728, 2733, /* 0x70-0x77 */
      2738, 2743, 2748, 2753,   -1,   -1,   -1,   -1, /* 0x78-0x7f */
      2758, 2762, 2766, 2770, 2774, 2778, 2782, 2786, /* 0x80-0x87 */
      2790, 2794, 2798, 2802, 2806, 2810, 2814, 2818, /* 0x88-0x8f */
      2822, 2826, 2830, 2834, 2838, 2842, 2846, 2850, /* 0x90-0x97 */
      2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, /* 0x98-0x9f */
      2886, 2890, 2894, 2898, 2902, 2906, 2910, 2914, /* 0xa0-0xa7 */
      2918, 2922, 2926, 2930, 2934, 2938, 2942, 2946, /* 0xa8-0xaf */
      2950,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb0-0xb7 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0xb8-0xbf */
      2954, 2957, 2960, 2963, 2966, 2969, 2972, 2975, /* 0xc0-0xc7 */
      2978, 2981, 2985, 2989,   -1,   -1,   -1,   -1, /* 0xc8-0xcf */
      2993, 2997, 3001, 3005, 3009, 3013, 3017, 3021, /* 0xd0-0xd7 */
      3025, 3029, 3033, 3037, 3041, 3045, 3049, 3053, /* 0xd8-0xdf */
      3057, 3061, 3065, 3069, 3073, 3077, 3081, 3085, /* 0xe0-0xe7 */
      3089, 3093, 3097, 3101, 3105, 3109, 3113, 3117, /* 0xe8-0xef */
      3121, 3125, 3129, 3133, 3137, 3141, 3145, 3149, /* 0xf0-0xf7 */
      3153, 3157, 3161, 3165, 3169, 3173, 3177,   -1, /* 0xf8-0xff */
      /* 0x3300 */
      3181, 3186, 3191, 3196, 3200, 3205, 3209, 3213, /* 0x00-0x07 */
      3219, 3224, 3228, 3232, 3236, 3241, 3246, 3250, /* 0x08-0x0f */
      3254, 3257, 3261, 3266, 3271, 3274, 3280, 3287, /* 0x10-0x17 */
      3293, 3297, 3303, 3309, 3314, 3318, 3322, 3326, /* 0x18-0x1f */
      3331, 3337, 3342, 3346, 3350, 3354, 3357, 3360, /* 0x20-0x27 */
      3363, 3366, 3370, 3374, 3380, 3384, 3389, 3395, /* 0x28-0x2f */
      3399, 3402, 3405, 3411, 3416, 3422, 3426, 3432, /* 0x30-0x37 */
      3435, 3439, 3443, 3447, 3451, 3455, 3460, 3464, /* 0x38-0x3f */
      3467, 3471, 3475, 3479, 3484, 3488, 3492, 3496, /* 0x40-0x47 */
      3502, 3507, 3510, 3516, 3519, 3524, 3529, 3533, /* 0x48-0x4f */
      3537, 3541, 3546, 3549, 3553, 3558, 3561, 3567, /* 0x50-0x57 */
      3571, 3574, 3577, 3580, 3583, 3586, 3589, 3592, /* 0x58-0x5f */
      3595, 3598, 3601, 3605, 3609, 3613, 3617, 3621, /* 0x60-0x67 */
      3625, 3629, 3633, 3637, 3641, 3645, 3649, 3653, /* 0x68-0x6f */
      3657, 3661, 3665, 3668, 3671, 3675, 3678,   -1, /* 0x70-0x77 */
        -1,   -1,   -1, 3681, 3684, 3687, 3690, 3693, /* 0x78-0x7f */
      3698, 3701, 3704, 3707, 3710, 3713, 3716, 3719, /* 0x80-0x87 */
      3722, 3726, 3731, 3734, 3737, 3740, 3743, 3746, /* 0x88-0x8f */
      3749, 3752, 3756, 3760, 3764, 3768, 3771, 3774, /* 0x90-0x97 */
      3777, 3780, 3783, 3786, 3789, 3792, 3795, 3798, /* 0x98-0x9f */
      3803, 3808, 3812, 3817, 3822, 3827, 3831, 3836, /* 0xa0-0xa7 */
      3840, 3846, 3849, 3853, 3857, 3861, 3865, 3871, /* 0xa8-0xaf */
      3879, 3882, 3885, 3888, 3891, 3894, 3897, 3900, /* 0xb0-0xb7 */
      3903, 3906, 3909, 3912, 3915, 3918, 3921, 3924, /* 0xb8-0xbf */
      3927, 3930, 3933, 3938, 3941, 3944, 3947, 3952, /* 0xc0-0xc7 */
      3956, 3959, 3962, 3965, 3968, 3971, 3974, 3977, /* 0xc8-0xcf */
      3980, 3983, 3986, 3990, 3993, 3996, 4000, 4004, /* 0xd0-0xd7 */
      4007, 4012, 4016, 4019, 4022, 4025,   -1,   -1, /* 0xd8-0xdf */
      4028, 4031, 4034, 4037, 4040, 4043, 4046, 4049, /* 0xe0-0xe7 */
      4052, 4055, 4059, 4063, 4067, 4071, 4075, 4079, /* 0xe8-0xef */
      4083, 4087, 4091, 4095, 4099, 4103, 4107, 4111, /* 0xf0-0xf7 */
      4115, 4119, 4123, 4127, 4131, 4135, 4139,   -1, /* 0xf8-0xff */
    };
    static const short translit_pagef9[304] = {
      4143, 4145, 4147, 4149, 4151, 4153, 4155, 4157, /* 0x00-0x07 */
      4159, 4161, 4163, 4165, 4167, 4169, 4171, 4173, /* 0x08-0x0f */
      4175, 4177, 4179, 4181, 4183, 4185, 4187, 4189, /* 0x10-0x17 */
      4191, 4193, 4195, 4197, 4199, 4201, 4203, 4205, /* 0x18-0x1f */
      4207, 4209, 4211, 4213, 4215, 4217, 4219, 4221, /* 0x20-0x27 */
      4223, 4225, 4227, 4229, 4231, 4233, 4235, 4237, /* 0x28-0x2f */
      4239, 4241, 4243, 4245, 4247, 4249, 4251, 4253, /* 0x30-0x37 */
      4255, 4257, 4259, 4261, 4263, 4265, 4267, 4269, /* 0x38-0x3f */
      4271, 4273, 4275, 4277, 4279, 4281, 4283, 4285, /* 0x40-0x47 */
      4287, 4289, 4291, 4293, 4295, 4297, 4299, 4301, /* 0x48-0x4f */
      4303, 4305, 4307, 4309, 4311, 4313, 4315, 4317, /* 0x50-0x57 */
      4319, 4321, 4323, 4325, 4327, 4329, 4331, 4333, /* 0x58-0x5f */
      4335, 4337, 4339, 4341, 4343, 4345, 4347, 4349, /* 0x60-0x67 */
      4351, 4353, 4355, 4357, 4359, 4361, 4363, 4365, /* 0x68-0x6f */
      4367, 4369, 4371, 4373, 4375, 4377, 4379, 4381, /* 0x70-0x77 */
      4383, 4385, 4387, 4389, 4391, 4393, 4395, 4397, /* 0x78-0x7f */
      4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413, /* 0x80-0x87 */
      4415, 4417, 4419, 4421, 4423, 4425, 4427, 4429, /* 0x88-0x8f */
      4431, 4433, 4435, 4437, 4439, 4441, 4443, 4445, /* 0x90-0x97 */
      4447, 4449, 4451, 4453, 4455, 4457, 4459, 4461, /* 0x98-0x9f */
      4463, 4465, 4467, 4469, 4471, 4473, 4475, 4477, /* 0xa0-0xa7 */
      4479, 4481, 4483, 4485, 4487, 4489, 4491, 4493, /* 0xa8-0xaf */
      4495, 4497, 4499, 4501, 4503, 4505, 4507, 4509, /* 0xb0-0xb7 */
      4511, 4513, 4515, 4517, 4519, 4521, 4523, 4525, /* 0xb8-0xbf */
      4527, 4529, 4531, 4533, 4535, 4537, 4539, 4541, /* 0xc0-0xc7 */
      4543, 4545, 4547, 4549, 4551, 4553, 4555, 4557, /* 0xc8-0xcf */
      4559, 4561, 4563, 4565, 4567, 4569, 4571, 4573, /* 0xd0-0xd7 */
      4575, 4577, 4579, 4581, 4583, 4585, 4587, 4589, /* 0xd8-0xdf */
      4591, 4593, 4595, 4597, 4599, 4601, 4603, 4605, /* 0xe0-0xe7 */
      4607, 4609, 4611, 4613, 4615, 4617, 4619, 4621, /* 0xe8-0xef */
      4623, 4625, 4627, 4629, 4631, 4633, 4635, 4637, /* 0xf0-0xf7 */
      4639, 4641, 4643, 4645, 4647, 4649, 4651, 4653, /* 0xf8-0xff */
      /* 0xfa00 */
      4655, 4657, 4659, 4661, 4663, 4665, 4667, 4669, /* 0x00-0x07 */
      4671, 4673, 4675, 4677, 4679, 4681,   -1,   -1, /* 0x08-0x0f */
      4683,   -1, 4685,   -1,   -1, 4687, 4689, 4691, /* 0x10-0x17 */
      4693, 4695, 4697, 4699, 4701, 4703, 4705,   -1, /* 0x18-0x1f */
      4707,   -1, 4709,   -1,   -1, 4711, 4713,   -1, /* 0x20-0x27 */
        -1,   -1, 4715, 4717, 4719, 4721,   -1,   -1, /* 0x28-0x2f */
    };
    static const short translit_pagefb[80] = {
      4723, 4726, 4729, 4732, 4736, 4740, 4743,   -1, /* 0x00-0x07 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x08-0x0f */
        -1,   -1,   -1, 4746, 4749, 4752, 4755, 4758, /* 0x10-0x17 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x18-0x1f */
      4761, 4763, 4765, 4767, 4769, 4771, 4773, 4775, /* 0x20-0x27 */
      4777, 4779,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x28-0x2f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x30-0x37 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x38-0x3f */
        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1, /* 0x40-0x47 */
        -1,   -1,   -1,   -1,   -1,   -1,   -1, 4781, /* 0x48-0x4f */
    };
    static const short translit_pagefe[40] = {
        -1, 4784, 4786, 4788, 4790, 4792, 4794, 4796, /* 0x48-0x4f */
      4798, 4800, 4802,   -1, 4804, 4806, 4808, 4810, /* 0x50-0x57 */
      4812, 4814, 4816, 4818, 4820, 4822, 4824, 4826, /* 0x58-0x5f */
      4828, 4830, 4832, 4834, 4836, 4838, 4840,   -1, /* 0x60-0x67 */
      4842, 4844, 4846, 4848,   -1,   -1,   -1,   -1, /* 0x68-0x6f */
    };
    static const short translit_pageff[240] = {
        -1, 4850, 4852, 4854, 4856, 4858, 4860, 4862, /* 0x00-0x07 */
      4864, 4866, 4868, 4870, 4872, 4874, 4876, 4878, /* 0x08-0x0f */
      4880, 4882, 4884, 4886, 4888, 4890, 4892, 4894, /* 0x10-0x17 */
      4896, 4898, 4900, 4902, 4904, 4906, 4908, 4910, /* 0x18-0x1f */
      4912, 4914, 4916, 4918, 4920, 4922, 4924, 4926, /* 0x20-0x27 */
      4928, 4930, 4932, 4934, 4936, 4938, 4940, 4942, /* 0x28-0x2f */
      4944, 4946, 4948, 4950, 4952, 4954, 4956, 4958, /* 0x30-0x37 */
      4960, 4962, 4964, 4966, 4968, 4970, 4972, 4974, /* 0x38-0x3f */
      4976, 4978, 4980, 4982, 4984, 4986, 4988, 4990, /* 0x40-0x47 */
      4992, 4994, 4996, 4998, 5000, 5002, 5004, 5006, /* 0x48-0x4f */
      5008, 5010, 5012, 5014, 5016, 5018, 5020, 5022, /* 0x50-0x57 */
      5024, 5026, 5028, 5030, 5032, 5034, 5036,   -1, /* 0x58-0x5f */
        -1, 5038, 5040, 5042, 5044, 5046, 5048, 5050, /* 0x60-0x67 */
      5052, 5054, 5056, 5058, 5060, 5062, 5064, 5066, /* 0x68-0x6f */
      5068, 5070, 5072, 5074, 5076, 5078, 5080, 5082, /* 0x70-0x77 */
      5084, 5086, 5088, 5090, 5092, 5094, 5096, 5098, /* 0x78-0x7f */
      5100, 5102, 5104, 5106, 5108, 5110, 5112, 5114, /* 0x80-0x87 */
      5116, 5118, 5120, 5122, 5124, 5126, 5128, 5130, /* 0x88-0x8f */
      5132, 5134, 5136, 5138, 5140, 5142, 5144, 5146, /* 0x90-0x97 */
      5148, 5150, 5152, 5154, 5156, 5158, 5160, 5162, /* 0x98-0x9f */
      5164, 5166, 5168, 5170, 5172, 5174, 5176, 5178, /* 0xa0-0xa7 */
      5180, 5182, 5184, 5186, 5188, 5190, 5192, 5194, /* 0xa8-0xaf */
      5196, 5198, 5200, 5202, 5204, 5206, 5208, 5210, /* 0xb0-0xb7 */
      5212, 5214, 5216, 5218, 5220, 5222, 5224,   -1, /* 0xb8-0xbf */
        -1,   -1, 5226, 5228, 5230, 5232, 5234, 5236, /* 0xc0-0xc7 */
        -1,   -1, 5238, 5240, 5242, 5244, 5246, 5248, /* 0xc8-0xcf */
        -1,   -1, 5250, 5252, 5254, 5256, 5258, 5260, /* 0xd0-0xd7 */
        -1,   -1, 5262, 5264, 5266,   -1,   -1,   -1, /* 0xd8-0xdf */
      5268, 5270, 5272, 5274, 5276, 5278, 5280,   -1, /* 0xe0-0xe7 */
      5282, 5284, 5286, 5288, 5290, 5292, 5294,   -1, /* 0xe8-0xef */
    };
    
    #define translit_index(wc) \
      (wc >= 0x00a0 && wc < 0x01f8 ? translit_page00[wc-0x00a0] : \
       wc >= 0x0218 && wc < 0x0220 ? translit_page02[wc-0x0218] : \
       wc >= 0x02c0 && wc < 0x02e0 ? translit_page02_1[wc-0x02c0] : \
       wc >= 0x03d0 && wc < 0x03f8 ? translit_page03[wc-0x03d0] : \
       wc == 0x0587 ? 628 : \
       wc >= 0x05f0 && wc < 0x05f8 ? translit_page05[wc-0x05f0] : \
       wc >= 0x0670 && wc < 0x0680 ? translit_page06[wc-0x0670] : \
       wc == 0x0e33 ? 652 : \
       wc >= 0x0eb0 && wc < 0x0ee0 ? translit_page0e[wc-0x0eb0] : \
       wc >= 0x0f70 && wc < 0x0f80 ? translit_page0f[wc-0x0f70] : \
       wc >= 0x1e00 && wc < 0x1ea0 ? translit_page1e[wc-0x1e00] : \
       wc >= 0x1ef0 && wc < 0x1ef8 ? translit_page1e_2[wc-0x1ef0] : \
       wc >= 0x2000 && wc < 0x2050 ? translit_page20[wc-0x2000] : \
       wc >= 0x20a8 && wc < 0x20b0 ? translit_page20_3[wc-0x20a8] : \
       wc >= 0x2100 && wc < 0x21d8 ? translit_page21[wc-0x2100] : \
       wc >= 0x2210 && wc < 0x2270 ? translit_page22[wc-0x2210] : \
       wc >= 0x2460 && wc < 0x24f0 ? translit_page24[wc-0x2460] : \
       wc >= 0x2500 && wc < 0x2540 ? translit_page25[wc-0x2500] : \
       wc == 0x2e9f ? 1721 : \
       wc == 0x2ef3 ? 1723 : \
       wc >= 0x2f00 && wc < 0x2fd8 ? translit_page2f[wc-0x2f00] : \
       wc >= 0x3000 && wc < 0x3040 ? translit_page30[wc-0x3000] : \
       wc >= 0x3098 && wc < 0x30a0 ? translit_page30_4[wc-0x3098] : \
       wc >= 0x3130 && wc < 0x3190 ? translit_page31[wc-0x3130] : \
       wc >= 0x3200 && wc < 0x3400 ? translit_page32[wc-0x3200] : \
       wc >= 0xf900 && wc < 0xfa30 ? translit_pagef9[wc-0xf900] : \
       wc >= 0xfb00 && wc < 0xfb50 ? translit_pagefb[wc-0xfb00] : \
       wc >= 0xfe48 && wc < 0xfe70 ? translit_pagefe[wc-0xfe48] : \
       wc >= 0xff00 && wc < 0xfff0 ? translit_pageff[wc-0xff00] : \
       -1)