Git fork
at reftables-rust 503 lines 10 kB view raw
1static const struct interval zero_width[] = { 2{ 0x0300, 0x036F }, 3{ 0x0483, 0x0489 }, 4{ 0x0591, 0x05BD }, 5{ 0x05BF, 0x05BF }, 6{ 0x05C1, 0x05C2 }, 7{ 0x05C4, 0x05C5 }, 8{ 0x05C7, 0x05C7 }, 9{ 0x0600, 0x0605 }, 10{ 0x0610, 0x061A }, 11{ 0x061C, 0x061C }, 12{ 0x064B, 0x065F }, 13{ 0x0670, 0x0670 }, 14{ 0x06D6, 0x06DD }, 15{ 0x06DF, 0x06E4 }, 16{ 0x06E7, 0x06E8 }, 17{ 0x06EA, 0x06ED }, 18{ 0x070F, 0x070F }, 19{ 0x0711, 0x0711 }, 20{ 0x0730, 0x074A }, 21{ 0x07A6, 0x07B0 }, 22{ 0x07EB, 0x07F3 }, 23{ 0x07FD, 0x07FD }, 24{ 0x0816, 0x0819 }, 25{ 0x081B, 0x0823 }, 26{ 0x0825, 0x0827 }, 27{ 0x0829, 0x082D }, 28{ 0x0859, 0x085B }, 29{ 0x0890, 0x0891 }, 30{ 0x0897, 0x089F }, 31{ 0x08CA, 0x0902 }, 32{ 0x093A, 0x093A }, 33{ 0x093C, 0x093C }, 34{ 0x0941, 0x0948 }, 35{ 0x094D, 0x094D }, 36{ 0x0951, 0x0957 }, 37{ 0x0962, 0x0963 }, 38{ 0x0981, 0x0981 }, 39{ 0x09BC, 0x09BC }, 40{ 0x09C1, 0x09C4 }, 41{ 0x09CD, 0x09CD }, 42{ 0x09E2, 0x09E3 }, 43{ 0x09FE, 0x09FE }, 44{ 0x0A01, 0x0A02 }, 45{ 0x0A3C, 0x0A3C }, 46{ 0x0A41, 0x0A42 }, 47{ 0x0A47, 0x0A48 }, 48{ 0x0A4B, 0x0A4D }, 49{ 0x0A51, 0x0A51 }, 50{ 0x0A70, 0x0A71 }, 51{ 0x0A75, 0x0A75 }, 52{ 0x0A81, 0x0A82 }, 53{ 0x0ABC, 0x0ABC }, 54{ 0x0AC1, 0x0AC5 }, 55{ 0x0AC7, 0x0AC8 }, 56{ 0x0ACD, 0x0ACD }, 57{ 0x0AE2, 0x0AE3 }, 58{ 0x0AFA, 0x0AFF }, 59{ 0x0B01, 0x0B01 }, 60{ 0x0B3C, 0x0B3C }, 61{ 0x0B3F, 0x0B3F }, 62{ 0x0B41, 0x0B44 }, 63{ 0x0B4D, 0x0B4D }, 64{ 0x0B55, 0x0B56 }, 65{ 0x0B62, 0x0B63 }, 66{ 0x0B82, 0x0B82 }, 67{ 0x0BC0, 0x0BC0 }, 68{ 0x0BCD, 0x0BCD }, 69{ 0x0C00, 0x0C00 }, 70{ 0x0C04, 0x0C04 }, 71{ 0x0C3C, 0x0C3C }, 72{ 0x0C3E, 0x0C40 }, 73{ 0x0C46, 0x0C48 }, 74{ 0x0C4A, 0x0C4D }, 75{ 0x0C55, 0x0C56 }, 76{ 0x0C62, 0x0C63 }, 77{ 0x0C81, 0x0C81 }, 78{ 0x0CBC, 0x0CBC }, 79{ 0x0CBF, 0x0CBF }, 80{ 0x0CC6, 0x0CC6 }, 81{ 0x0CCC, 0x0CCD }, 82{ 0x0CE2, 0x0CE3 }, 83{ 0x0D00, 0x0D01 }, 84{ 0x0D3B, 0x0D3C }, 85{ 0x0D41, 0x0D44 }, 86{ 0x0D4D, 0x0D4D }, 87{ 0x0D62, 0x0D63 }, 88{ 0x0D81, 0x0D81 }, 89{ 0x0DCA, 0x0DCA }, 90{ 0x0DD2, 0x0DD4 }, 91{ 0x0DD6, 0x0DD6 }, 92{ 0x0E31, 0x0E31 }, 93{ 0x0E34, 0x0E3A }, 94{ 0x0E47, 0x0E4E }, 95{ 0x0EB1, 0x0EB1 }, 96{ 0x0EB4, 0x0EBC }, 97{ 0x0EC8, 0x0ECE }, 98{ 0x0F18, 0x0F19 }, 99{ 0x0F35, 0x0F35 }, 100{ 0x0F37, 0x0F37 }, 101{ 0x0F39, 0x0F39 }, 102{ 0x0F71, 0x0F7E }, 103{ 0x0F80, 0x0F84 }, 104{ 0x0F86, 0x0F87 }, 105{ 0x0F8D, 0x0F97 }, 106{ 0x0F99, 0x0FBC }, 107{ 0x0FC6, 0x0FC6 }, 108{ 0x102D, 0x1030 }, 109{ 0x1032, 0x1037 }, 110{ 0x1039, 0x103A }, 111{ 0x103D, 0x103E }, 112{ 0x1058, 0x1059 }, 113{ 0x105E, 0x1060 }, 114{ 0x1071, 0x1074 }, 115{ 0x1082, 0x1082 }, 116{ 0x1085, 0x1086 }, 117{ 0x108D, 0x108D }, 118{ 0x109D, 0x109D }, 119{ 0x1160, 0x11FF }, 120{ 0x135D, 0x135F }, 121{ 0x1712, 0x1714 }, 122{ 0x1732, 0x1733 }, 123{ 0x1752, 0x1753 }, 124{ 0x1772, 0x1773 }, 125{ 0x17B4, 0x17B5 }, 126{ 0x17B7, 0x17BD }, 127{ 0x17C6, 0x17C6 }, 128{ 0x17C9, 0x17D3 }, 129{ 0x17DD, 0x17DD }, 130{ 0x180B, 0x180F }, 131{ 0x1885, 0x1886 }, 132{ 0x18A9, 0x18A9 }, 133{ 0x1920, 0x1922 }, 134{ 0x1927, 0x1928 }, 135{ 0x1932, 0x1932 }, 136{ 0x1939, 0x193B }, 137{ 0x1A17, 0x1A18 }, 138{ 0x1A1B, 0x1A1B }, 139{ 0x1A56, 0x1A56 }, 140{ 0x1A58, 0x1A5E }, 141{ 0x1A60, 0x1A60 }, 142{ 0x1A62, 0x1A62 }, 143{ 0x1A65, 0x1A6C }, 144{ 0x1A73, 0x1A7C }, 145{ 0x1A7F, 0x1A7F }, 146{ 0x1AB0, 0x1ADD }, 147{ 0x1AE0, 0x1AEB }, 148{ 0x1B00, 0x1B03 }, 149{ 0x1B34, 0x1B34 }, 150{ 0x1B36, 0x1B3A }, 151{ 0x1B3C, 0x1B3C }, 152{ 0x1B42, 0x1B42 }, 153{ 0x1B6B, 0x1B73 }, 154{ 0x1B80, 0x1B81 }, 155{ 0x1BA2, 0x1BA5 }, 156{ 0x1BA8, 0x1BA9 }, 157{ 0x1BAB, 0x1BAD }, 158{ 0x1BE6, 0x1BE6 }, 159{ 0x1BE8, 0x1BE9 }, 160{ 0x1BED, 0x1BED }, 161{ 0x1BEF, 0x1BF1 }, 162{ 0x1C2C, 0x1C33 }, 163{ 0x1C36, 0x1C37 }, 164{ 0x1CD0, 0x1CD2 }, 165{ 0x1CD4, 0x1CE0 }, 166{ 0x1CE2, 0x1CE8 }, 167{ 0x1CED, 0x1CED }, 168{ 0x1CF4, 0x1CF4 }, 169{ 0x1CF8, 0x1CF9 }, 170{ 0x1DC0, 0x1DFF }, 171{ 0x200B, 0x200F }, 172{ 0x202A, 0x202E }, 173{ 0x2060, 0x2064 }, 174{ 0x2066, 0x206F }, 175{ 0x20D0, 0x20F0 }, 176{ 0x2CEF, 0x2CF1 }, 177{ 0x2D7F, 0x2D7F }, 178{ 0x2DE0, 0x2DFF }, 179{ 0x302A, 0x302D }, 180{ 0x3099, 0x309A }, 181{ 0xA66F, 0xA672 }, 182{ 0xA674, 0xA67D }, 183{ 0xA69E, 0xA69F }, 184{ 0xA6F0, 0xA6F1 }, 185{ 0xA802, 0xA802 }, 186{ 0xA806, 0xA806 }, 187{ 0xA80B, 0xA80B }, 188{ 0xA825, 0xA826 }, 189{ 0xA82C, 0xA82C }, 190{ 0xA8C4, 0xA8C5 }, 191{ 0xA8E0, 0xA8F1 }, 192{ 0xA8FF, 0xA8FF }, 193{ 0xA926, 0xA92D }, 194{ 0xA947, 0xA951 }, 195{ 0xA980, 0xA982 }, 196{ 0xA9B3, 0xA9B3 }, 197{ 0xA9B6, 0xA9B9 }, 198{ 0xA9BC, 0xA9BD }, 199{ 0xA9E5, 0xA9E5 }, 200{ 0xAA29, 0xAA2E }, 201{ 0xAA31, 0xAA32 }, 202{ 0xAA35, 0xAA36 }, 203{ 0xAA43, 0xAA43 }, 204{ 0xAA4C, 0xAA4C }, 205{ 0xAA7C, 0xAA7C }, 206{ 0xAAB0, 0xAAB0 }, 207{ 0xAAB2, 0xAAB4 }, 208{ 0xAAB7, 0xAAB8 }, 209{ 0xAABE, 0xAABF }, 210{ 0xAAC1, 0xAAC1 }, 211{ 0xAAEC, 0xAAED }, 212{ 0xAAF6, 0xAAF6 }, 213{ 0xABE5, 0xABE5 }, 214{ 0xABE8, 0xABE8 }, 215{ 0xABED, 0xABED }, 216{ 0xFB1E, 0xFB1E }, 217{ 0xFE00, 0xFE0F }, 218{ 0xFE20, 0xFE2F }, 219{ 0xFEFF, 0xFEFF }, 220{ 0xFFF9, 0xFFFB }, 221{ 0x101FD, 0x101FD }, 222{ 0x102E0, 0x102E0 }, 223{ 0x10376, 0x1037A }, 224{ 0x10A01, 0x10A03 }, 225{ 0x10A05, 0x10A06 }, 226{ 0x10A0C, 0x10A0F }, 227{ 0x10A38, 0x10A3A }, 228{ 0x10A3F, 0x10A3F }, 229{ 0x10AE5, 0x10AE6 }, 230{ 0x10D24, 0x10D27 }, 231{ 0x10D69, 0x10D6D }, 232{ 0x10EAB, 0x10EAC }, 233{ 0x10EFA, 0x10EFF }, 234{ 0x10F46, 0x10F50 }, 235{ 0x10F82, 0x10F85 }, 236{ 0x11001, 0x11001 }, 237{ 0x11038, 0x11046 }, 238{ 0x11070, 0x11070 }, 239{ 0x11073, 0x11074 }, 240{ 0x1107F, 0x11081 }, 241{ 0x110B3, 0x110B6 }, 242{ 0x110B9, 0x110BA }, 243{ 0x110BD, 0x110BD }, 244{ 0x110C2, 0x110C2 }, 245{ 0x110CD, 0x110CD }, 246{ 0x11100, 0x11102 }, 247{ 0x11127, 0x1112B }, 248{ 0x1112D, 0x11134 }, 249{ 0x11173, 0x11173 }, 250{ 0x11180, 0x11181 }, 251{ 0x111B6, 0x111BE }, 252{ 0x111C9, 0x111CC }, 253{ 0x111CF, 0x111CF }, 254{ 0x1122F, 0x11231 }, 255{ 0x11234, 0x11234 }, 256{ 0x11236, 0x11237 }, 257{ 0x1123E, 0x1123E }, 258{ 0x11241, 0x11241 }, 259{ 0x112DF, 0x112DF }, 260{ 0x112E3, 0x112EA }, 261{ 0x11300, 0x11301 }, 262{ 0x1133B, 0x1133C }, 263{ 0x11340, 0x11340 }, 264{ 0x11366, 0x1136C }, 265{ 0x11370, 0x11374 }, 266{ 0x113BB, 0x113C0 }, 267{ 0x113CE, 0x113CE }, 268{ 0x113D0, 0x113D0 }, 269{ 0x113D2, 0x113D2 }, 270{ 0x113E1, 0x113E2 }, 271{ 0x11438, 0x1143F }, 272{ 0x11442, 0x11444 }, 273{ 0x11446, 0x11446 }, 274{ 0x1145E, 0x1145E }, 275{ 0x114B3, 0x114B8 }, 276{ 0x114BA, 0x114BA }, 277{ 0x114BF, 0x114C0 }, 278{ 0x114C2, 0x114C3 }, 279{ 0x115B2, 0x115B5 }, 280{ 0x115BC, 0x115BD }, 281{ 0x115BF, 0x115C0 }, 282{ 0x115DC, 0x115DD }, 283{ 0x11633, 0x1163A }, 284{ 0x1163D, 0x1163D }, 285{ 0x1163F, 0x11640 }, 286{ 0x116AB, 0x116AB }, 287{ 0x116AD, 0x116AD }, 288{ 0x116B0, 0x116B5 }, 289{ 0x116B7, 0x116B7 }, 290{ 0x1171D, 0x1171D }, 291{ 0x1171F, 0x1171F }, 292{ 0x11722, 0x11725 }, 293{ 0x11727, 0x1172B }, 294{ 0x1182F, 0x11837 }, 295{ 0x11839, 0x1183A }, 296{ 0x1193B, 0x1193C }, 297{ 0x1193E, 0x1193E }, 298{ 0x11943, 0x11943 }, 299{ 0x119D4, 0x119D7 }, 300{ 0x119DA, 0x119DB }, 301{ 0x119E0, 0x119E0 }, 302{ 0x11A01, 0x11A0A }, 303{ 0x11A33, 0x11A38 }, 304{ 0x11A3B, 0x11A3E }, 305{ 0x11A47, 0x11A47 }, 306{ 0x11A51, 0x11A56 }, 307{ 0x11A59, 0x11A5B }, 308{ 0x11A8A, 0x11A96 }, 309{ 0x11A98, 0x11A99 }, 310{ 0x11B60, 0x11B60 }, 311{ 0x11B62, 0x11B64 }, 312{ 0x11B66, 0x11B66 }, 313{ 0x11C30, 0x11C36 }, 314{ 0x11C38, 0x11C3D }, 315{ 0x11C3F, 0x11C3F }, 316{ 0x11C92, 0x11CA7 }, 317{ 0x11CAA, 0x11CB0 }, 318{ 0x11CB2, 0x11CB3 }, 319{ 0x11CB5, 0x11CB6 }, 320{ 0x11D31, 0x11D36 }, 321{ 0x11D3A, 0x11D3A }, 322{ 0x11D3C, 0x11D3D }, 323{ 0x11D3F, 0x11D45 }, 324{ 0x11D47, 0x11D47 }, 325{ 0x11D90, 0x11D91 }, 326{ 0x11D95, 0x11D95 }, 327{ 0x11D97, 0x11D97 }, 328{ 0x11EF3, 0x11EF4 }, 329{ 0x11F00, 0x11F01 }, 330{ 0x11F36, 0x11F3A }, 331{ 0x11F40, 0x11F40 }, 332{ 0x11F42, 0x11F42 }, 333{ 0x11F5A, 0x11F5A }, 334{ 0x13430, 0x13440 }, 335{ 0x13447, 0x13455 }, 336{ 0x1611E, 0x16129 }, 337{ 0x1612D, 0x1612F }, 338{ 0x16AF0, 0x16AF4 }, 339{ 0x16B30, 0x16B36 }, 340{ 0x16F4F, 0x16F4F }, 341{ 0x16F8F, 0x16F92 }, 342{ 0x16FE4, 0x16FE4 }, 343{ 0x1BC9D, 0x1BC9E }, 344{ 0x1BCA0, 0x1BCA3 }, 345{ 0x1CF00, 0x1CF2D }, 346{ 0x1CF30, 0x1CF46 }, 347{ 0x1D167, 0x1D169 }, 348{ 0x1D173, 0x1D182 }, 349{ 0x1D185, 0x1D18B }, 350{ 0x1D1AA, 0x1D1AD }, 351{ 0x1D242, 0x1D244 }, 352{ 0x1DA00, 0x1DA36 }, 353{ 0x1DA3B, 0x1DA6C }, 354{ 0x1DA75, 0x1DA75 }, 355{ 0x1DA84, 0x1DA84 }, 356{ 0x1DA9B, 0x1DA9F }, 357{ 0x1DAA1, 0x1DAAF }, 358{ 0x1E000, 0x1E006 }, 359{ 0x1E008, 0x1E018 }, 360{ 0x1E01B, 0x1E021 }, 361{ 0x1E023, 0x1E024 }, 362{ 0x1E026, 0x1E02A }, 363{ 0x1E08F, 0x1E08F }, 364{ 0x1E130, 0x1E136 }, 365{ 0x1E2AE, 0x1E2AE }, 366{ 0x1E2EC, 0x1E2EF }, 367{ 0x1E4EC, 0x1E4EF }, 368{ 0x1E5EE, 0x1E5EF }, 369{ 0x1E6E3, 0x1E6E3 }, 370{ 0x1E6E6, 0x1E6E6 }, 371{ 0x1E6EE, 0x1E6EF }, 372{ 0x1E6F5, 0x1E6F5 }, 373{ 0x1E8D0, 0x1E8D6 }, 374{ 0x1E944, 0x1E94A }, 375{ 0xE0001, 0xE0001 }, 376{ 0xE0020, 0xE007F }, 377{ 0xE0100, 0xE01EF } 378}; 379static const struct interval double_width[] = { 380{ 0x1100, 0x115F }, 381{ 0x231A, 0x231B }, 382{ 0x2329, 0x232A }, 383{ 0x23E9, 0x23EC }, 384{ 0x23F0, 0x23F0 }, 385{ 0x23F3, 0x23F3 }, 386{ 0x25FD, 0x25FE }, 387{ 0x2614, 0x2615 }, 388{ 0x2630, 0x2637 }, 389{ 0x2648, 0x2653 }, 390{ 0x267F, 0x267F }, 391{ 0x268A, 0x268F }, 392{ 0x2693, 0x2693 }, 393{ 0x26A1, 0x26A1 }, 394{ 0x26AA, 0x26AB }, 395{ 0x26BD, 0x26BE }, 396{ 0x26C4, 0x26C5 }, 397{ 0x26CE, 0x26CE }, 398{ 0x26D4, 0x26D4 }, 399{ 0x26EA, 0x26EA }, 400{ 0x26F2, 0x26F3 }, 401{ 0x26F5, 0x26F5 }, 402{ 0x26FA, 0x26FA }, 403{ 0x26FD, 0x26FD }, 404{ 0x2705, 0x2705 }, 405{ 0x270A, 0x270B }, 406{ 0x2728, 0x2728 }, 407{ 0x274C, 0x274C }, 408{ 0x274E, 0x274E }, 409{ 0x2753, 0x2755 }, 410{ 0x2757, 0x2757 }, 411{ 0x2795, 0x2797 }, 412{ 0x27B0, 0x27B0 }, 413{ 0x27BF, 0x27BF }, 414{ 0x2B1B, 0x2B1C }, 415{ 0x2B50, 0x2B50 }, 416{ 0x2B55, 0x2B55 }, 417{ 0x2E80, 0x2E99 }, 418{ 0x2E9B, 0x2EF3 }, 419{ 0x2F00, 0x2FD5 }, 420{ 0x2FF0, 0x303E }, 421{ 0x3041, 0x3096 }, 422{ 0x3099, 0x30FF }, 423{ 0x3105, 0x312F }, 424{ 0x3131, 0x318E }, 425{ 0x3190, 0x31E5 }, 426{ 0x31EF, 0x321E }, 427{ 0x3220, 0x3247 }, 428{ 0x3250, 0xA48C }, 429{ 0xA490, 0xA4C6 }, 430{ 0xA960, 0xA97C }, 431{ 0xAC00, 0xD7A3 }, 432{ 0xF900, 0xFAFF }, 433{ 0xFE10, 0xFE19 }, 434{ 0xFE30, 0xFE52 }, 435{ 0xFE54, 0xFE66 }, 436{ 0xFE68, 0xFE6B }, 437{ 0xFF01, 0xFF60 }, 438{ 0xFFE0, 0xFFE6 }, 439{ 0x16FE0, 0x16FE4 }, 440{ 0x16FF0, 0x16FF6 }, 441{ 0x17000, 0x18CD5 }, 442{ 0x18CFF, 0x18D1E }, 443{ 0x18D80, 0x18DF2 }, 444{ 0x1AFF0, 0x1AFF3 }, 445{ 0x1AFF5, 0x1AFFB }, 446{ 0x1AFFD, 0x1AFFE }, 447{ 0x1B000, 0x1B122 }, 448{ 0x1B132, 0x1B132 }, 449{ 0x1B150, 0x1B152 }, 450{ 0x1B155, 0x1B155 }, 451{ 0x1B164, 0x1B167 }, 452{ 0x1B170, 0x1B2FB }, 453{ 0x1D300, 0x1D356 }, 454{ 0x1D360, 0x1D376 }, 455{ 0x1F004, 0x1F004 }, 456{ 0x1F0CF, 0x1F0CF }, 457{ 0x1F18E, 0x1F18E }, 458{ 0x1F191, 0x1F19A }, 459{ 0x1F200, 0x1F202 }, 460{ 0x1F210, 0x1F23B }, 461{ 0x1F240, 0x1F248 }, 462{ 0x1F250, 0x1F251 }, 463{ 0x1F260, 0x1F265 }, 464{ 0x1F300, 0x1F320 }, 465{ 0x1F32D, 0x1F335 }, 466{ 0x1F337, 0x1F37C }, 467{ 0x1F37E, 0x1F393 }, 468{ 0x1F3A0, 0x1F3CA }, 469{ 0x1F3CF, 0x1F3D3 }, 470{ 0x1F3E0, 0x1F3F0 }, 471{ 0x1F3F4, 0x1F3F4 }, 472{ 0x1F3F8, 0x1F43E }, 473{ 0x1F440, 0x1F440 }, 474{ 0x1F442, 0x1F4FC }, 475{ 0x1F4FF, 0x1F53D }, 476{ 0x1F54B, 0x1F54E }, 477{ 0x1F550, 0x1F567 }, 478{ 0x1F57A, 0x1F57A }, 479{ 0x1F595, 0x1F596 }, 480{ 0x1F5A4, 0x1F5A4 }, 481{ 0x1F5FB, 0x1F64F }, 482{ 0x1F680, 0x1F6C5 }, 483{ 0x1F6CC, 0x1F6CC }, 484{ 0x1F6D0, 0x1F6D2 }, 485{ 0x1F6D5, 0x1F6D8 }, 486{ 0x1F6DC, 0x1F6DF }, 487{ 0x1F6EB, 0x1F6EC }, 488{ 0x1F6F4, 0x1F6FC }, 489{ 0x1F7E0, 0x1F7EB }, 490{ 0x1F7F0, 0x1F7F0 }, 491{ 0x1F90C, 0x1F93A }, 492{ 0x1F93C, 0x1F945 }, 493{ 0x1F947, 0x1F9FF }, 494{ 0x1FA70, 0x1FA7C }, 495{ 0x1FA80, 0x1FA8A }, 496{ 0x1FA8E, 0x1FAC6 }, 497{ 0x1FAC8, 0x1FAC8 }, 498{ 0x1FACD, 0x1FADC }, 499{ 0x1FADF, 0x1FAEA }, 500{ 0x1FAEF, 0x1FAF8 }, 501{ 0x20000, 0x2FFFD }, 502{ 0x30000, 0x3FFFD } 503};