static UNICODE_4_1_0: [(u32, u32, u8); 198] = [
(0x0000, 0x0008, 0),
(0x000E, 0x001F, 0),
(0x007F, 0x0084, 0),
(0x0086, 0x009F, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0486, 0),
(0x0488, 0x0489, 0),
(0x0591, 0x05B9, 0),
(0x05BB, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0603, 0),
(0x0610, 0x0615, 0),
(0x064B, 0x065E, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x0901, 0x0903, 0),
(0x093C, 0x093C, 0),
(0x093E, 0x094D, 0),
(0x0951, 0x0954, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A70, 0x0A71, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B43, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D43, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F90, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102C, 0x1032, 0),
(0x1036, 0x1039, 0),
(0x1056, 0x1059, 0),
(0x1100, 0x1159, 2),
(0x115F, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135F, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1DC0, 0x1DC3, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20EB, 0),
(0x2329, 0x232A, 2),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312C, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31B7, 2),
(0x31C0, 0x31CF, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3243, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DB5, 2),
(0x4E00, 0x9FBB, 2),
(0xA000, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xDFFF, 0),
(0xF900, 0xFA2D, 2),
(0xFA30, 0xFA6A, 2),
(0xFA70, 0xFAD9, 2),
(0xFB1E, 0xFB1E, 0),
(0xFDD0, 0xFDEF, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE23, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0xFFFE, 0xFFFF, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1FFFE, 0x1FFFF, 0),
(0x20000, 0x2FFFD, 2),
(0x2FFFE, 0x2FFFF, 0),
(0x30000, 0x3FFFD, 2),
(0x3FFFE, 0x3FFFF, 0),
(0x4FFFE, 0x4FFFF, 0),
(0x5FFFE, 0x5FFFF, 0),
(0x6FFFE, 0x6FFFF, 0),
(0x7FFFE, 0x7FFFF, 0),
(0x8FFFE, 0x8FFFF, 0),
(0x9FFFE, 0x9FFFF, 0),
(0xAFFFE, 0xAFFFF, 0),
(0xBFFFE, 0xBFFFF, 0),
(0xCFFFE, 0xCFFFF, 0),
(0xDFFFE, 0xE0FFF, 0),
(0xEFFFE, 0xEFFFF, 0),
(0xFFFFE, 0xFFFFF, 0),
(0x10FFFE, 0x10FFFF, 0),
];
static UNICODE_5_0_0: [(u32, u32, u8); 203] = [
(0x0000, 0x0008, 0),
(0x000E, 0x001F, 0),
(0x007F, 0x0084, 0),
(0x0086, 0x009F, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0486, 0),
(0x0488, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0603, 0),
(0x0610, 0x0615, 0),
(0x064B, 0x065E, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0901, 0x0903, 0),
(0x093C, 0x093C, 0),
(0x093E, 0x094D, 0),
(0x0951, 0x0954, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A70, 0x0A71, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B43, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D43, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F90, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102C, 0x1032, 0),
(0x1036, 0x1039, 0),
(0x1056, 0x1059, 0),
(0x1100, 0x1159, 2),
(0x115F, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135F, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1DC0, 0x1DCA, 0),
(0x1DFE, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20EF, 0),
(0x2329, 0x232A, 2),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312C, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31B7, 2),
(0x31C0, 0x31CF, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3243, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DB5, 2),
(0x4E00, 0x9FBB, 2),
(0xA000, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xDFFF, 0),
(0xF900, 0xFA2D, 2),
(0xFA30, 0xFA6A, 2),
(0xFA70, 0xFAD9, 2),
(0xFB1E, 0xFB1E, 0),
(0xFDD0, 0xFDEF, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE23, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0xFFFE, 0xFFFF, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1FFFE, 0x1FFFF, 0),
(0x20000, 0x2FFFD, 2),
(0x2FFFE, 0x2FFFF, 0),
(0x30000, 0x3FFFD, 2),
(0x3FFFE, 0x3FFFF, 0),
(0x4FFFE, 0x4FFFF, 0),
(0x5FFFE, 0x5FFFF, 0),
(0x6FFFE, 0x6FFFF, 0),
(0x7FFFE, 0x7FFFF, 0),
(0x8FFFE, 0x8FFFF, 0),
(0x9FFFE, 0x9FFFF, 0),
(0xAFFFE, 0xAFFFF, 0),
(0xBFFFE, 0xBFFFF, 0),
(0xCFFFE, 0xCFFFF, 0),
(0xDFFFE, 0xE0FFF, 0),
(0xEFFFE, 0xEFFFF, 0),
(0xFFFFE, 0xFFFFF, 0),
(0x10FFFE, 0x10FFFF, 0),
];
static UNICODE_5_1_0: [(u32, u32, u8); 206] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0603, 0),
(0x0610, 0x061A, 0),
(0x064B, 0x065E, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0901, 0x0903, 0),
(0x093C, 0x093C, 0),
(0x093E, 0x094D, 0),
(0x0951, 0x0954, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F90, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x1100, 0x1159, 2),
(0x115F, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135F, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAA, 0),
(0x1C24, 0x1C37, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFE, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31B7, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3243, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DB5, 2),
(0x4E00, 0x9FC3, 2),
(0xA000, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA67C, 0xA67D, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFA2D, 2),
(0xFA30, 0xFA6A, 2),
(0xFA70, 0xFAD9, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_5_2_0: [(u32, u32, u8); 234] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0603, 0),
(0x0610, 0x061A, 0),
(0x064B, 0x065E, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0900, 0x0903, 0),
(0x093C, 0x093C, 0),
(0x093E, 0x094E, 0),
(0x0951, 0x0955, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F90, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135F, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAA, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF2, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFD, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31B7, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA67C, 0xA67D, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7B, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x11080, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1F200, 0x1F200, 2),
(0x1F210, 0x1F231, 2),
(0x1F240, 0x1F248, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_6_0_0: [(u32, u32, u8); 242] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0603, 0),
(0x0610, 0x061A, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0900, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAA, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF2, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA67C, 0xA67D, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7B, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11080, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x1B000, 0x1B001, 2),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_6_1_0: [(u32, u32, u8); 253] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0604, 0),
(0x0610, 0x061A, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08E4, 0x08FE, 0),
(0x0900, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69F, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7B, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11080, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x116AB, 0x116B7, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x1B000, 0x1B001, 2),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_6_2_0: [(u32, u32, u8); 253] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0604, 0),
(0x0610, 0x061A, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08E4, 0x08FE, 0),
(0x0900, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180D, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69F, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7B, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11080, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x116AB, 0x116B7, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x1B000, 0x1B001, 2),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_6_3_0: [(u32, u32, u8); 254] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0604, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08E4, 0x08FE, 0),
(0x0900, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C01, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C82, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D02, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1DC0, 0x1DE6, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69F, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7B, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE26, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11080, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x116AB, 0x116B7, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x1B000, 0x1B001, 2),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_7_0_0: [(u32, u32, u8); 280] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0605, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08E4, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D01, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x19B0, 0x19C0, 0),
(0x19C8, 0x19C9, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1CF8, 0x1CF9, 0),
(0x1DC0, 0x1DF5, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69F, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2D, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x1122C, 0x11237, 0),
(0x112DF, 0x112EA, 0),
(0x11301, 0x11303, 0),
(0x1133C, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x1B000, 0x1B001, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_8_0_0: [(u32, u32, u8); 288] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0600, 0x0605, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DD, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x070F, 0x070F, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D01, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1CF8, 0x1CF9, 0),
(0x1DC0, 0x1DF5, 0),
(0x1DFC, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x2329, 0x232A, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C4, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110BD, 0x110BD, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111CA, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133C, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x1B000, 0x1B001, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23A, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_9_0_0: [(u32, u32, u8); 371] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D4, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D01, 0x0D03, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1CF8, 0x1CF9, 0),
(0x1DC0, 0x1DF5, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312D, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111CA, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133C, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE0, 2),
(0x17000, 0x187EC, 2),
(0x18800, 0x18AF2, 2),
(0x1B000, 0x1B001, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6F6, 2),
(0x1F910, 0x1F91E, 2),
(0x1F920, 0x1F927, 2),
(0x1F930, 0x1F930, 2),
(0x1F933, 0x1F93E, 2),
(0x1F940, 0x1F94B, 2),
(0x1F950, 0x1F95E, 2),
(0x1F980, 0x1F991, 2),
(0x1F9C0, 0x1F9C0, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_10_0_0: [(u32, u32, u8); 384] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D4, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C03, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DF9, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312E, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111CA, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133C, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE1, 2),
(0x17000, 0x187EC, 2),
(0x18800, 0x18AF2, 2),
(0x1B000, 0x1B11E, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6F8, 2),
(0x1F910, 0x1F93E, 2),
(0x1F940, 0x1F94C, 2),
(0x1F950, 0x1F96B, 2),
(0x1F980, 0x1F997, 2),
(0x1F9C0, 0x1F9C0, 2),
(0x1F9D0, 0x1F9E6, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_11_0_0: [(u32, u32, u8); 398] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D3, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EB9, 0),
(0x0EBB, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF2, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DF9, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10F46, 0x10F50, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F51, 0x16F7E, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE1, 2),
(0x17000, 0x187F1, 2),
(0x18800, 0x18AF2, 2),
(0x1B000, 0x1B11E, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6F9, 2),
(0x1F910, 0x1F93E, 2),
(0x1F940, 0x1F970, 2),
(0x1F973, 0x1F976, 2),
(0x1F97A, 0x1F97A, 2),
(0x1F97C, 0x1F9A2, 2),
(0x1F9B0, 0x1F9B9, 2),
(0x1F9C0, 0x1F9C2, 2),
(0x1F9D0, 0x1F9FF, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_12_0_0: [(u32, u32, u8); 410] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D3, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DF9, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x32FE, 2),
(0x3300, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10F46, 0x10F50, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x13430, 0x13438, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x17000, 0x187F7, 2),
(0x18800, 0x18AF2, 2),
(0x1B000, 0x1B11E, 2),
(0x1B150, 0x1B152, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E130, 0x1E136, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D5, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FA, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F90D, 0x1F971, 2),
(0x1F973, 0x1F976, 2),
(0x1F97A, 0x1F9A2, 2),
(0x1F9A5, 0x1F9AA, 2),
(0x1F9AE, 0x1F9CA, 2),
(0x1F9CD, 0x1F9FF, 2),
(0x1FA70, 0x1FA73, 2),
(0x1FA78, 0x1FA7A, 2),
(0x1FA80, 0x1FA82, 2),
(0x1FA90, 0x1FA95, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_12_1_0: [(u32, u32, u8); 409] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D3, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B56, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D82, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ABE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DF9, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31BA, 2),
(0x31C0, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10F46, 0x10F50, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x13430, 0x13438, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x17000, 0x187F7, 2),
(0x18800, 0x18AF2, 2),
(0x1B000, 0x1B11E, 2),
(0x1B150, 0x1B152, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E130, 0x1E136, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D5, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FA, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F90D, 0x1F971, 2),
(0x1F973, 0x1F976, 2),
(0x1F97A, 0x1F9A2, 2),
(0x1F9A5, 0x1F9AA, 2),
(0x1F9AE, 0x1F9CA, 2),
(0x1F9CD, 0x1F9FF, 2),
(0x1FA70, 0x1FA73, 2),
(0x1FA78, 0x1FA7A, 2),
(0x1FA80, 0x1FA82, 2),
(0x1FA90, 0x1FA95, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_13_0_0: [(u32, u32, u8); 421] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x08D3, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1714, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180E, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1AC0, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DF9, 0),
(0x1DFB, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10EAB, 0x10EAC, 0),
(0x10F46, 0x10F50, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x13430, 0x13438, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x17000, 0x187F7, 2),
(0x18800, 0x18CD5, 2),
(0x18D00, 0x18D08, 2),
(0x1B000, 0x1B11E, 2),
(0x1B150, 0x1B152, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E130, 0x1E136, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D7, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F978, 2),
(0x1F97A, 0x1F9CB, 2),
(0x1F9CD, 0x1F9FF, 2),
(0x1FA70, 0x1FA74, 2),
(0x1FA78, 0x1FA7A, 2),
(0x1FA80, 0x1FA86, 2),
(0x1FA90, 0x1FAA8, 2),
(0x1FAB0, 0x1FAB6, 2),
(0x1FAC0, 0x1FAC2, 2),
(0x1FAD0, 0x1FAD6, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_14_0_0: [(u32, u32, u8); 434] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0898, 0x089F, 0),
(0x08CA, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3C, 0x0C3C, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECD, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1715, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180F, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ACE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10EAB, 0x10EAC, 0),
(0x10F46, 0x10F50, 0),
(0x10F82, 0x10F85, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11070, 0x11070, 0),
(0x11073, 0x11074, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110C2, 0x110C2, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x13430, 0x13438, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x17000, 0x187F7, 2),
(0x18800, 0x18CD5, 2),
(0x18D00, 0x18D08, 2),
(0x1AFF0, 0x1AFF3, 2),
(0x1AFF5, 0x1AFFB, 2),
(0x1AFFD, 0x1AFFE, 2),
(0x1B000, 0x1B122, 2),
(0x1B150, 0x1B152, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1CF00, 0x1CF2D, 0),
(0x1CF30, 0x1CF46, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E130, 0x1E136, 0),
(0x1E2AE, 0x1E2AE, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D7, 2),
(0x1F6DD, 0x1F6DF, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F7F0, 0x1F7F0, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F9FF, 2),
(0x1FA70, 0x1FA74, 2),
(0x1FA78, 0x1FA7C, 2),
(0x1FA80, 0x1FA86, 2),
(0x1FA90, 0x1FAAC, 2),
(0x1FAB0, 0x1FABA, 2),
(0x1FAC0, 0x1FAC5, 2),
(0x1FAD0, 0x1FAD9, 2),
(0x1FAE0, 0x1FAE7, 2),
(0x1FAF0, 0x1FAF6, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_15_0_0: [(u32, u32, u8); 444] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0898, 0x089F, 0),
(0x08CA, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3C, 0x0C3C, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0CF3, 0x0CF3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECE, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1715, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180F, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ACE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x2FFB, 2),
(0x3000, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E3, 2),
(0x31F0, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10EAB, 0x10EAC, 0),
(0x10EFD, 0x10EFF, 0),
(0x10F46, 0x10F50, 0),
(0x10F82, 0x10F85, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11070, 0x11070, 0),
(0x11073, 0x11074, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110C2, 0x110C2, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x11241, 0x11241, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x11F00, 0x11F01, 0),
(0x11F03, 0x11F03, 0),
(0x11F34, 0x11F3A, 0),
(0x11F3E, 0x11F42, 0),
(0x13430, 0x13440, 0),
(0x13447, 0x13455, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x17000, 0x187F7, 2),
(0x18800, 0x18CD5, 2),
(0x18D00, 0x18D08, 2),
(0x1AFF0, 0x1AFF3, 2),
(0x1AFF5, 0x1AFFB, 2),
(0x1AFFD, 0x1AFFE, 2),
(0x1B000, 0x1B122, 2),
(0x1B132, 0x1B132, 2),
(0x1B150, 0x1B152, 2),
(0x1B155, 0x1B155, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1CF00, 0x1CF2D, 0),
(0x1CF30, 0x1CF46, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E08F, 0x1E08F, 0),
(0x1E130, 0x1E136, 0),
(0x1E2AE, 0x1E2AE, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E4EC, 0x1E4EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D7, 2),
(0x1F6DC, 0x1F6DF, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F7F0, 0x1F7F0, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F9FF, 2),
(0x1FA70, 0x1FA7C, 2),
(0x1FA80, 0x1FA88, 2),
(0x1FA90, 0x1FABD, 2),
(0x1FABF, 0x1FAC5, 2),
(0x1FACE, 0x1FADB, 2),
(0x1FAE0, 0x1FAE8, 2),
(0x1FAF0, 0x1FAF8, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_15_1_0: [(u32, u32, u8); 443] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0898, 0x089F, 0),
(0x08CA, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3C, 0x0C3C, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0CF3, 0x0CF3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECE, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1715, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180F, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ACE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E3, 2),
(0x31EF, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0x4DBF, 2),
(0x4E00, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10EAB, 0x10EAC, 0),
(0x10EFD, 0x10EFF, 0),
(0x10F46, 0x10F50, 0),
(0x10F82, 0x10F85, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11070, 0x11070, 0),
(0x11073, 0x11074, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110C2, 0x110C2, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x11241, 0x11241, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x11F00, 0x11F01, 0),
(0x11F03, 0x11F03, 0),
(0x11F34, 0x11F3A, 0),
(0x11F3E, 0x11F42, 0),
(0x13430, 0x13440, 0),
(0x13447, 0x13455, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x17000, 0x187F7, 2),
(0x18800, 0x18CD5, 2),
(0x18D00, 0x18D08, 2),
(0x1AFF0, 0x1AFF3, 2),
(0x1AFF5, 0x1AFFB, 2),
(0x1AFFD, 0x1AFFE, 2),
(0x1B000, 0x1B122, 2),
(0x1B132, 0x1B132, 2),
(0x1B150, 0x1B152, 2),
(0x1B155, 0x1B155, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1CF00, 0x1CF2D, 0),
(0x1CF30, 0x1CF46, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E08F, 0x1E08F, 0),
(0x1E130, 0x1E136, 0),
(0x1E2AE, 0x1E2AE, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E4EC, 0x1E4EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D7, 2),
(0x1F6DC, 0x1F6DF, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F7F0, 0x1F7F0, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F9FF, 2),
(0x1FA70, 0x1FA7C, 2),
(0x1FA80, 0x1FA88, 2),
(0x1FA90, 0x1FABD, 2),
(0x1FABF, 0x1FAC5, 2),
(0x1FACE, 0x1FADB, 2),
(0x1FAE0, 0x1FAE8, 2),
(0x1FAF0, 0x1FAF8, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_16_0_0: [(u32, u32, u8); 456] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0897, 0x089F, 0),
(0x08CA, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3C, 0x0C3C, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0CF3, 0x0CF3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECE, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1715, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180F, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ACE, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2630, 0x2637, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x268A, 0x268F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E5, 2),
(0x31EF, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10D69, 0x10D6D, 0),
(0x10EAB, 0x10EAC, 0),
(0x10EFC, 0x10EFF, 0),
(0x10F46, 0x10F50, 0),
(0x10F82, 0x10F85, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11070, 0x11070, 0),
(0x11073, 0x11074, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110C2, 0x110C2, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x11241, 0x11241, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x113B8, 0x113C0, 0),
(0x113C2, 0x113C2, 0),
(0x113C5, 0x113C5, 0),
(0x113C7, 0x113CA, 0),
(0x113CC, 0x113D0, 0),
(0x113D2, 0x113D2, 0),
(0x113E1, 0x113E2, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x11F00, 0x11F01, 0),
(0x11F03, 0x11F03, 0),
(0x11F34, 0x11F3A, 0),
(0x11F3E, 0x11F42, 0),
(0x11F5A, 0x11F5A, 0),
(0x13430, 0x13440, 0),
(0x13447, 0x13455, 0),
(0x1611E, 0x1612F, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x17000, 0x187F7, 2),
(0x18800, 0x18CD5, 2),
(0x18CFF, 0x18D08, 2),
(0x1AFF0, 0x1AFF3, 2),
(0x1AFF5, 0x1AFFB, 2),
(0x1AFFD, 0x1AFFE, 2),
(0x1B000, 0x1B122, 2),
(0x1B132, 0x1B132, 2),
(0x1B150, 0x1B152, 2),
(0x1B155, 0x1B155, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1CF00, 0x1CF2D, 0),
(0x1CF30, 0x1CF46, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1D300, 0x1D356, 2),
(0x1D360, 0x1D376, 2),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E08F, 0x1E08F, 0),
(0x1E130, 0x1E136, 0),
(0x1E2AE, 0x1E2AE, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E4EC, 0x1E4EF, 0),
(0x1E5EE, 0x1E5EF, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D7, 2),
(0x1F6DC, 0x1F6DF, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F7F0, 0x1F7F0, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F9FF, 2),
(0x1FA70, 0x1FA7C, 2),
(0x1FA80, 0x1FA89, 2),
(0x1FA8F, 0x1FAC6, 2),
(0x1FACE, 0x1FADC, 2),
(0x1FADF, 0x1FAE9, 2),
(0x1FAF0, 0x1FAF8, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
static UNICODE_17_0_0: [(u32, u32, u8); 464] = [
(0x0000, 0x0000, 0),
(0x0300, 0x036F, 0),
(0x0483, 0x0489, 0),
(0x0591, 0x05BD, 0),
(0x05BF, 0x05BF, 0),
(0x05C1, 0x05C2, 0),
(0x05C4, 0x05C5, 0),
(0x05C7, 0x05C7, 0),
(0x0610, 0x061A, 0),
(0x061C, 0x061C, 0),
(0x064B, 0x065F, 0),
(0x0670, 0x0670, 0),
(0x06D6, 0x06DC, 0),
(0x06DF, 0x06E4, 0),
(0x06E7, 0x06E8, 0),
(0x06EA, 0x06ED, 0),
(0x0711, 0x0711, 0),
(0x0730, 0x074A, 0),
(0x07A6, 0x07B0, 0),
(0x07EB, 0x07F3, 0),
(0x07FD, 0x07FD, 0),
(0x0816, 0x0819, 0),
(0x081B, 0x0823, 0),
(0x0825, 0x0827, 0),
(0x0829, 0x082D, 0),
(0x0859, 0x085B, 0),
(0x0897, 0x089F, 0),
(0x08CA, 0x08E1, 0),
(0x08E3, 0x0903, 0),
(0x093A, 0x093C, 0),
(0x093E, 0x094F, 0),
(0x0951, 0x0957, 0),
(0x0962, 0x0963, 0),
(0x0981, 0x0983, 0),
(0x09BC, 0x09BC, 0),
(0x09BE, 0x09C4, 0),
(0x09C7, 0x09C8, 0),
(0x09CB, 0x09CD, 0),
(0x09D7, 0x09D7, 0),
(0x09E2, 0x09E3, 0),
(0x09FE, 0x09FE, 0),
(0x0A01, 0x0A03, 0),
(0x0A3C, 0x0A3C, 0),
(0x0A3E, 0x0A42, 0),
(0x0A47, 0x0A48, 0),
(0x0A4B, 0x0A4D, 0),
(0x0A51, 0x0A51, 0),
(0x0A70, 0x0A71, 0),
(0x0A75, 0x0A75, 0),
(0x0A81, 0x0A83, 0),
(0x0ABC, 0x0ABC, 0),
(0x0ABE, 0x0AC5, 0),
(0x0AC7, 0x0AC9, 0),
(0x0ACB, 0x0ACD, 0),
(0x0AE2, 0x0AE3, 0),
(0x0AFA, 0x0AFF, 0),
(0x0B01, 0x0B03, 0),
(0x0B3C, 0x0B3C, 0),
(0x0B3E, 0x0B44, 0),
(0x0B47, 0x0B48, 0),
(0x0B4B, 0x0B4D, 0),
(0x0B55, 0x0B57, 0),
(0x0B62, 0x0B63, 0),
(0x0B82, 0x0B82, 0),
(0x0BBE, 0x0BC2, 0),
(0x0BC6, 0x0BC8, 0),
(0x0BCA, 0x0BCD, 0),
(0x0BD7, 0x0BD7, 0),
(0x0C00, 0x0C04, 0),
(0x0C3C, 0x0C3C, 0),
(0x0C3E, 0x0C44, 0),
(0x0C46, 0x0C48, 0),
(0x0C4A, 0x0C4D, 0),
(0x0C55, 0x0C56, 0),
(0x0C62, 0x0C63, 0),
(0x0C81, 0x0C83, 0),
(0x0CBC, 0x0CBC, 0),
(0x0CBE, 0x0CC4, 0),
(0x0CC6, 0x0CC8, 0),
(0x0CCA, 0x0CCD, 0),
(0x0CD5, 0x0CD6, 0),
(0x0CE2, 0x0CE3, 0),
(0x0CF3, 0x0CF3, 0),
(0x0D00, 0x0D03, 0),
(0x0D3B, 0x0D3C, 0),
(0x0D3E, 0x0D44, 0),
(0x0D46, 0x0D48, 0),
(0x0D4A, 0x0D4D, 0),
(0x0D57, 0x0D57, 0),
(0x0D62, 0x0D63, 0),
(0x0D81, 0x0D83, 0),
(0x0DCA, 0x0DCA, 0),
(0x0DCF, 0x0DD4, 0),
(0x0DD6, 0x0DD6, 0),
(0x0DD8, 0x0DDF, 0),
(0x0DF2, 0x0DF3, 0),
(0x0E31, 0x0E31, 0),
(0x0E34, 0x0E3A, 0),
(0x0E47, 0x0E4E, 0),
(0x0EB1, 0x0EB1, 0),
(0x0EB4, 0x0EBC, 0),
(0x0EC8, 0x0ECE, 0),
(0x0F18, 0x0F19, 0),
(0x0F35, 0x0F35, 0),
(0x0F37, 0x0F37, 0),
(0x0F39, 0x0F39, 0),
(0x0F3E, 0x0F3F, 0),
(0x0F71, 0x0F84, 0),
(0x0F86, 0x0F87, 0),
(0x0F8D, 0x0F97, 0),
(0x0F99, 0x0FBC, 0),
(0x0FC6, 0x0FC6, 0),
(0x102B, 0x103E, 0),
(0x1056, 0x1059, 0),
(0x105E, 0x1060, 0),
(0x1062, 0x1064, 0),
(0x1067, 0x106D, 0),
(0x1071, 0x1074, 0),
(0x1082, 0x108D, 0),
(0x108F, 0x108F, 0),
(0x109A, 0x109D, 0),
(0x1100, 0x115F, 2),
(0x1160, 0x11FF, 0),
(0x135D, 0x135F, 0),
(0x1712, 0x1715, 0),
(0x1732, 0x1734, 0),
(0x1752, 0x1753, 0),
(0x1772, 0x1773, 0),
(0x17B4, 0x17D3, 0),
(0x17DD, 0x17DD, 0),
(0x180B, 0x180F, 0),
(0x1885, 0x1886, 0),
(0x18A9, 0x18A9, 0),
(0x1920, 0x192B, 0),
(0x1930, 0x193B, 0),
(0x1A17, 0x1A1B, 0),
(0x1A55, 0x1A5E, 0),
(0x1A60, 0x1A7C, 0),
(0x1A7F, 0x1A7F, 0),
(0x1AB0, 0x1ADD, 0),
(0x1AE0, 0x1AEB, 0),
(0x1B00, 0x1B04, 0),
(0x1B34, 0x1B44, 0),
(0x1B6B, 0x1B73, 0),
(0x1B80, 0x1B82, 0),
(0x1BA1, 0x1BAD, 0),
(0x1BE6, 0x1BF3, 0),
(0x1C24, 0x1C37, 0),
(0x1CD0, 0x1CD2, 0),
(0x1CD4, 0x1CE8, 0),
(0x1CED, 0x1CED, 0),
(0x1CF4, 0x1CF4, 0),
(0x1CF7, 0x1CF9, 0),
(0x1DC0, 0x1DFF, 0),
(0x200B, 0x200F, 0),
(0x2028, 0x202E, 0),
(0x2060, 0x206F, 0),
(0x20D0, 0x20F0, 0),
(0x231A, 0x231B, 2),
(0x2329, 0x232A, 2),
(0x23E9, 0x23EC, 2),
(0x23F0, 0x23F0, 2),
(0x23F3, 0x23F3, 2),
(0x25FD, 0x25FE, 2),
(0x2614, 0x2615, 2),
(0x2630, 0x2637, 2),
(0x2648, 0x2653, 2),
(0x267F, 0x267F, 2),
(0x268A, 0x268F, 2),
(0x2693, 0x2693, 2),
(0x26A1, 0x26A1, 2),
(0x26AA, 0x26AB, 2),
(0x26BD, 0x26BE, 2),
(0x26C4, 0x26C5, 2),
(0x26CE, 0x26CE, 2),
(0x26D4, 0x26D4, 2),
(0x26EA, 0x26EA, 2),
(0x26F2, 0x26F3, 2),
(0x26F5, 0x26F5, 2),
(0x26FA, 0x26FA, 2),
(0x26FD, 0x26FD, 2),
(0x2705, 0x2705, 2),
(0x270A, 0x270B, 2),
(0x2728, 0x2728, 2),
(0x274C, 0x274C, 2),
(0x274E, 0x274E, 2),
(0x2753, 0x2755, 2),
(0x2757, 0x2757, 2),
(0x2795, 0x2797, 2),
(0x27B0, 0x27B0, 2),
(0x27BF, 0x27BF, 2),
(0x2B1B, 0x2B1C, 2),
(0x2B50, 0x2B50, 2),
(0x2B55, 0x2B55, 2),
(0x2CEF, 0x2CF1, 0),
(0x2D7F, 0x2D7F, 0),
(0x2DE0, 0x2DFF, 0),
(0x2E80, 0x2E99, 2),
(0x2E9B, 0x2EF3, 2),
(0x2F00, 0x2FD5, 2),
(0x2FF0, 0x3029, 2),
(0x302A, 0x302F, 0),
(0x3030, 0x303E, 2),
(0x3041, 0x3096, 2),
(0x3099, 0x309A, 0),
(0x309B, 0x30FF, 2),
(0x3105, 0x312F, 2),
(0x3131, 0x3163, 2),
(0x3164, 0x3164, 0),
(0x3165, 0x318E, 2),
(0x3190, 0x31E5, 2),
(0x31EF, 0x321E, 2),
(0x3220, 0x3247, 2),
(0x3250, 0xA48C, 2),
(0xA490, 0xA4C6, 2),
(0xA66F, 0xA672, 0),
(0xA674, 0xA67D, 0),
(0xA69E, 0xA69F, 0),
(0xA6F0, 0xA6F1, 0),
(0xA802, 0xA802, 0),
(0xA806, 0xA806, 0),
(0xA80B, 0xA80B, 0),
(0xA823, 0xA827, 0),
(0xA82C, 0xA82C, 0),
(0xA880, 0xA881, 0),
(0xA8B4, 0xA8C5, 0),
(0xA8E0, 0xA8F1, 0),
(0xA8FF, 0xA8FF, 0),
(0xA926, 0xA92D, 0),
(0xA947, 0xA953, 0),
(0xA960, 0xA97C, 2),
(0xA980, 0xA983, 0),
(0xA9B3, 0xA9C0, 0),
(0xA9E5, 0xA9E5, 0),
(0xAA29, 0xAA36, 0),
(0xAA43, 0xAA43, 0),
(0xAA4C, 0xAA4D, 0),
(0xAA7B, 0xAA7D, 0),
(0xAAB0, 0xAAB0, 0),
(0xAAB2, 0xAAB4, 0),
(0xAAB7, 0xAAB8, 0),
(0xAABE, 0xAABF, 0),
(0xAAC1, 0xAAC1, 0),
(0xAAEB, 0xAAEF, 0),
(0xAAF5, 0xAAF6, 0),
(0xABE3, 0xABEA, 0),
(0xABEC, 0xABED, 0),
(0xAC00, 0xD7A3, 2),
(0xD7B0, 0xD7FF, 0),
(0xF900, 0xFAFF, 2),
(0xFB1E, 0xFB1E, 0),
(0xFE00, 0xFE0F, 0),
(0xFE10, 0xFE19, 2),
(0xFE20, 0xFE2F, 0),
(0xFE30, 0xFE52, 2),
(0xFE54, 0xFE66, 2),
(0xFE68, 0xFE6B, 2),
(0xFEFF, 0xFEFF, 0),
(0xFF01, 0xFF60, 2),
(0xFFA0, 0xFFA0, 0),
(0xFFE0, 0xFFE6, 2),
(0xFFF0, 0xFFFB, 0),
(0x101FD, 0x101FD, 0),
(0x102E0, 0x102E0, 0),
(0x10376, 0x1037A, 0),
(0x10A01, 0x10A03, 0),
(0x10A05, 0x10A06, 0),
(0x10A0C, 0x10A0F, 0),
(0x10A38, 0x10A3A, 0),
(0x10A3F, 0x10A3F, 0),
(0x10AE5, 0x10AE6, 0),
(0x10D24, 0x10D27, 0),
(0x10D69, 0x10D6D, 0),
(0x10EAB, 0x10EAC, 0),
(0x10EFA, 0x10EFF, 0),
(0x10F46, 0x10F50, 0),
(0x10F82, 0x10F85, 0),
(0x11000, 0x11002, 0),
(0x11038, 0x11046, 0),
(0x11070, 0x11070, 0),
(0x11073, 0x11074, 0),
(0x1107F, 0x11082, 0),
(0x110B0, 0x110BA, 0),
(0x110C2, 0x110C2, 0),
(0x11100, 0x11102, 0),
(0x11127, 0x11134, 0),
(0x11145, 0x11146, 0),
(0x11173, 0x11173, 0),
(0x11180, 0x11182, 0),
(0x111B3, 0x111C0, 0),
(0x111C9, 0x111CC, 0),
(0x111CE, 0x111CF, 0),
(0x1122C, 0x11237, 0),
(0x1123E, 0x1123E, 0),
(0x11241, 0x11241, 0),
(0x112DF, 0x112EA, 0),
(0x11300, 0x11303, 0),
(0x1133B, 0x1133C, 0),
(0x1133E, 0x11344, 0),
(0x11347, 0x11348, 0),
(0x1134B, 0x1134D, 0),
(0x11357, 0x11357, 0),
(0x11362, 0x11363, 0),
(0x11366, 0x1136C, 0),
(0x11370, 0x11374, 0),
(0x113B8, 0x113C0, 0),
(0x113C2, 0x113C2, 0),
(0x113C5, 0x113C5, 0),
(0x113C7, 0x113CA, 0),
(0x113CC, 0x113D0, 0),
(0x113D2, 0x113D2, 0),
(0x113E1, 0x113E2, 0),
(0x11435, 0x11446, 0),
(0x1145E, 0x1145E, 0),
(0x114B0, 0x114C3, 0),
(0x115AF, 0x115B5, 0),
(0x115B8, 0x115C0, 0),
(0x115DC, 0x115DD, 0),
(0x11630, 0x11640, 0),
(0x116AB, 0x116B7, 0),
(0x1171D, 0x1172B, 0),
(0x1182C, 0x1183A, 0),
(0x11930, 0x11935, 0),
(0x11937, 0x11938, 0),
(0x1193B, 0x1193E, 0),
(0x11940, 0x11940, 0),
(0x11942, 0x11943, 0),
(0x119D1, 0x119D7, 0),
(0x119DA, 0x119E0, 0),
(0x119E4, 0x119E4, 0),
(0x11A01, 0x11A0A, 0),
(0x11A33, 0x11A39, 0),
(0x11A3B, 0x11A3E, 0),
(0x11A47, 0x11A47, 0),
(0x11A51, 0x11A5B, 0),
(0x11A8A, 0x11A99, 0),
(0x11B60, 0x11B67, 0),
(0x11C2F, 0x11C36, 0),
(0x11C38, 0x11C3F, 0),
(0x11C92, 0x11CA7, 0),
(0x11CA9, 0x11CB6, 0),
(0x11D31, 0x11D36, 0),
(0x11D3A, 0x11D3A, 0),
(0x11D3C, 0x11D3D, 0),
(0x11D3F, 0x11D45, 0),
(0x11D47, 0x11D47, 0),
(0x11D8A, 0x11D8E, 0),
(0x11D90, 0x11D91, 0),
(0x11D93, 0x11D97, 0),
(0x11EF3, 0x11EF6, 0),
(0x11F00, 0x11F01, 0),
(0x11F03, 0x11F03, 0),
(0x11F34, 0x11F3A, 0),
(0x11F3E, 0x11F42, 0),
(0x11F5A, 0x11F5A, 0),
(0x13430, 0x13440, 0),
(0x13447, 0x13455, 0),
(0x1611E, 0x1612F, 0),
(0x16AF0, 0x16AF4, 0),
(0x16B30, 0x16B36, 0),
(0x16F4F, 0x16F4F, 0),
(0x16F51, 0x16F87, 0),
(0x16F8F, 0x16F92, 0),
(0x16FE0, 0x16FE3, 2),
(0x16FE4, 0x16FE4, 0),
(0x16FF0, 0x16FF1, 0),
(0x16FF2, 0x16FF6, 2),
(0x17000, 0x18CD5, 2),
(0x18CFF, 0x18D1E, 2),
(0x18D80, 0x18DF2, 2),
(0x1AFF0, 0x1AFF3, 2),
(0x1AFF5, 0x1AFFB, 2),
(0x1AFFD, 0x1AFFE, 2),
(0x1B000, 0x1B122, 2),
(0x1B132, 0x1B132, 2),
(0x1B150, 0x1B152, 2),
(0x1B155, 0x1B155, 2),
(0x1B164, 0x1B167, 2),
(0x1B170, 0x1B2FB, 2),
(0x1BC9D, 0x1BC9E, 0),
(0x1BCA0, 0x1BCA3, 0),
(0x1CF00, 0x1CF2D, 0),
(0x1CF30, 0x1CF46, 0),
(0x1D165, 0x1D169, 0),
(0x1D16D, 0x1D182, 0),
(0x1D185, 0x1D18B, 0),
(0x1D1AA, 0x1D1AD, 0),
(0x1D242, 0x1D244, 0),
(0x1D300, 0x1D356, 2),
(0x1D360, 0x1D376, 2),
(0x1DA00, 0x1DA36, 0),
(0x1DA3B, 0x1DA6C, 0),
(0x1DA75, 0x1DA75, 0),
(0x1DA84, 0x1DA84, 0),
(0x1DA9B, 0x1DA9F, 0),
(0x1DAA1, 0x1DAAF, 0),
(0x1E000, 0x1E006, 0),
(0x1E008, 0x1E018, 0),
(0x1E01B, 0x1E021, 0),
(0x1E023, 0x1E024, 0),
(0x1E026, 0x1E02A, 0),
(0x1E08F, 0x1E08F, 0),
(0x1E130, 0x1E136, 0),
(0x1E2AE, 0x1E2AE, 0),
(0x1E2EC, 0x1E2EF, 0),
(0x1E4EC, 0x1E4EF, 0),
(0x1E5EE, 0x1E5EF, 0),
(0x1E6E3, 0x1E6E3, 0),
(0x1E6E6, 0x1E6E6, 0),
(0x1E6EE, 0x1E6EF, 0),
(0x1E6F5, 0x1E6F5, 0),
(0x1E8D0, 0x1E8D6, 0),
(0x1E944, 0x1E94A, 0),
(0x1F004, 0x1F004, 2),
(0x1F0CF, 0x1F0CF, 2),
(0x1F18E, 0x1F18E, 2),
(0x1F191, 0x1F19A, 2),
(0x1F200, 0x1F202, 2),
(0x1F210, 0x1F23B, 2),
(0x1F240, 0x1F248, 2),
(0x1F250, 0x1F251, 2),
(0x1F260, 0x1F265, 2),
(0x1F300, 0x1F320, 2),
(0x1F32D, 0x1F335, 2),
(0x1F337, 0x1F37C, 2),
(0x1F37E, 0x1F393, 2),
(0x1F3A0, 0x1F3CA, 2),
(0x1F3CF, 0x1F3D3, 2),
(0x1F3E0, 0x1F3F0, 2),
(0x1F3F4, 0x1F3F4, 2),
(0x1F3F8, 0x1F3FA, 2),
(0x1F3FB, 0x1F3FF, 0),
(0x1F400, 0x1F43E, 2),
(0x1F440, 0x1F440, 2),
(0x1F442, 0x1F4FC, 2),
(0x1F4FF, 0x1F53D, 2),
(0x1F54B, 0x1F54E, 2),
(0x1F550, 0x1F567, 2),
(0x1F57A, 0x1F57A, 2),
(0x1F595, 0x1F596, 2),
(0x1F5A4, 0x1F5A4, 2),
(0x1F5FB, 0x1F64F, 2),
(0x1F680, 0x1F6C5, 2),
(0x1F6CC, 0x1F6CC, 2),
(0x1F6D0, 0x1F6D2, 2),
(0x1F6D5, 0x1F6D8, 2),
(0x1F6DC, 0x1F6DF, 2),
(0x1F6EB, 0x1F6EC, 2),
(0x1F6F4, 0x1F6FC, 2),
(0x1F7E0, 0x1F7EB, 2),
(0x1F7F0, 0x1F7F0, 2),
(0x1F90C, 0x1F93A, 2),
(0x1F93C, 0x1F945, 2),
(0x1F947, 0x1F9FF, 2),
(0x1FA70, 0x1FA7C, 2),
(0x1FA80, 0x1FA8A, 2),
(0x1FA8E, 0x1FAC6, 2),
(0x1FAC8, 0x1FAC8, 2),
(0x1FACD, 0x1FADC, 2),
(0x1FADF, 0x1FAEA, 2),
(0x1FAEF, 0x1FAF8, 2),
(0x20000, 0x2FFFD, 2),
(0x30000, 0x3FFFD, 2),
(0xE0000, 0xE0FFF, 0),
];
pub(crate) static VERSIONS: [&str; 21] = [
"4.1.0", "5.0.0", "5.1.0", "5.2.0", "6.0.0", "6.1.0", "6.2.0", "6.3.0", "7.0.0", "8.0.0",
"9.0.0", "10.0.0", "11.0.0", "12.0.0", "12.1.0", "13.0.0", "14.0.0", "15.0.0", "15.1.0",
"16.0.0", "17.0.0",
];
pub(crate) static TABLES: [&[(u32, u32, u8)]; 21] = [
&UNICODE_4_1_0,
&UNICODE_5_0_0,
&UNICODE_5_1_0,
&UNICODE_5_2_0,
&UNICODE_6_0_0,
&UNICODE_6_1_0,
&UNICODE_6_2_0,
&UNICODE_6_3_0,
&UNICODE_7_0_0,
&UNICODE_8_0_0,
&UNICODE_9_0_0,
&UNICODE_10_0_0,
&UNICODE_11_0_0,
&UNICODE_12_0_0,
&UNICODE_12_1_0,
&UNICODE_13_0_0,
&UNICODE_14_0_0,
&UNICODE_15_0_0,
&UNICODE_15_1_0,
&UNICODE_16_0_0,
&UNICODE_17_0_0,
];
pub(crate) static NARROW_TO_WIDE: [char; 213] = [
'\u{0023}',
'\u{002A}',
'\u{0030}',
'\u{0031}',
'\u{0032}',
'\u{0033}',
'\u{0034}',
'\u{0035}',
'\u{0036}',
'\u{0037}',
'\u{0038}',
'\u{0039}',
'\u{00A9}',
'\u{00AE}',
'\u{203C}',
'\u{2049}',
'\u{2122}',
'\u{2139}',
'\u{2194}',
'\u{2195}',
'\u{2196}',
'\u{2197}',
'\u{2198}',
'\u{2199}',
'\u{21A9}',
'\u{21AA}',
'\u{2328}',
'\u{23CF}',
'\u{23ED}',
'\u{23EE}',
'\u{23EF}',
'\u{23F1}',
'\u{23F2}',
'\u{23F8}',
'\u{23F9}',
'\u{23FA}',
'\u{24C2}',
'\u{25AA}',
'\u{25AB}',
'\u{25B6}',
'\u{25C0}',
'\u{25FB}',
'\u{25FC}',
'\u{2600}',
'\u{2601}',
'\u{2602}',
'\u{2603}',
'\u{2604}',
'\u{260E}',
'\u{2611}',
'\u{2618}',
'\u{261D}',
'\u{2620}',
'\u{2622}',
'\u{2623}',
'\u{2626}',
'\u{262A}',
'\u{262E}',
'\u{262F}',
'\u{2638}',
'\u{2639}',
'\u{263A}',
'\u{2640}',
'\u{2642}',
'\u{265F}',
'\u{2660}',
'\u{2663}',
'\u{2665}',
'\u{2666}',
'\u{2668}',
'\u{267B}',
'\u{267E}',
'\u{2692}',
'\u{2694}',
'\u{2695}',
'\u{2696}',
'\u{2697}',
'\u{2699}',
'\u{269B}',
'\u{269C}',
'\u{26A0}',
'\u{26A7}',
'\u{26B0}',
'\u{26B1}',
'\u{26C8}',
'\u{26CF}',
'\u{26D1}',
'\u{26D3}',
'\u{26E9}',
'\u{26F0}',
'\u{26F1}',
'\u{26F4}',
'\u{26F7}',
'\u{26F8}',
'\u{26F9}',
'\u{2702}',
'\u{2708}',
'\u{2709}',
'\u{270C}',
'\u{270D}',
'\u{270F}',
'\u{2712}',
'\u{2714}',
'\u{2716}',
'\u{271D}',
'\u{2721}',
'\u{2733}',
'\u{2734}',
'\u{2744}',
'\u{2747}',
'\u{2763}',
'\u{2764}',
'\u{27A1}',
'\u{2934}',
'\u{2935}',
'\u{2B05}',
'\u{2B06}',
'\u{2B07}',
'\u{1F170}',
'\u{1F171}',
'\u{1F17E}',
'\u{1F17F}',
'\u{1F321}',
'\u{1F324}',
'\u{1F325}',
'\u{1F326}',
'\u{1F327}',
'\u{1F328}',
'\u{1F329}',
'\u{1F32A}',
'\u{1F32B}',
'\u{1F32C}',
'\u{1F336}',
'\u{1F37D}',
'\u{1F396}',
'\u{1F397}',
'\u{1F399}',
'\u{1F39A}',
'\u{1F39B}',
'\u{1F39E}',
'\u{1F39F}',
'\u{1F3CB}',
'\u{1F3CC}',
'\u{1F3CD}',
'\u{1F3CE}',
'\u{1F3D4}',
'\u{1F3D5}',
'\u{1F3D6}',
'\u{1F3D7}',
'\u{1F3D8}',
'\u{1F3D9}',
'\u{1F3DA}',
'\u{1F3DB}',
'\u{1F3DC}',
'\u{1F3DD}',
'\u{1F3DE}',
'\u{1F3DF}',
'\u{1F3F3}',
'\u{1F3F5}',
'\u{1F3F7}',
'\u{1F43F}',
'\u{1F441}',
'\u{1F4FD}',
'\u{1F549}',
'\u{1F54A}',
'\u{1F56F}',
'\u{1F570}',
'\u{1F573}',
'\u{1F574}',
'\u{1F575}',
'\u{1F576}',
'\u{1F577}',
'\u{1F578}',
'\u{1F579}',
'\u{1F587}',
'\u{1F58A}',
'\u{1F58B}',
'\u{1F58C}',
'\u{1F58D}',
'\u{1F590}',
'\u{1F5A5}',
'\u{1F5A8}',
'\u{1F5B1}',
'\u{1F5B2}',
'\u{1F5BC}',
'\u{1F5C2}',
'\u{1F5C3}',
'\u{1F5C4}',
'\u{1F5D1}',
'\u{1F5D2}',
'\u{1F5D3}',
'\u{1F5DC}',
'\u{1F5DD}',
'\u{1F5DE}',
'\u{1F5E1}',
'\u{1F5E3}',
'\u{1F5E8}',
'\u{1F5EF}',
'\u{1F5F3}',
'\u{1F5FA}',
'\u{1F6CB}',
'\u{1F6CD}',
'\u{1F6CE}',
'\u{1F6CF}',
'\u{1F6E0}',
'\u{1F6E1}',
'\u{1F6E2}',
'\u{1F6E3}',
'\u{1F6E4}',
'\u{1F6E5}',
'\u{1F6E9}',
'\u{1F6F0}',
'\u{1F6F3}',
];