github.com/iEvan-lhr/exciting-tool@v0.0.0-20230504054234-8e983f73cdd2/isprint.go (about) 1 package tools 2 3 // (434+132+95)*2 + (468)*4 = 3194 bytes 4 5 var isPrint16 = []uint16{ 6 0x0020, 0x007e, 7 0x00a1, 0x0377, 8 0x037a, 0x037f, 9 0x0384, 0x0556, 10 0x0559, 0x058a, 11 0x058d, 0x05c7, 12 0x05d0, 0x05ea, 13 0x05ef, 0x05f4, 14 0x0606, 0x061b, 15 0x061e, 0x070d, 16 0x0710, 0x074a, 17 0x074d, 0x07b1, 18 0x07c0, 0x07fa, 19 0x07fd, 0x082d, 20 0x0830, 0x085b, 21 0x085e, 0x086a, 22 0x08a0, 0x08c7, 23 0x08d3, 0x098c, 24 0x098f, 0x0990, 25 0x0993, 0x09b2, 26 0x09b6, 0x09b9, 27 0x09bc, 0x09c4, 28 0x09c7, 0x09c8, 29 0x09cb, 0x09ce, 30 0x09d7, 0x09d7, 31 0x09dc, 0x09e3, 32 0x09e6, 0x09fe, 33 0x0a01, 0x0a0a, 34 0x0a0f, 0x0a10, 35 0x0a13, 0x0a39, 36 0x0a3c, 0x0a42, 37 0x0a47, 0x0a48, 38 0x0a4b, 0x0a4d, 39 0x0a51, 0x0a51, 40 0x0a59, 0x0a5e, 41 0x0a66, 0x0a76, 42 0x0a81, 0x0ab9, 43 0x0abc, 0x0acd, 44 0x0ad0, 0x0ad0, 45 0x0ae0, 0x0ae3, 46 0x0ae6, 0x0af1, 47 0x0af9, 0x0b0c, 48 0x0b0f, 0x0b10, 49 0x0b13, 0x0b39, 50 0x0b3c, 0x0b44, 51 0x0b47, 0x0b48, 52 0x0b4b, 0x0b4d, 53 0x0b55, 0x0b57, 54 0x0b5c, 0x0b63, 55 0x0b66, 0x0b77, 56 0x0b82, 0x0b8a, 57 0x0b8e, 0x0b95, 58 0x0b99, 0x0b9f, 59 0x0ba3, 0x0ba4, 60 0x0ba8, 0x0baa, 61 0x0bae, 0x0bb9, 62 0x0bbe, 0x0bc2, 63 0x0bc6, 0x0bcd, 64 0x0bd0, 0x0bd0, 65 0x0bd7, 0x0bd7, 66 0x0be6, 0x0bfa, 67 0x0c00, 0x0c39, 68 0x0c3d, 0x0c4d, 69 0x0c55, 0x0c5a, 70 0x0c60, 0x0c63, 71 0x0c66, 0x0c6f, 72 0x0c77, 0x0cb9, 73 0x0cbc, 0x0ccd, 74 0x0cd5, 0x0cd6, 75 0x0cde, 0x0ce3, 76 0x0ce6, 0x0cf2, 77 0x0d00, 0x0d4f, 78 0x0d54, 0x0d63, 79 0x0d66, 0x0d96, 80 0x0d9a, 0x0dbd, 81 0x0dc0, 0x0dc6, 82 0x0dca, 0x0dca, 83 0x0dcf, 0x0ddf, 84 0x0de6, 0x0def, 85 0x0df2, 0x0df4, 86 0x0e01, 0x0e3a, 87 0x0e3f, 0x0e5b, 88 0x0e81, 0x0ebd, 89 0x0ec0, 0x0ecd, 90 0x0ed0, 0x0ed9, 91 0x0edc, 0x0edf, 92 0x0f00, 0x0f6c, 93 0x0f71, 0x0fda, 94 0x1000, 0x10c7, 95 0x10cd, 0x10cd, 96 0x10d0, 0x124d, 97 0x1250, 0x125d, 98 0x1260, 0x128d, 99 0x1290, 0x12b5, 100 0x12b8, 0x12c5, 101 0x12c8, 0x1315, 102 0x1318, 0x135a, 103 0x135d, 0x137c, 104 0x1380, 0x1399, 105 0x13a0, 0x13f5, 106 0x13f8, 0x13fd, 107 0x1400, 0x169c, 108 0x16a0, 0x16f8, 109 0x1700, 0x1714, 110 0x1720, 0x1736, 111 0x1740, 0x1753, 112 0x1760, 0x1773, 113 0x1780, 0x17dd, 114 0x17e0, 0x17e9, 115 0x17f0, 0x17f9, 116 0x1800, 0x180d, 117 0x1810, 0x1819, 118 0x1820, 0x1878, 119 0x1880, 0x18aa, 120 0x18b0, 0x18f5, 121 0x1900, 0x192b, 122 0x1930, 0x193b, 123 0x1940, 0x1940, 124 0x1944, 0x196d, 125 0x1970, 0x1974, 126 0x1980, 0x19ab, 127 0x19b0, 0x19c9, 128 0x19d0, 0x19da, 129 0x19de, 0x1a1b, 130 0x1a1e, 0x1a7c, 131 0x1a7f, 0x1a89, 132 0x1a90, 0x1a99, 133 0x1aa0, 0x1aad, 134 0x1ab0, 0x1ac0, 135 0x1b00, 0x1b4b, 136 0x1b50, 0x1b7c, 137 0x1b80, 0x1bf3, 138 0x1bfc, 0x1c37, 139 0x1c3b, 0x1c49, 140 0x1c4d, 0x1c88, 141 0x1c90, 0x1cba, 142 0x1cbd, 0x1cc7, 143 0x1cd0, 0x1cfa, 144 0x1d00, 0x1f15, 145 0x1f18, 0x1f1d, 146 0x1f20, 0x1f45, 147 0x1f48, 0x1f4d, 148 0x1f50, 0x1f7d, 149 0x1f80, 0x1fd3, 150 0x1fd6, 0x1fef, 151 0x1ff2, 0x1ffe, 152 0x2010, 0x2027, 153 0x2030, 0x205e, 154 0x2070, 0x2071, 155 0x2074, 0x209c, 156 0x20a0, 0x20bf, 157 0x20d0, 0x20f0, 158 0x2100, 0x218b, 159 0x2190, 0x2426, 160 0x2440, 0x244a, 161 0x2460, 0x2b73, 162 0x2b76, 0x2cf3, 163 0x2cf9, 0x2d27, 164 0x2d2d, 0x2d2d, 165 0x2d30, 0x2d67, 166 0x2d6f, 0x2d70, 167 0x2d7f, 0x2d96, 168 0x2da0, 0x2e52, 169 0x2e80, 0x2ef3, 170 0x2f00, 0x2fd5, 171 0x2ff0, 0x2ffb, 172 0x3001, 0x3096, 173 0x3099, 0x30ff, 174 0x3105, 0x31e3, 175 0x31f0, 0x9ffc, 176 0xa000, 0xa48c, 177 0xa490, 0xa4c6, 178 0xa4d0, 0xa62b, 179 0xa640, 0xa6f7, 180 0xa700, 0xa7bf, 181 0xa7c2, 0xa7ca, 182 0xa7f5, 0xa82c, 183 0xa830, 0xa839, 184 0xa840, 0xa877, 185 0xa880, 0xa8c5, 186 0xa8ce, 0xa8d9, 187 0xa8e0, 0xa953, 188 0xa95f, 0xa97c, 189 0xa980, 0xa9d9, 190 0xa9de, 0xaa36, 191 0xaa40, 0xaa4d, 192 0xaa50, 0xaa59, 193 0xaa5c, 0xaac2, 194 0xaadb, 0xaaf6, 195 0xab01, 0xab06, 196 0xab09, 0xab0e, 197 0xab11, 0xab16, 198 0xab20, 0xab6b, 199 0xab70, 0xabed, 200 0xabf0, 0xabf9, 201 0xac00, 0xd7a3, 202 0xd7b0, 0xd7c6, 203 0xd7cb, 0xd7fb, 204 0xf900, 0xfa6d, 205 0xfa70, 0xfad9, 206 0xfb00, 0xfb06, 207 0xfb13, 0xfb17, 208 0xfb1d, 0xfbc1, 209 0xfbd3, 0xfd3f, 210 0xfd50, 0xfd8f, 211 0xfd92, 0xfdc7, 212 0xfdf0, 0xfdfd, 213 0xfe00, 0xfe19, 214 0xfe20, 0xfe6b, 215 0xfe70, 0xfefc, 216 0xff01, 0xffbe, 217 0xffc2, 0xffc7, 218 0xffca, 0xffcf, 219 0xffd2, 0xffd7, 220 0xffda, 0xffdc, 221 0xffe0, 0xffee, 222 0xfffc, 0xfffd, 223 } 224 225 var isNotPrint16 = []uint16{ 226 0x00ad, 227 0x038b, 228 0x038d, 229 0x03a2, 230 0x0530, 231 0x0590, 232 0x06dd, 233 0x083f, 234 0x085f, 235 0x08b5, 236 0x08e2, 237 0x0984, 238 0x09a9, 239 0x09b1, 240 0x09de, 241 0x0a04, 242 0x0a29, 243 0x0a31, 244 0x0a34, 245 0x0a37, 246 0x0a3d, 247 0x0a5d, 248 0x0a84, 249 0x0a8e, 250 0x0a92, 251 0x0aa9, 252 0x0ab1, 253 0x0ab4, 254 0x0ac6, 255 0x0aca, 256 0x0b00, 257 0x0b04, 258 0x0b29, 259 0x0b31, 260 0x0b34, 261 0x0b5e, 262 0x0b84, 263 0x0b91, 264 0x0b9b, 265 0x0b9d, 266 0x0bc9, 267 0x0c0d, 268 0x0c11, 269 0x0c29, 270 0x0c45, 271 0x0c49, 272 0x0c57, 273 0x0c8d, 274 0x0c91, 275 0x0ca9, 276 0x0cb4, 277 0x0cc5, 278 0x0cc9, 279 0x0cdf, 280 0x0cf0, 281 0x0d0d, 282 0x0d11, 283 0x0d45, 284 0x0d49, 285 0x0d80, 286 0x0d84, 287 0x0db2, 288 0x0dbc, 289 0x0dd5, 290 0x0dd7, 291 0x0e83, 292 0x0e85, 293 0x0e8b, 294 0x0ea4, 295 0x0ea6, 296 0x0ec5, 297 0x0ec7, 298 0x0f48, 299 0x0f98, 300 0x0fbd, 301 0x0fcd, 302 0x10c6, 303 0x1249, 304 0x1257, 305 0x1259, 306 0x1289, 307 0x12b1, 308 0x12bf, 309 0x12c1, 310 0x12d7, 311 0x1311, 312 0x1680, 313 0x170d, 314 0x176d, 315 0x1771, 316 0x191f, 317 0x1a5f, 318 0x1dfa, 319 0x1f58, 320 0x1f5a, 321 0x1f5c, 322 0x1f5e, 323 0x1fb5, 324 0x1fc5, 325 0x1fdc, 326 0x1ff5, 327 0x208f, 328 0x2b96, 329 0x2c2f, 330 0x2c5f, 331 0x2d26, 332 0x2da7, 333 0x2daf, 334 0x2db7, 335 0x2dbf, 336 0x2dc7, 337 0x2dcf, 338 0x2dd7, 339 0x2ddf, 340 0x2e9a, 341 0x3040, 342 0x3130, 343 0x318f, 344 0x321f, 345 0xa9ce, 346 0xa9ff, 347 0xab27, 348 0xab2f, 349 0xfb37, 350 0xfb3d, 351 0xfb3f, 352 0xfb42, 353 0xfb45, 354 0xfe53, 355 0xfe67, 356 0xfe75, 357 0xffe7, 358 } 359 360 var isPrint32 = []uint32{ 361 0x010000, 0x01004d, 362 0x010050, 0x01005d, 363 0x010080, 0x0100fa, 364 0x010100, 0x010102, 365 0x010107, 0x010133, 366 0x010137, 0x01019c, 367 0x0101a0, 0x0101a0, 368 0x0101d0, 0x0101fd, 369 0x010280, 0x01029c, 370 0x0102a0, 0x0102d0, 371 0x0102e0, 0x0102fb, 372 0x010300, 0x010323, 373 0x01032d, 0x01034a, 374 0x010350, 0x01037a, 375 0x010380, 0x0103c3, 376 0x0103c8, 0x0103d5, 377 0x010400, 0x01049d, 378 0x0104a0, 0x0104a9, 379 0x0104b0, 0x0104d3, 380 0x0104d8, 0x0104fb, 381 0x010500, 0x010527, 382 0x010530, 0x010563, 383 0x01056f, 0x01056f, 384 0x010600, 0x010736, 385 0x010740, 0x010755, 386 0x010760, 0x010767, 387 0x010800, 0x010805, 388 0x010808, 0x010838, 389 0x01083c, 0x01083c, 390 0x01083f, 0x01089e, 391 0x0108a7, 0x0108af, 392 0x0108e0, 0x0108f5, 393 0x0108fb, 0x01091b, 394 0x01091f, 0x010939, 395 0x01093f, 0x01093f, 396 0x010980, 0x0109b7, 397 0x0109bc, 0x0109cf, 398 0x0109d2, 0x010a06, 399 0x010a0c, 0x010a35, 400 0x010a38, 0x010a3a, 401 0x010a3f, 0x010a48, 402 0x010a50, 0x010a58, 403 0x010a60, 0x010a9f, 404 0x010ac0, 0x010ae6, 405 0x010aeb, 0x010af6, 406 0x010b00, 0x010b35, 407 0x010b39, 0x010b55, 408 0x010b58, 0x010b72, 409 0x010b78, 0x010b91, 410 0x010b99, 0x010b9c, 411 0x010ba9, 0x010baf, 412 0x010c00, 0x010c48, 413 0x010c80, 0x010cb2, 414 0x010cc0, 0x010cf2, 415 0x010cfa, 0x010d27, 416 0x010d30, 0x010d39, 417 0x010e60, 0x010ead, 418 0x010eb0, 0x010eb1, 419 0x010f00, 0x010f27, 420 0x010f30, 0x010f59, 421 0x010fb0, 0x010fcb, 422 0x010fe0, 0x010ff6, 423 0x011000, 0x01104d, 424 0x011052, 0x01106f, 425 0x01107f, 0x0110c1, 426 0x0110d0, 0x0110e8, 427 0x0110f0, 0x0110f9, 428 0x011100, 0x011147, 429 0x011150, 0x011176, 430 0x011180, 0x0111f4, 431 0x011200, 0x01123e, 432 0x011280, 0x0112a9, 433 0x0112b0, 0x0112ea, 434 0x0112f0, 0x0112f9, 435 0x011300, 0x01130c, 436 0x01130f, 0x011310, 437 0x011313, 0x011344, 438 0x011347, 0x011348, 439 0x01134b, 0x01134d, 440 0x011350, 0x011350, 441 0x011357, 0x011357, 442 0x01135d, 0x011363, 443 0x011366, 0x01136c, 444 0x011370, 0x011374, 445 0x011400, 0x011461, 446 0x011480, 0x0114c7, 447 0x0114d0, 0x0114d9, 448 0x011580, 0x0115b5, 449 0x0115b8, 0x0115dd, 450 0x011600, 0x011644, 451 0x011650, 0x011659, 452 0x011660, 0x01166c, 453 0x011680, 0x0116b8, 454 0x0116c0, 0x0116c9, 455 0x011700, 0x01171a, 456 0x01171d, 0x01172b, 457 0x011730, 0x01173f, 458 0x011800, 0x01183b, 459 0x0118a0, 0x0118f2, 460 0x0118ff, 0x011906, 461 0x011909, 0x011909, 462 0x01190c, 0x011938, 463 0x01193b, 0x011946, 464 0x011950, 0x011959, 465 0x0119a0, 0x0119a7, 466 0x0119aa, 0x0119d7, 467 0x0119da, 0x0119e4, 468 0x011a00, 0x011a47, 469 0x011a50, 0x011aa2, 470 0x011ac0, 0x011af8, 471 0x011c00, 0x011c45, 472 0x011c50, 0x011c6c, 473 0x011c70, 0x011c8f, 474 0x011c92, 0x011cb6, 475 0x011d00, 0x011d36, 476 0x011d3a, 0x011d47, 477 0x011d50, 0x011d59, 478 0x011d60, 0x011d98, 479 0x011da0, 0x011da9, 480 0x011ee0, 0x011ef8, 481 0x011fb0, 0x011fb0, 482 0x011fc0, 0x011ff1, 483 0x011fff, 0x012399, 484 0x012400, 0x012474, 485 0x012480, 0x012543, 486 0x013000, 0x01342e, 487 0x014400, 0x014646, 488 0x016800, 0x016a38, 489 0x016a40, 0x016a69, 490 0x016a6e, 0x016a6f, 491 0x016ad0, 0x016aed, 492 0x016af0, 0x016af5, 493 0x016b00, 0x016b45, 494 0x016b50, 0x016b77, 495 0x016b7d, 0x016b8f, 496 0x016e40, 0x016e9a, 497 0x016f00, 0x016f4a, 498 0x016f4f, 0x016f87, 499 0x016f8f, 0x016f9f, 500 0x016fe0, 0x016fe4, 501 0x016ff0, 0x016ff1, 502 0x017000, 0x0187f7, 503 0x018800, 0x018cd5, 504 0x018d00, 0x018d08, 505 0x01b000, 0x01b11e, 506 0x01b150, 0x01b152, 507 0x01b164, 0x01b167, 508 0x01b170, 0x01b2fb, 509 0x01bc00, 0x01bc6a, 510 0x01bc70, 0x01bc7c, 511 0x01bc80, 0x01bc88, 512 0x01bc90, 0x01bc99, 513 0x01bc9c, 0x01bc9f, 514 0x01d000, 0x01d0f5, 515 0x01d100, 0x01d126, 516 0x01d129, 0x01d172, 517 0x01d17b, 0x01d1e8, 518 0x01d200, 0x01d245, 519 0x01d2e0, 0x01d2f3, 520 0x01d300, 0x01d356, 521 0x01d360, 0x01d378, 522 0x01d400, 0x01d49f, 523 0x01d4a2, 0x01d4a2, 524 0x01d4a5, 0x01d4a6, 525 0x01d4a9, 0x01d50a, 526 0x01d50d, 0x01d546, 527 0x01d54a, 0x01d6a5, 528 0x01d6a8, 0x01d7cb, 529 0x01d7ce, 0x01da8b, 530 0x01da9b, 0x01daaf, 531 0x01e000, 0x01e018, 532 0x01e01b, 0x01e02a, 533 0x01e100, 0x01e12c, 534 0x01e130, 0x01e13d, 535 0x01e140, 0x01e149, 536 0x01e14e, 0x01e14f, 537 0x01e2c0, 0x01e2f9, 538 0x01e2ff, 0x01e2ff, 539 0x01e800, 0x01e8c4, 540 0x01e8c7, 0x01e8d6, 541 0x01e900, 0x01e94b, 542 0x01e950, 0x01e959, 543 0x01e95e, 0x01e95f, 544 0x01ec71, 0x01ecb4, 545 0x01ed01, 0x01ed3d, 546 0x01ee00, 0x01ee24, 547 0x01ee27, 0x01ee3b, 548 0x01ee42, 0x01ee42, 549 0x01ee47, 0x01ee54, 550 0x01ee57, 0x01ee64, 551 0x01ee67, 0x01ee9b, 552 0x01eea1, 0x01eebb, 553 0x01eef0, 0x01eef1, 554 0x01f000, 0x01f02b, 555 0x01f030, 0x01f093, 556 0x01f0a0, 0x01f0ae, 557 0x01f0b1, 0x01f0f5, 558 0x01f100, 0x01f1ad, 559 0x01f1e6, 0x01f202, 560 0x01f210, 0x01f23b, 561 0x01f240, 0x01f248, 562 0x01f250, 0x01f251, 563 0x01f260, 0x01f265, 564 0x01f300, 0x01f6d7, 565 0x01f6e0, 0x01f6ec, 566 0x01f6f0, 0x01f6fc, 567 0x01f700, 0x01f773, 568 0x01f780, 0x01f7d8, 569 0x01f7e0, 0x01f7eb, 570 0x01f800, 0x01f80b, 571 0x01f810, 0x01f847, 572 0x01f850, 0x01f859, 573 0x01f860, 0x01f887, 574 0x01f890, 0x01f8ad, 575 0x01f8b0, 0x01f8b1, 576 0x01f900, 0x01fa53, 577 0x01fa60, 0x01fa6d, 578 0x01fa70, 0x01fa74, 579 0x01fa78, 0x01fa7a, 580 0x01fa80, 0x01fa86, 581 0x01fa90, 0x01faa8, 582 0x01fab0, 0x01fab6, 583 0x01fac0, 0x01fac2, 584 0x01fad0, 0x01fad6, 585 0x01fb00, 0x01fbca, 586 0x01fbf0, 0x01fbf9, 587 0x020000, 0x02a6dd, 588 0x02a700, 0x02b734, 589 0x02b740, 0x02b81d, 590 0x02b820, 0x02cea1, 591 0x02ceb0, 0x02ebe0, 592 0x02f800, 0x02fa1d, 593 0x030000, 0x03134a, 594 0x0e0100, 0x0e01ef, 595 } 596 597 var isNotPrint32 = []uint16{ // add 0x10000 to each entry 598 0x000c, 599 0x0027, 600 0x003b, 601 0x003e, 602 0x018f, 603 0x039e, 604 0x0809, 605 0x0836, 606 0x0856, 607 0x08f3, 608 0x0a04, 609 0x0a14, 610 0x0a18, 611 0x0e7f, 612 0x0eaa, 613 0x10bd, 614 0x1135, 615 0x11e0, 616 0x1212, 617 0x1287, 618 0x1289, 619 0x128e, 620 0x129e, 621 0x1304, 622 0x1329, 623 0x1331, 624 0x1334, 625 0x133a, 626 0x145c, 627 0x1914, 628 0x1917, 629 0x1936, 630 0x1c09, 631 0x1c37, 632 0x1ca8, 633 0x1d07, 634 0x1d0a, 635 0x1d3b, 636 0x1d3e, 637 0x1d66, 638 0x1d69, 639 0x1d8f, 640 0x1d92, 641 0x246f, 642 0x6a5f, 643 0x6b5a, 644 0x6b62, 645 0xd455, 646 0xd49d, 647 0xd4ad, 648 0xd4ba, 649 0xd4bc, 650 0xd4c4, 651 0xd506, 652 0xd515, 653 0xd51d, 654 0xd53a, 655 0xd53f, 656 0xd545, 657 0xd551, 658 0xdaa0, 659 0xe007, 660 0xe022, 661 0xe025, 662 0xee04, 663 0xee20, 664 0xee23, 665 0xee28, 666 0xee33, 667 0xee38, 668 0xee3a, 669 0xee48, 670 0xee4a, 671 0xee4c, 672 0xee50, 673 0xee53, 674 0xee58, 675 0xee5a, 676 0xee5c, 677 0xee5e, 678 0xee60, 679 0xee63, 680 0xee6b, 681 0xee73, 682 0xee78, 683 0xee7d, 684 0xee7f, 685 0xee8a, 686 0xeea4, 687 0xeeaa, 688 0xf0c0, 689 0xf0d0, 690 0xf979, 691 0xf9cc, 692 0xfb93, 693 } 694 695 // isGraphic lists the graphic runes not matched by IsPrint. 696 var isGraphic = []uint16{ 697 0x00a0, 698 0x1680, 699 0x2000, 700 0x2001, 701 0x2002, 702 0x2003, 703 0x2004, 704 0x2005, 705 0x2006, 706 0x2007, 707 0x2008, 708 0x2009, 709 0x200a, 710 0x202f, 711 0x205f, 712 0x3000, 713 }