UNPKG

@pexxi/fold-to-ascii-ts

Version:

A JavaScript port of the Apache Lucene ASCII Folding Filter that converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the "Basic Latin" Unicode block) into a ASCII equivalents, if they exist.

1,300 lines (1,293 loc) 22.6 kB
/** * ascii-folder.ts * https://github.com/pexxi/fold-to-ascii-ts * * This is a JavaScript port of the Apache Lucene ASCII Folding Filter. * * The Apache Lucene ASCII Folding Filter is licensed to the Apache Software * Foundation (ASF) under one or more contributor license agreements. See the * NOTICE file distributed with this work for additional information regarding * copyright ownership. The ASF licenses this file to You under the Apache * License, Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ export default class ASCIIFolder { static foldReplacing(str = '', replacement = '') { return this._fold(str, () => replacement); } static foldMaintaining(str = '') { return this._fold(str, (char: string) => char); } static _fold(str: string, fallback: (str: string) => string) { if (str === null) return ''; if (typeof str === 'number') return '' + str; if (typeof str !== 'string') throw new Error('Invalid input data type'); return str .split('') .map((character) => { if (character.charCodeAt(0) < 128) { return character; } else { const replacement = ASCIIFolder.mapping.get( character.charCodeAt(0) ); return replacement === undefined ? fallback(character) : replacement; } }) .join(''); } static mapping = new Map([ [0xc0, 'A'], [0xc1, 'A'], [0xc2, 'A'], [0xc3, 'A'], [0xc4, 'A'], [0xc5, 'A'], [0x100, 'A'], [0x102, 'A'], [0x104, 'A'], [0x18f, 'A'], [0x1cd, 'A'], [0x1de, 'A'], [0x1e0, 'A'], [0x1fa, 'A'], [0x200, 'A'], [0x202, 'A'], [0x226, 'A'], [0x23a, 'A'], [0x1d00, 'A'], [0x1e00, 'A'], [0x1ea0, 'A'], [0x1ea2, 'A'], [0x1ea4, 'A'], [0x1ea6, 'A'], [0x1ea8, 'A'], [0x1eaa, 'A'], [0x1eac, 'A'], [0x1eae, 'A'], [0x1eb0, 'A'], [0x1eb2, 'A'], [0x1eb4, 'A'], [0x1eb6, 'A'], [0x24b6, 'A'], [0xff21, 'A'], [0xe0, 'a'], [0xe1, 'a'], [0xe2, 'a'], [0xe3, 'a'], [0xe4, 'a'], [0xe5, 'a'], [0x101, 'a'], [0x103, 'a'], [0x105, 'a'], [0x1ce, 'a'], [0x1df, 'a'], [0x1e1, 'a'], [0x1fb, 'a'], [0x201, 'a'], [0x203, 'a'], [0x227, 'a'], [0x250, 'a'], [0x259, 'a'], [0x25a, 'a'], [0x1d8f, 'a'], [0x1d95, 'a'], [0x1e01, 'a'], [0x1e9a, 'a'], [0x1ea1, 'a'], [0x1ea3, 'a'], [0x1ea5, 'a'], [0x1ea7, 'a'], [0x1ea9, 'a'], [0x1eab, 'a'], [0x1ead, 'a'], [0x1eaf, 'a'], [0x1eb1, 'a'], [0x1eb3, 'a'], [0x1eb5, 'a'], [0x1eb7, 'a'], [0x2090, 'a'], [0x2094, 'a'], [0x24d0, 'a'], [0x2c65, 'a'], [0x2c6f, 'a'], [0xff41, 'a'], [0xa732, 'AA'], [0xc6, 'AE'], [0x1e2, 'AE'], [0x1fc, 'AE'], [0x1d01, 'AE'], [0xa734, 'AO'], [0xa736, 'AU'], [0xa738, 'AV'], [0xa73a, 'AV'], [0xa73c, 'AY'], [0x249c, '(a)'], [0xa733, 'aa'], [0xe6, 'ae'], [0x1e3, 'ae'], [0x1fd, 'ae'], [0x1d02, 'ae'], [0xa735, 'ao'], [0xa737, 'au'], [0xa739, 'av'], [0xa73b, 'av'], [0xa73d, 'ay'], [0x181, 'B'], [0x182, 'B'], [0x243, 'B'], [0x299, 'B'], [0x1d03, 'B'], [0x1e02, 'B'], [0x1e04, 'B'], [0x1e06, 'B'], [0x24b7, 'B'], [0xff22, 'B'], [0x180, 'b'], [0x183, 'b'], [0x253, 'b'], [0x1d6c, 'b'], [0x1d80, 'b'], [0x1e03, 'b'], [0x1e05, 'b'], [0x1e07, 'b'], [0x24d1, 'b'], [0xff42, 'b'], [0x249d, '(b)'], [0xc7, 'C'], [0x106, 'C'], [0x108, 'C'], [0x10a, 'C'], [0x10c, 'C'], [0x187, 'C'], [0x23b, 'C'], [0x297, 'C'], [0x1d04, 'C'], [0x1e08, 'C'], [0x24b8, 'C'], [0xff23, 'C'], [0xe7, 'c'], [0x107, 'c'], [0x109, 'c'], [0x10b, 'c'], [0x10d, 'c'], [0x188, 'c'], [0x23c, 'c'], [0x255, 'c'], [0x1e09, 'c'], [0x2184, 'c'], [0x24d2, 'c'], [0xa73e, 'c'], [0xa73f, 'c'], [0xff43, 'c'], [0x249e, '(c)'], [0xd0, 'D'], [0x10e, 'D'], [0x110, 'D'], [0x189, 'D'], [0x18a, 'D'], [0x18b, 'D'], [0x1d05, 'D'], [0x1d06, 'D'], [0x1e0a, 'D'], [0x1e0c, 'D'], [0x1e0e, 'D'], [0x1e10, 'D'], [0x1e12, 'D'], [0x24b9, 'D'], [0xa779, 'D'], [0xff24, 'D'], [0xf0, 'd'], [0x10f, 'd'], [0x111, 'd'], [0x18c, 'd'], [0x221, 'd'], [0x256, 'd'], [0x257, 'd'], [0x1d6d, 'd'], [0x1d81, 'd'], [0x1d91, 'd'], [0x1e0b, 'd'], [0x1e0d, 'd'], [0x1e0f, 'd'], [0x1e11, 'd'], [0x1e13, 'd'], [0x24d3, 'd'], [0xa77a, 'd'], [0xff44, 'd'], [0x1c4, 'DZ'], [0x1f1, 'DZ'], [0x1c5, 'Dz'], [0x1f2, 'Dz'], [0x249f, '(d)'], [0x238, 'db'], [0x1c6, 'dz'], [0x1f3, 'dz'], [0x2a3, 'dz'], [0x2a5, 'dz'], [0xc8, 'E'], [0xc9, 'E'], [0xca, 'E'], [0xcb, 'E'], [0x112, 'E'], [0x114, 'E'], [0x116, 'E'], [0x118, 'E'], [0x11a, 'E'], [0x18e, 'E'], [0x190, 'E'], [0x204, 'E'], [0x206, 'E'], [0x228, 'E'], [0x246, 'E'], [0x1d07, 'E'], [0x1e14, 'E'], [0x1e16, 'E'], [0x1e18, 'E'], [0x1e1a, 'E'], [0x1e1c, 'E'], [0x1eb8, 'E'], [0x1eba, 'E'], [0x1ebc, 'E'], [0x1ebe, 'E'], [0x1ec0, 'E'], [0x1ec2, 'E'], [0x1ec4, 'E'], [0x1ec6, 'E'], [0x24ba, 'E'], [0x2c7b, 'E'], [0xff25, 'E'], [0xe8, 'e'], [0xe9, 'e'], [0xea, 'e'], [0xeb, 'e'], [0x113, 'e'], [0x115, 'e'], [0x117, 'e'], [0x119, 'e'], [0x11b, 'e'], [0x1dd, 'e'], [0x205, 'e'], [0x207, 'e'], [0x229, 'e'], [0x247, 'e'], [0x258, 'e'], [0x25b, 'e'], [0x25c, 'e'], [0x25d, 'e'], [0x25e, 'e'], [0x29a, 'e'], [0x1d08, 'e'], [0x1d92, 'e'], [0x1d93, 'e'], [0x1d94, 'e'], [0x1e15, 'e'], [0x1e17, 'e'], [0x1e19, 'e'], [0x1e1b, 'e'], [0x1e1d, 'e'], [0x1eb9, 'e'], [0x1ebb, 'e'], [0x1ebd, 'e'], [0x1ebf, 'e'], [0x1ec1, 'e'], [0x1ec3, 'e'], [0x1ec5, 'e'], [0x1ec7, 'e'], [0x2091, 'e'], [0x24d4, 'e'], [0x2c78, 'e'], [0xff45, 'e'], [0x24a0, '(e)'], [0x191, 'F'], [0x1e1e, 'F'], [0x24bb, 'F'], [0xa730, 'F'], [0xa77b, 'F'], [0xa7fb, 'F'], [0xff26, 'F'], [0x192, 'f'], [0x1d6e, 'f'], [0x1d82, 'f'], [0x1e1f, 'f'], [0x1e9b, 'f'], [0x24d5, 'f'], [0xa77c, 'f'], [0xff46, 'f'], [0x24a1, '(f)'], [0xfb00, 'ff'], [0xfb03, 'ffi'], [0xfb04, 'ffl'], [0xfb01, 'fi'], [0xfb02, 'fl'], [0x11c, 'G'], [0x11e, 'G'], [0x120, 'G'], [0x122, 'G'], [0x193, 'G'], [0x1e4, 'G'], [0x1e5, 'G'], [0x1e6, 'G'], [0x1e7, 'G'], [0x1f4, 'G'], [0x262, 'G'], [0x29b, 'G'], [0x1e20, 'G'], [0x24bc, 'G'], [0xa77d, 'G'], [0xa77e, 'G'], [0xff27, 'G'], [0x11d, 'g'], [0x11f, 'g'], [0x121, 'g'], [0x123, 'g'], [0x1f5, 'g'], [0x260, 'g'], [0x261, 'g'], [0x1d77, 'g'], [0x1d79, 'g'], [0x1d83, 'g'], [0x1e21, 'g'], [0x24d6, 'g'], [0xa77f, 'g'], [0xff47, 'g'], [0x24a2, '(g)'], [0x124, 'H'], [0x126, 'H'], [0x21e, 'H'], [0x29c, 'H'], [0x1e22, 'H'], [0x1e24, 'H'], [0x1e26, 'H'], [0x1e28, 'H'], [0x1e2a, 'H'], [0x24bd, 'H'], [0x2c67, 'H'], [0x2c75, 'H'], [0xff28, 'H'], [0x125, 'h'], [0x127, 'h'], [0x21f, 'h'], [0x265, 'h'], [0x266, 'h'], [0x2ae, 'h'], [0x2af, 'h'], [0x1e23, 'h'], [0x1e25, 'h'], [0x1e27, 'h'], [0x1e29, 'h'], [0x1e2b, 'h'], [0x1e96, 'h'], [0x24d7, 'h'], [0x2c68, 'h'], [0x2c76, 'h'], [0xff48, 'h'], [0x1f6, 'HV'], [0x24a3, '(h)'], [0x195, 'hv'], [0xcc, 'I'], [0xcd, 'I'], [0xce, 'I'], [0xcf, 'I'], [0x128, 'I'], [0x12a, 'I'], [0x12c, 'I'], [0x12e, 'I'], [0x130, 'I'], [0x196, 'I'], [0x197, 'I'], [0x1cf, 'I'], [0x208, 'I'], [0x20a, 'I'], [0x26a, 'I'], [0x1d7b, 'I'], [0x1e2c, 'I'], [0x1e2e, 'I'], [0x1ec8, 'I'], [0x1eca, 'I'], [0x24be, 'I'], [0xa7fe, 'I'], [0xff29, 'I'], [0xec, 'i'], [0xed, 'i'], [0xee, 'i'], [0xef, 'i'], [0x129, 'i'], [0x12b, 'i'], [0x12d, 'i'], [0x12f, 'i'], [0x131, 'i'], [0x1d0, 'i'], [0x209, 'i'], [0x20b, 'i'], [0x268, 'i'], [0x1d09, 'i'], [0x1d62, 'i'], [0x1d7c, 'i'], [0x1d96, 'i'], [0x1e2d, 'i'], [0x1e2f, 'i'], [0x1ec9, 'i'], [0x1ecb, 'i'], [0x2071, 'i'], [0x24d8, 'i'], [0xff49, 'i'], [0x132, 'IJ'], [0x24a4, '(i)'], [0x133, 'ij'], [0x134, 'J'], [0x248, 'J'], [0x1d0a, 'J'], [0x24bf, 'J'], [0xff2a, 'J'], [0x135, 'j'], [0x1f0, 'j'], [0x237, 'j'], [0x249, 'j'], [0x25f, 'j'], [0x284, 'j'], [0x29d, 'j'], [0x24d9, 'j'], [0x2c7c, 'j'], [0xff4a, 'j'], [0x24a5, '(j)'], [0x136, 'K'], [0x198, 'K'], [0x1e8, 'K'], [0x1d0b, 'K'], [0x1e30, 'K'], [0x1e32, 'K'], [0x1e34, 'K'], [0x24c0, 'K'], [0x2c69, 'K'], [0xa740, 'K'], [0xa742, 'K'], [0xa744, 'K'], [0xff2b, 'K'], [0x137, 'k'], [0x199, 'k'], [0x1e9, 'k'], [0x29e, 'k'], [0x1d84, 'k'], [0x1e31, 'k'], [0x1e33, 'k'], [0x1e35, 'k'], [0x24da, 'k'], [0x2c6a, 'k'], [0xa741, 'k'], [0xa743, 'k'], [0xa745, 'k'], [0xff4b, 'k'], [0x24a6, '(k)'], [0x139, 'L'], [0x13b, 'L'], [0x13d, 'L'], [0x13f, 'L'], [0x141, 'L'], [0x23d, 'L'], [0x29f, 'L'], [0x1d0c, 'L'], [0x1e36, 'L'], [0x1e38, 'L'], [0x1e3a, 'L'], [0x1e3c, 'L'], [0x24c1, 'L'], [0x2c60, 'L'], [0x2c62, 'L'], [0xa746, 'L'], [0xa748, 'L'], [0xa780, 'L'], [0xff2c, 'L'], [0x13a, 'l'], [0x13c, 'l'], [0x13e, 'l'], [0x140, 'l'], [0x142, 'l'], [0x19a, 'l'], [0x234, 'l'], [0x26b, 'l'], [0x26c, 'l'], [0x26d, 'l'], [0x1d85, 'l'], [0x1e37, 'l'], [0x1e39, 'l'], [0x1e3b, 'l'], [0x1e3d, 'l'], [0x24db, 'l'], [0x2c61, 'l'], [0xa747, 'l'], [0xa749, 'l'], [0xa781, 'l'], [0xff4c, 'l'], [0x1c7, 'LJ'], [0x1efa, 'LL'], [0x1c8, 'Lj'], [0x24a7, '(l)'], [0x1c9, 'lj'], [0x1efb, 'll'], [0x2aa, 'ls'], [0x2ab, 'lz'], [0x19c, 'M'], [0x1d0d, 'M'], [0x1e3e, 'M'], [0x1e40, 'M'], [0x1e42, 'M'], [0x24c2, 'M'], [0x2c6e, 'M'], [0xa7fd, 'M'], [0xa7ff, 'M'], [0xff2d, 'M'], [0x26f, 'm'], [0x270, 'm'], [0x271, 'm'], [0x1d6f, 'm'], [0x1d86, 'm'], [0x1e3f, 'm'], [0x1e41, 'm'], [0x1e43, 'm'], [0x24dc, 'm'], [0xff4d, 'm'], [0x24a8, '(m)'], [0xd1, 'N'], [0x143, 'N'], [0x145, 'N'], [0x147, 'N'], [0x14a, 'N'], [0x19d, 'N'], [0x1f8, 'N'], [0x220, 'N'], [0x274, 'N'], [0x1d0e, 'N'], [0x1e44, 'N'], [0x1e46, 'N'], [0x1e48, 'N'], [0x1e4a, 'N'], [0x24c3, 'N'], [0xff2e, 'N'], [0xf1, 'n'], [0x144, 'n'], [0x146, 'n'], [0x148, 'n'], [0x149, 'n'], [0x14b, 'n'], [0x19e, 'n'], [0x1f9, 'n'], [0x235, 'n'], [0x272, 'n'], [0x273, 'n'], [0x1d70, 'n'], [0x1d87, 'n'], [0x1e45, 'n'], [0x1e47, 'n'], [0x1e49, 'n'], [0x1e4b, 'n'], [0x207f, 'n'], [0x24dd, 'n'], [0xff4e, 'n'], [0x1ca, 'NJ'], [0x1cb, 'Nj'], [0x24a9, '(n)'], [0x1cc, 'nj'], [0xd2, 'O'], [0xd3, 'O'], [0xd4, 'O'], [0xd5, 'O'], [0xd6, 'O'], [0xd8, 'O'], [0x14c, 'O'], [0x14e, 'O'], [0x150, 'O'], [0x186, 'O'], [0x19f, 'O'], [0x1a0, 'O'], [0x1d1, 'O'], [0x1ea, 'O'], [0x1ec, 'O'], [0x1fe, 'O'], [0x20c, 'O'], [0x20e, 'O'], [0x22a, 'O'], [0x22c, 'O'], [0x22e, 'O'], [0x230, 'O'], [0x1d0f, 'O'], [0x1d10, 'O'], [0x1e4c, 'O'], [0x1e4e, 'O'], [0x1e50, 'O'], [0x1e52, 'O'], [0x1ecc, 'O'], [0x1ece, 'O'], [0x1ed0, 'O'], [0x1ed2, 'O'], [0x1ed4, 'O'], [0x1ed6, 'O'], [0x1ed8, 'O'], [0x1eda, 'O'], [0x1edc, 'O'], [0x1ede, 'O'], [0x1ee0, 'O'], [0x1ee2, 'O'], [0x24c4, 'O'], [0xa74a, 'O'], [0xa74c, 'O'], [0xff2f, 'O'], [0xf2, 'o'], [0xf3, 'o'], [0xf4, 'o'], [0xf5, 'o'], [0xf6, 'o'], [0xf8, 'o'], [0x14d, 'o'], [0x14f, 'o'], [0x151, 'o'], [0x1a1, 'o'], [0x1d2, 'o'], [0x1eb, 'o'], [0x1ed, 'o'], [0x1ff, 'o'], [0x20d, 'o'], [0x20f, 'o'], [0x22b, 'o'], [0x22d, 'o'], [0x22f, 'o'], [0x231, 'o'], [0x254, 'o'], [0x275, 'o'], [0x1d16, 'o'], [0x1d17, 'o'], [0x1d97, 'o'], [0x1e4d, 'o'], [0x1e4f, 'o'], [0x1e51, 'o'], [0x1e53, 'o'], [0x1ecd, 'o'], [0x1ecf, 'o'], [0x1ed1, 'o'], [0x1ed3, 'o'], [0x1ed5, 'o'], [0x1ed7, 'o'], [0x1ed9, 'o'], [0x1edb, 'o'], [0x1edd, 'o'], [0x1edf, 'o'], [0x1ee1, 'o'], [0x1ee3, 'o'], [0x2092, 'o'], [0x24de, 'o'], [0x2c7a, 'o'], [0xa74b, 'o'], [0xa74d, 'o'], [0xff4f, 'o'], [0x152, 'OE'], [0x276, 'OE'], [0xa74e, 'OO'], [0x222, 'OU'], [0x1d15, 'OU'], [0x24aa, '(o)'], [0x153, 'oe'], [0x1d14, 'oe'], [0xa74f, 'oo'], [0x223, 'ou'], [0x1a4, 'P'], [0x1d18, 'P'], [0x1e54, 'P'], [0x1e56, 'P'], [0x24c5, 'P'], [0x2c63, 'P'], [0xa750, 'P'], [0xa752, 'P'], [0xa754, 'P'], [0xff30, 'P'], [0x1a5, 'p'], [0x1d71, 'p'], [0x1d7d, 'p'], [0x1d88, 'p'], [0x1e55, 'p'], [0x1e57, 'p'], [0x24df, 'p'], [0xa751, 'p'], [0xa753, 'p'], [0xa755, 'p'], [0xa7fc, 'p'], [0xff50, 'p'], [0x24ab, '(p)'], [0x24a, 'Q'], [0x24c6, 'Q'], [0xa756, 'Q'], [0xa758, 'Q'], [0xff31, 'Q'], [0x138, 'q'], [0x24b, 'q'], [0x2a0, 'q'], [0x24e0, 'q'], [0xa757, 'q'], [0xa759, 'q'], [0xff51, 'q'], [0x24ac, '(q)'], [0x239, 'qp'], [0x154, 'R'], [0x156, 'R'], [0x158, 'R'], [0x210, 'R'], [0x212, 'R'], [0x24c, 'R'], [0x280, 'R'], [0x281, 'R'], [0x1d19, 'R'], [0x1d1a, 'R'], [0x1e58, 'R'], [0x1e5a, 'R'], [0x1e5c, 'R'], [0x1e5e, 'R'], [0x24c7, 'R'], [0x2c64, 'R'], [0xa75a, 'R'], [0xa782, 'R'], [0xff32, 'R'], [0x155, 'r'], [0x157, 'r'], [0x159, 'r'], [0x211, 'r'], [0x213, 'r'], [0x24d, 'r'], [0x27c, 'r'], [0x27d, 'r'], [0x27e, 'r'], [0x27f, 'r'], [0x1d63, 'r'], [0x1d72, 'r'], [0x1d73, 'r'], [0x1d89, 'r'], [0x1e59, 'r'], [0x1e5b, 'r'], [0x1e5d, 'r'], [0x1e5f, 'r'], [0x24e1, 'r'], [0xa75b, 'r'], [0xa783, 'r'], [0xff52, 'r'], [0x24ad, '(r)'], [0x15a, 'S'], [0x15c, 'S'], [0x15e, 'S'], [0x160, 'S'], [0x218, 'S'], [0x1e60, 'S'], [0x1e62, 'S'], [0x1e64, 'S'], [0x1e66, 'S'], [0x1e68, 'S'], [0x24c8, 'S'], [0xa731, 'S'], [0xa785, 'S'], [0xff33, 'S'], [0x15b, 's'], [0x15d, 's'], [0x15f, 's'], [0x161, 's'], [0x17f, 's'], [0x219, 's'], [0x23f, 's'], [0x282, 's'], [0x1d74, 's'], [0x1d8a, 's'], [0x1e61, 's'], [0x1e63, 's'], [0x1e65, 's'], [0x1e67, 's'], [0x1e69, 's'], [0x1e9c, 's'], [0x1e9d, 's'], [0x24e2, 's'], [0xa784, 's'], [0xff53, 's'], [0x1e9e, 'SS'], [0x24ae, '(s)'], [0xdf, 'ss'], [0xfb06, 'st'], [0x162, 'T'], [0x164, 'T'], [0x166, 'T'], [0x1ac, 'T'], [0x1ae, 'T'], [0x21a, 'T'], [0x23e, 'T'], [0x1d1b, 'T'], [0x1e6a, 'T'], [0x1e6c, 'T'], [0x1e6e, 'T'], [0x1e70, 'T'], [0x24c9, 'T'], [0xa786, 'T'], [0xff34, 'T'], [0x163, 't'], [0x165, 't'], [0x167, 't'], [0x1ab, 't'], [0x1ad, 't'], [0x21b, 't'], [0x236, 't'], [0x287, 't'], [0x288, 't'], [0x1d75, 't'], [0x1e6b, 't'], [0x1e6d, 't'], [0x1e6f, 't'], [0x1e71, 't'], [0x1e97, 't'], [0x24e3, 't'], [0x2c66, 't'], [0xff54, 't'], [0xde, 'TH'], [0xa766, 'TH'], [0xa728, 'TZ'], [0x24af, '(t)'], [0x2a8, 'tc'], [0xfe, 'th'], [0x1d7a, 'th'], [0xa767, 'th'], [0x2a6, 'ts'], [0xa729, 'tz'], [0xd9, 'U'], [0xda, 'U'], [0xdb, 'U'], [0xdc, 'U'], [0x168, 'U'], [0x16a, 'U'], [0x16c, 'U'], [0x16e, 'U'], [0x170, 'U'], [0x172, 'U'], [0x1af, 'U'], [0x1d3, 'U'], [0x1d5, 'U'], [0x1d7, 'U'], [0x1d9, 'U'], [0x1db, 'U'], [0x214, 'U'], [0x216, 'U'], [0x244, 'U'], [0x1d1c, 'U'], [0x1d7e, 'U'], [0x1e72, 'U'], [0x1e74, 'U'], [0x1e76, 'U'], [0x1e78, 'U'], [0x1e7a, 'U'], [0x1ee4, 'U'], [0x1ee6, 'U'], [0x1ee8, 'U'], [0x1eea, 'U'], [0x1eec, 'U'], [0x1eee, 'U'], [0x1ef0, 'U'], [0x24ca, 'U'], [0xff35, 'U'], [0xf9, 'u'], [0xfa, 'u'], [0xfb, 'u'], [0xfc, 'u'], [0x169, 'u'], [0x16b, 'u'], [0x16d, 'u'], [0x16f, 'u'], [0x171, 'u'], [0x173, 'u'], [0x1b0, 'u'], [0x1d4, 'u'], [0x1d6, 'u'], [0x1d8, 'u'], [0x1da, 'u'], [0x1dc, 'u'], [0x215, 'u'], [0x217, 'u'], [0x289, 'u'], [0x1d64, 'u'], [0x1d99, 'u'], [0x1e73, 'u'], [0x1e75, 'u'], [0x1e77, 'u'], [0x1e79, 'u'], [0x1e7b, 'u'], [0x1ee5, 'u'], [0x1ee7, 'u'], [0x1ee9, 'u'], [0x1eeb, 'u'], [0x1eed, 'u'], [0x1eef, 'u'], [0x1ef1, 'u'], [0x24e4, 'u'], [0xff55, 'u'], [0x24b0, '(u)'], [0x1d6b, 'ue'], [0x1b2, 'V'], [0x245, 'V'], [0x1d20, 'V'], [0x1e7c, 'V'], [0x1e7e, 'V'], [0x1efc, 'V'], [0x24cb, 'V'], [0xa75e, 'V'], [0xa768, 'V'], [0xff36, 'V'], [0x28b, 'v'], [0x28c, 'v'], [0x1d65, 'v'], [0x1d8c, 'v'], [0x1e7d, 'v'], [0x1e7f, 'v'], [0x24e5, 'v'], [0x2c71, 'v'], [0x2c74, 'v'], [0xa75f, 'v'], [0xff56, 'v'], [0xa760, 'VY'], [0x24b1, '(v)'], [0xa761, 'vy'], [0x174, 'W'], [0x1f7, 'W'], [0x1d21, 'W'], [0x1e80, 'W'], [0x1e82, 'W'], [0x1e84, 'W'], [0x1e86, 'W'], [0x1e88, 'W'], [0x24cc, 'W'], [0x2c72, 'W'], [0xff37, 'W'], [0x175, 'w'], [0x1bf, 'w'], [0x28d, 'w'], [0x1e81, 'w'], [0x1e83, 'w'], [0x1e85, 'w'], [0x1e87, 'w'], [0x1e89, 'w'], [0x1e98, 'w'], [0x24e6, 'w'], [0x2c73, 'w'], [0xff57, 'w'], [0x24b2, '(w)'], [0x1e8a, 'X'], [0x1e8c, 'X'], [0x24cd, 'X'], [0xff38, 'X'], [0x1d8d, 'x'], [0x1e8b, 'x'], [0x1e8d, 'x'], [0x2093, 'x'], [0x24e7, 'x'], [0xff58, 'x'], [0x24b3, '(x)'], [0xdd, 'Y'], [0x176, 'Y'], [0x178, 'Y'], [0x1b3, 'Y'], [0x232, 'Y'], [0x24e, 'Y'], [0x28f, 'Y'], [0x1e8e, 'Y'], [0x1ef2, 'Y'], [0x1ef4, 'Y'], [0x1ef6, 'Y'], [0x1ef8, 'Y'], [0x1efe, 'Y'], [0x24ce, 'Y'], [0xff39, 'Y'], [0xfd, 'y'], [0xff, 'y'], [0x177, 'y'], [0x1b4, 'y'], [0x233, 'y'], [0x24f, 'y'], [0x28e, 'y'], [0x1e8f, 'y'], [0x1e99, 'y'], [0x1ef3, 'y'], [0x1ef5, 'y'], [0x1ef7, 'y'], [0x1ef9, 'y'], [0x1eff, 'y'], [0x24e8, 'y'], [0xff59, 'y'], [0x24b4, '(y)'], [0x179, 'Z'], [0x17b, 'Z'], [0x17d, 'Z'], [0x1b5, 'Z'], [0x21c, 'Z'], [0x224, 'Z'], [0x1d22, 'Z'], [0x1e90, 'Z'], [0x1e92, 'Z'], [0x1e94, 'Z'], [0x24cf, 'Z'], [0x2c6b, 'Z'], [0xa762, 'Z'], [0xff3a, 'Z'], [0x17a, 'z'], [0x17c, 'z'], [0x17e, 'z'], [0x1b6, 'z'], [0x21d, 'z'], [0x225, 'z'], [0x240, 'z'], [0x290, 'z'], [0x291, 'z'], [0x1d76, 'z'], [0x1d8e, 'z'], [0x1e91, 'z'], [0x1e93, 'z'], [0x1e95, 'z'], [0x24e9, 'z'], [0x2c6c, 'z'], [0xa763, 'z'], [0xff5a, 'z'], [0x24b5, '(z)'], [0x2070, '0'], [0x2080, '0'], [0x24ea, '0'], [0x24ff, '0'], [0xff10, '0'], [0xb9, '1'], [0x2081, '1'], [0x2460, '1'], [0x24f5, '1'], [0x2776, '1'], [0x2780, '1'], [0x278a, '1'], [0xff11, '1'], [0x2488, '1.'], [0x2474, '(1)'], [0xb2, '2'], [0x2082, '2'], [0x2461, '2'], [0x24f6, '2'], [0x2777, '2'], [0x2781, '2'], [0x278b, '2'], [0xff12, '2'], [0x2489, '2.'], [0x2475, '(2)'], [0xb3, '3'], [0x2083, '3'], [0x2462, '3'], [0x24f7, '3'], [0x2778, '3'], [0x2782, '3'], [0x278c, '3'], [0xff13, '3'], [0x248a, '3.'], [0x2476, '(3)'], [0x2074, '4'], [0x2084, '4'], [0x2463, '4'], [0x24f8, '4'], [0x2779, '4'], [0x2783, '4'], [0x278d, '4'], [0xff14, '4'], [0x248b, '4.'], [0x2477, '(4)'], [0x2075, '5'], [0x2085, '5'], [0x2464, '5'], [0x24f9, '5'], [0x277a, '5'], [0x2784, '5'], [0x278e, '5'], [0xff15, '5'], [0x248c, '5.'], [0x2478, '(5)'], [0x2076, '6'], [0x2086, '6'], [0x2465, '6'], [0x24fa, '6'], [0x277b, '6'], [0x2785, '6'], [0x278f, '6'], [0xff16, '6'], [0x248d, '6.'], [0x2479, '(6)'], [0x2077, '7'], [0x2087, '7'], [0x2466, '7'], [0x24fb, '7'], [0x277c, '7'], [0x2786, '7'], [0x2790, '7'], [0xff17, '7'], [0x248e, '7.'], [0x247a, '(7)'], [0x2078, '8'], [0x2088, '8'], [0x2467, '8'], [0x24fc, '8'], [0x277d, '8'], [0x2787, '8'], [0x2791, '8'], [0xff18, '8'], [0x248f, '8.'], [0x247b, '(8)'], [0x2079, '9'], [0x2089, '9'], [0x2468, '9'], [0x24fd, '9'], [0x277e, '9'], [0x2788, '9'], [0x2792, '9'], [0xff19, '9'], [0x2490, '9.'], [0x247c, '(9)'], [0x2469, '10'], [0x24fe, '10'], [0x277f, '10'], [0x2789, '10'], [0x2793, '10'], [0x2491, '10.'], [0x247d, '(10)'], [0x246a, '11'], [0x24eb, '11'], [0x2492, '11.'], [0x247e, '(11)'], [0x246b, '12'], [0x24ec, '12'], [0x2493, '12.'], [0x247f, '(12)'], [0x246c, '13'], [0x24ed, '13'], [0x2494, '13.'], [0x2480, '(13)'], [0x246d, '14'], [0x24ee, '14'], [0x2495, '14.'], [0x2481, '(14)'], [0x246e, '15'], [0x24ef, '15'], [0x2496, '15.'], [0x2482, '(15)'], [0x246f, '16'], [0x24f0, '16'], [0x2497, '16.'], [0x2483, '(16)'], [0x2470, '17'], [0x24f1, '17'], [0x2498, '17.'], [0x2484, '(17)'], [0x2471, '18'], [0x24f2, '18'], [0x2499, '18.'], [0x2485, '(18)'], [0x2472, '19'], [0x24f3, '19'], [0x249a, '19.'], [0x2486, '(19)'], [0x2473, '20'], [0x24f4, '20'], [0x249b, '20.'], [0x2487, '(20)'], [0xab, '"'], [0xbb, '"'], [0x201c, '"'], [0x201d, '"'], [0x201e, '"'], [0x2033, '"'], [0x2036, '"'], [0x275d, '"'], [0x275e, '"'], [0x276e, '"'], [0x276f, '"'], [0xff02, '"'], [0x2018, "'"], [0x2019, "'"], [0x201a, "'"], [0x201b, "'"], [0x2032, "'"], [0x2035, "'"], [0x2039, "'"], [0x203a, "'"], [0x275b, "'"], [0x275c, "'"], [0xff07, "'"], [0x2010, '-'], [0x2011, '-'], [0x2012, '-'], [0x2013, '-'], [0x2014, '-'], [0x207b, '-'], [0x208b, '-'], [0xff0d, '-'], [0x2045, '['], [0x2772, '['], [0xff3b, '['], [0x2046, ']'], [0x2773, ']'], [0xff3d, ']'], [0x207d, '('], [0x208d, '('], [0x2768, '('], [0x276a, '('], [0xff08, '('], [0x2e28, '(('], [0x207e, ')'], [0x208e, ')'], [0x2769, ')'], [0x276b, ')'], [0xff09, ')'], [0x2e29, '))'], [0x276c, '<'], [0x2770, '<'], [0xff1c, '<'], [0x276d, '>'], [0x2771, '>'], [0xff1e, '>'], [0x2774, '{'], [0xff5b, '{'], [0x2775, '}'], [0xff5d, '}'], [0x207a, '+'], [0x208a, '+'], [0xff0b, '+'], [0x207c, '='], [0x208c, '='], [0xff1d, '='], [0xff01, '!'], [0x203c, '!!'], [0x2049, '!?'], [0xff03, '#'], [0xff04, '$'], [0x2052, '%'], [0xff05, '%'], [0xff06, '&'], [0x204e, '*'], [0xff0a, '*'], [0xff0c, ','], [0xff0e, '.'], [0x2044, '/'], [0xff0f, '/'], [0xff1a, ':'], [0x204f, ';'], [0xff1b, ';'], [0xff1f, '?'], [0x2047, '??'], [0x2048, '?!'], [0xff20, '@'], [0xff3c, '\\'], [0x2038, '^'], [0xff3e, '^'], [0xff3f, '_'], [0x2053, '~'], [0xff5e, '~'], ]); }