translit.h   [plain text]


/*
 * Copyright (C) 1999-2001 Free Software Foundation, Inc.
 * This file is part of the GNU LIBICONV Library.
 *
 * The GNU LIBICONV Library is free software; you can redistribute it
 * and/or modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * The GNU LIBICONV Library is distributed in the hope that it will be
 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with the GNU LIBICONV Library; see the file COPYING.LIB.
 * If not, write to the Free Software Foundation, Inc., 59 Temple Place -
 * Suite 330, Boston, MA 02111-1307, USA.
 */

/*
 * 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)