This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/mk_invlists.pl: Use one table if applies everywhere
authorKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 01:43:18 +0000 (19:43 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 07:11:51 +0000 (01:11 -0600)
If a table is the same under all EBCDIC code pages and ASCII, only one
copy need be output, instead of one for each page.  This happens if the
table either includes the entire range of native code points (0-255) or
has no native code points.

At this commit, only \p{Assigned} falls into this category.

charclass_invlists.h
regen/mk_invlists.pl

index 15e0576..8d25ee7 100644 (file)
@@ -182,2633 +182,7 @@ static const UV ASCII_invlist[] = { /* for EBCDIC 037 */
 
 #   endif      /* EBCDIC 037 */
 
-#   if 'A' == 65 /* ASCII/Latin1 */
-
-static const UV Assigned_invlist[] = { /* for ASCII/Latin1 */
-       1298,   /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x378,
-       0x37A,
-       0x380,
-       0x384,
-       0x38B,
-       0x38C,
-       0x38D,
-       0x38E,
-       0x3A2,
-       0x3A3,
-       0x530,
-       0x531,
-       0x557,
-       0x559,
-       0x560,
-       0x561,
-       0x588,
-       0x589,
-       0x58B,
-       0x58D,
-       0x590,
-       0x591,
-       0x5C8,
-       0x5D0,
-       0x5EB,
-       0x5F0,
-       0x5F5,
-       0x600,
-       0x61D,
-       0x61E,
-       0x70E,
-       0x70F,
-       0x74B,
-       0x74D,
-       0x7B2,
-       0x7C0,
-       0x7FB,
-       0x800,
-       0x82E,
-       0x830,
-       0x83F,
-       0x840,
-       0x85C,
-       0x85E,
-       0x85F,
-       0x860,
-       0x86B,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x984,
-       0x985,
-       0x98D,
-       0x98F,
-       0x991,
-       0x993,
-       0x9A9,
-       0x9AA,
-       0x9B1,
-       0x9B2,
-       0x9B3,
-       0x9B6,
-       0x9BA,
-       0x9BC,
-       0x9C5,
-       0x9C7,
-       0x9C9,
-       0x9CB,
-       0x9CF,
-       0x9D7,
-       0x9D8,
-       0x9DC,
-       0x9DE,
-       0x9DF,
-       0x9E4,
-       0x9E6,
-       0x9FE,
-       0xA01,
-       0xA04,
-       0xA05,
-       0xA0B,
-       0xA0F,
-       0xA11,
-       0xA13,
-       0xA29,
-       0xA2A,
-       0xA31,
-       0xA32,
-       0xA34,
-       0xA35,
-       0xA37,
-       0xA38,
-       0xA3A,
-       0xA3C,
-       0xA3D,
-       0xA3E,
-       0xA43,
-       0xA47,
-       0xA49,
-       0xA4B,
-       0xA4E,
-       0xA51,
-       0xA52,
-       0xA59,
-       0xA5D,
-       0xA5E,
-       0xA5F,
-       0xA66,
-       0xA76,
-       0xA81,
-       0xA84,
-       0xA85,
-       0xA8E,
-       0xA8F,
-       0xA92,
-       0xA93,
-       0xAA9,
-       0xAAA,
-       0xAB1,
-       0xAB2,
-       0xAB4,
-       0xAB5,
-       0xABA,
-       0xABC,
-       0xAC6,
-       0xAC7,
-       0xACA,
-       0xACB,
-       0xACE,
-       0xAD0,
-       0xAD1,
-       0xAE0,
-       0xAE4,
-       0xAE6,
-       0xAF2,
-       0xAF9,
-       0xB00,
-       0xB01,
-       0xB04,
-       0xB05,
-       0xB0D,
-       0xB0F,
-       0xB11,
-       0xB13,
-       0xB29,
-       0xB2A,
-       0xB31,
-       0xB32,
-       0xB34,
-       0xB35,
-       0xB3A,
-       0xB3C,
-       0xB45,
-       0xB47,
-       0xB49,
-       0xB4B,
-       0xB4E,
-       0xB56,
-       0xB58,
-       0xB5C,
-       0xB5E,
-       0xB5F,
-       0xB64,
-       0xB66,
-       0xB78,
-       0xB82,
-       0xB84,
-       0xB85,
-       0xB8B,
-       0xB8E,
-       0xB91,
-       0xB92,
-       0xB96,
-       0xB99,
-       0xB9B,
-       0xB9C,
-       0xB9D,
-       0xB9E,
-       0xBA0,
-       0xBA3,
-       0xBA5,
-       0xBA8,
-       0xBAB,
-       0xBAE,
-       0xBBA,
-       0xBBE,
-       0xBC3,
-       0xBC6,
-       0xBC9,
-       0xBCA,
-       0xBCE,
-       0xBD0,
-       0xBD1,
-       0xBD7,
-       0xBD8,
-       0xBE6,
-       0xBFB,
-       0xC00,
-       0xC04,
-       0xC05,
-       0xC0D,
-       0xC0E,
-       0xC11,
-       0xC12,
-       0xC29,
-       0xC2A,
-       0xC3A,
-       0xC3D,
-       0xC45,
-       0xC46,
-       0xC49,
-       0xC4A,
-       0xC4E,
-       0xC55,
-       0xC57,
-       0xC58,
-       0xC5B,
-       0xC60,
-       0xC64,
-       0xC66,
-       0xC70,
-       0xC78,
-       0xC84,
-       0xC85,
-       0xC8D,
-       0xC8E,
-       0xC91,
-       0xC92,
-       0xCA9,
-       0xCAA,
-       0xCB4,
-       0xCB5,
-       0xCBA,
-       0xCBC,
-       0xCC5,
-       0xCC6,
-       0xCC9,
-       0xCCA,
-       0xCCE,
-       0xCD5,
-       0xCD7,
-       0xCDE,
-       0xCDF,
-       0xCE0,
-       0xCE4,
-       0xCE6,
-       0xCF0,
-       0xCF1,
-       0xCF3,
-       0xD00,
-       0xD04,
-       0xD05,
-       0xD0D,
-       0xD0E,
-       0xD11,
-       0xD12,
-       0xD45,
-       0xD46,
-       0xD49,
-       0xD4A,
-       0xD50,
-       0xD54,
-       0xD64,
-       0xD66,
-       0xD80,
-       0xD82,
-       0xD84,
-       0xD85,
-       0xD97,
-       0xD9A,
-       0xDB2,
-       0xDB3,
-       0xDBC,
-       0xDBD,
-       0xDBE,
-       0xDC0,
-       0xDC7,
-       0xDCA,
-       0xDCB,
-       0xDCF,
-       0xDD5,
-       0xDD6,
-       0xDD7,
-       0xDD8,
-       0xDE0,
-       0xDE6,
-       0xDF0,
-       0xDF2,
-       0xDF5,
-       0xE01,
-       0xE3B,
-       0xE3F,
-       0xE5C,
-       0xE81,
-       0xE83,
-       0xE84,
-       0xE85,
-       0xE87,
-       0xE89,
-       0xE8A,
-       0xE8B,
-       0xE8D,
-       0xE8E,
-       0xE94,
-       0xE98,
-       0xE99,
-       0xEA0,
-       0xEA1,
-       0xEA4,
-       0xEA5,
-       0xEA6,
-       0xEA7,
-       0xEA8,
-       0xEAA,
-       0xEAC,
-       0xEAD,
-       0xEBA,
-       0xEBB,
-       0xEBE,
-       0xEC0,
-       0xEC5,
-       0xEC6,
-       0xEC7,
-       0xEC8,
-       0xECE,
-       0xED0,
-       0xEDA,
-       0xEDC,
-       0xEE0,
-       0xF00,
-       0xF48,
-       0xF49,
-       0xF6D,
-       0xF71,
-       0xF98,
-       0xF99,
-       0xFBD,
-       0xFBE,
-       0xFCD,
-       0xFCE,
-       0xFDB,
-       0x1000,
-       0x10C6,
-       0x10C7,
-       0x10C8,
-       0x10CD,
-       0x10CE,
-       0x10D0,
-       0x1249,
-       0x124A,
-       0x124E,
-       0x1250,
-       0x1257,
-       0x1258,
-       0x1259,
-       0x125A,
-       0x125E,
-       0x1260,
-       0x1289,
-       0x128A,
-       0x128E,
-       0x1290,
-       0x12B1,
-       0x12B2,
-       0x12B6,
-       0x12B8,
-       0x12BF,
-       0x12C0,
-       0x12C1,
-       0x12C2,
-       0x12C6,
-       0x12C8,
-       0x12D7,
-       0x12D8,
-       0x1311,
-       0x1312,
-       0x1316,
-       0x1318,
-       0x135B,
-       0x135D,
-       0x137D,
-       0x1380,
-       0x139A,
-       0x13A0,
-       0x13F6,
-       0x13F8,
-       0x13FE,
-       0x1400,
-       0x169D,
-       0x16A0,
-       0x16F9,
-       0x1700,
-       0x170D,
-       0x170E,
-       0x1715,
-       0x1720,
-       0x1737,
-       0x1740,
-       0x1754,
-       0x1760,
-       0x176D,
-       0x176E,
-       0x1771,
-       0x1772,
-       0x1774,
-       0x1780,
-       0x17DE,
-       0x17E0,
-       0x17EA,
-       0x17F0,
-       0x17FA,
-       0x1800,
-       0x180F,
-       0x1810,
-       0x181A,
-       0x1820,
-       0x1878,
-       0x1880,
-       0x18AB,
-       0x18B0,
-       0x18F6,
-       0x1900,
-       0x191F,
-       0x1920,
-       0x192C,
-       0x1930,
-       0x193C,
-       0x1940,
-       0x1941,
-       0x1944,
-       0x196E,
-       0x1970,
-       0x1975,
-       0x1980,
-       0x19AC,
-       0x19B0,
-       0x19CA,
-       0x19D0,
-       0x19DB,
-       0x19DE,
-       0x1A1C,
-       0x1A1E,
-       0x1A5F,
-       0x1A60,
-       0x1A7D,
-       0x1A7F,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA0,
-       0x1AAE,
-       0x1AB0,
-       0x1ABF,
-       0x1B00,
-       0x1B4C,
-       0x1B50,
-       0x1B7D,
-       0x1B80,
-       0x1BF4,
-       0x1BFC,
-       0x1C38,
-       0x1C3B,
-       0x1C4A,
-       0x1C4D,
-       0x1C89,
-       0x1CC0,
-       0x1CC8,
-       0x1CD0,
-       0x1CFA,
-       0x1D00,
-       0x1DFA,
-       0x1DFB,
-       0x1F16,
-       0x1F18,
-       0x1F1E,
-       0x1F20,
-       0x1F46,
-       0x1F48,
-       0x1F4E,
-       0x1F50,
-       0x1F58,
-       0x1F59,
-       0x1F5A,
-       0x1F5B,
-       0x1F5C,
-       0x1F5D,
-       0x1F5E,
-       0x1F5F,
-       0x1F7E,
-       0x1F80,
-       0x1FB5,
-       0x1FB6,
-       0x1FC5,
-       0x1FC6,
-       0x1FD4,
-       0x1FD6,
-       0x1FDC,
-       0x1FDD,
-       0x1FF0,
-       0x1FF2,
-       0x1FF5,
-       0x1FF6,
-       0x1FFF,
-       0x2000,
-       0x2065,
-       0x2066,
-       0x2072,
-       0x2074,
-       0x208F,
-       0x2090,
-       0x209D,
-       0x20A0,
-       0x20C0,
-       0x20D0,
-       0x20F1,
-       0x2100,
-       0x218C,
-       0x2190,
-       0x2427,
-       0x2440,
-       0x244B,
-       0x2460,
-       0x2B74,
-       0x2B76,
-       0x2B96,
-       0x2B98,
-       0x2BBA,
-       0x2BBD,
-       0x2BC9,
-       0x2BCA,
-       0x2BD3,
-       0x2BEC,
-       0x2BF0,
-       0x2C00,
-       0x2C2F,
-       0x2C30,
-       0x2C5F,
-       0x2C60,
-       0x2CF4,
-       0x2CF9,
-       0x2D26,
-       0x2D27,
-       0x2D28,
-       0x2D2D,
-       0x2D2E,
-       0x2D30,
-       0x2D68,
-       0x2D6F,
-       0x2D71,
-       0x2D7F,
-       0x2D97,
-       0x2DA0,
-       0x2DA7,
-       0x2DA8,
-       0x2DAF,
-       0x2DB0,
-       0x2DB7,
-       0x2DB8,
-       0x2DBF,
-       0x2DC0,
-       0x2DC7,
-       0x2DC8,
-       0x2DCF,
-       0x2DD0,
-       0x2DD7,
-       0x2DD8,
-       0x2DDF,
-       0x2DE0,
-       0x2E4A,
-       0x2E80,
-       0x2E9A,
-       0x2E9B,
-       0x2EF4,
-       0x2F00,
-       0x2FD6,
-       0x2FF0,
-       0x2FFC,
-       0x3000,
-       0x3040,
-       0x3041,
-       0x3097,
-       0x3099,
-       0x3100,
-       0x3105,
-       0x312F,
-       0x3131,
-       0x318F,
-       0x3190,
-       0x31BB,
-       0x31C0,
-       0x31E4,
-       0x31F0,
-       0x321F,
-       0x3220,
-       0x32FF,
-       0x3300,
-       0x4DB6,
-       0x4DC0,
-       0x9FEB,
-       0xA000,
-       0xA48D,
-       0xA490,
-       0xA4C7,
-       0xA4D0,
-       0xA62C,
-       0xA640,
-       0xA6F8,
-       0xA700,
-       0xA7AF,
-       0xA7B0,
-       0xA7B8,
-       0xA7F7,
-       0xA82C,
-       0xA830,
-       0xA83A,
-       0xA840,
-       0xA878,
-       0xA880,
-       0xA8C6,
-       0xA8CE,
-       0xA8DA,
-       0xA8E0,
-       0xA8FE,
-       0xA900,
-       0xA954,
-       0xA95F,
-       0xA97D,
-       0xA980,
-       0xA9CE,
-       0xA9CF,
-       0xA9DA,
-       0xA9DE,
-       0xA9FF,
-       0xAA00,
-       0xAA37,
-       0xAA40,
-       0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA5C,
-       0xAAC3,
-       0xAADB,
-       0xAAF7,
-       0xAB01,
-       0xAB07,
-       0xAB09,
-       0xAB0F,
-       0xAB11,
-       0xAB17,
-       0xAB20,
-       0xAB27,
-       0xAB28,
-       0xAB2F,
-       0xAB30,
-       0xAB66,
-       0xAB70,
-       0xABEE,
-       0xABF0,
-       0xABFA,
-       0xAC00,
-       0xD7A4,
-       0xD7B0,
-       0xD7C7,
-       0xD7CB,
-       0xD7FC,
-       0xD800,
-       0xFA6E,
-       0xFA70,
-       0xFADA,
-       0xFB00,
-       0xFB07,
-       0xFB13,
-       0xFB18,
-       0xFB1D,
-       0xFB37,
-       0xFB38,
-       0xFB3D,
-       0xFB3E,
-       0xFB3F,
-       0xFB40,
-       0xFB42,
-       0xFB43,
-       0xFB45,
-       0xFB46,
-       0xFBC2,
-       0xFBD3,
-       0xFD40,
-       0xFD50,
-       0xFD90,
-       0xFD92,
-       0xFDC8,
-       0xFDF0,
-       0xFDFE,
-       0xFE00,
-       0xFE1A,
-       0xFE20,
-       0xFE53,
-       0xFE54,
-       0xFE67,
-       0xFE68,
-       0xFE6C,
-       0xFE70,
-       0xFE75,
-       0xFE76,
-       0xFEFD,
-       0xFEFF,
-       0xFF00,
-       0xFF01,
-       0xFFBF,
-       0xFFC2,
-       0xFFC8,
-       0xFFCA,
-       0xFFD0,
-       0xFFD2,
-       0xFFD8,
-       0xFFDA,
-       0xFFDD,
-       0xFFE0,
-       0xFFE7,
-       0xFFE8,
-       0xFFEF,
-       0xFFF9,
-       0xFFFE,
-       0x10000,
-       0x1000C,
-       0x1000D,
-       0x10027,
-       0x10028,
-       0x1003B,
-       0x1003C,
-       0x1003E,
-       0x1003F,
-       0x1004E,
-       0x10050,
-       0x1005E,
-       0x10080,
-       0x100FB,
-       0x10100,
-       0x10103,
-       0x10107,
-       0x10134,
-       0x10137,
-       0x1018F,
-       0x10190,
-       0x1019C,
-       0x101A0,
-       0x101A1,
-       0x101D0,
-       0x101FE,
-       0x10280,
-       0x1029D,
-       0x102A0,
-       0x102D1,
-       0x102E0,
-       0x102FC,
-       0x10300,
-       0x10324,
-       0x1032D,
-       0x1034B,
-       0x10350,
-       0x1037B,
-       0x10380,
-       0x1039E,
-       0x1039F,
-       0x103C4,
-       0x103C8,
-       0x103D6,
-       0x10400,
-       0x1049E,
-       0x104A0,
-       0x104AA,
-       0x104B0,
-       0x104D4,
-       0x104D8,
-       0x104FC,
-       0x10500,
-       0x10528,
-       0x10530,
-       0x10564,
-       0x1056F,
-       0x10570,
-       0x10600,
-       0x10737,
-       0x10740,
-       0x10756,
-       0x10760,
-       0x10768,
-       0x10800,
-       0x10806,
-       0x10808,
-       0x10809,
-       0x1080A,
-       0x10836,
-       0x10837,
-       0x10839,
-       0x1083C,
-       0x1083D,
-       0x1083F,
-       0x10856,
-       0x10857,
-       0x1089F,
-       0x108A7,
-       0x108B0,
-       0x108E0,
-       0x108F3,
-       0x108F4,
-       0x108F6,
-       0x108FB,
-       0x1091C,
-       0x1091F,
-       0x1093A,
-       0x1093F,
-       0x10940,
-       0x10980,
-       0x109B8,
-       0x109BC,
-       0x109D0,
-       0x109D2,
-       0x10A04,
-       0x10A05,
-       0x10A07,
-       0x10A0C,
-       0x10A14,
-       0x10A15,
-       0x10A18,
-       0x10A19,
-       0x10A34,
-       0x10A38,
-       0x10A3B,
-       0x10A3F,
-       0x10A48,
-       0x10A50,
-       0x10A59,
-       0x10A60,
-       0x10AA0,
-       0x10AC0,
-       0x10AE7,
-       0x10AEB,
-       0x10AF7,
-       0x10B00,
-       0x10B36,
-       0x10B39,
-       0x10B56,
-       0x10B58,
-       0x10B73,
-       0x10B78,
-       0x10B92,
-       0x10B99,
-       0x10B9D,
-       0x10BA9,
-       0x10BB0,
-       0x10C00,
-       0x10C49,
-       0x10C80,
-       0x10CB3,
-       0x10CC0,
-       0x10CF3,
-       0x10CFA,
-       0x10D00,
-       0x10E60,
-       0x10E7F,
-       0x11000,
-       0x1104E,
-       0x11052,
-       0x11070,
-       0x1107F,
-       0x110C2,
-       0x110D0,
-       0x110E9,
-       0x110F0,
-       0x110FA,
-       0x11100,
-       0x11135,
-       0x11136,
-       0x11144,
-       0x11150,
-       0x11177,
-       0x11180,
-       0x111CE,
-       0x111D0,
-       0x111E0,
-       0x111E1,
-       0x111F5,
-       0x11200,
-       0x11212,
-       0x11213,
-       0x1123F,
-       0x11280,
-       0x11287,
-       0x11288,
-       0x11289,
-       0x1128A,
-       0x1128E,
-       0x1128F,
-       0x1129E,
-       0x1129F,
-       0x112AA,
-       0x112B0,
-       0x112EB,
-       0x112F0,
-       0x112FA,
-       0x11300,
-       0x11304,
-       0x11305,
-       0x1130D,
-       0x1130F,
-       0x11311,
-       0x11313,
-       0x11329,
-       0x1132A,
-       0x11331,
-       0x11332,
-       0x11334,
-       0x11335,
-       0x1133A,
-       0x1133C,
-       0x11345,
-       0x11347,
-       0x11349,
-       0x1134B,
-       0x1134E,
-       0x11350,
-       0x11351,
-       0x11357,
-       0x11358,
-       0x1135D,
-       0x11364,
-       0x11366,
-       0x1136D,
-       0x11370,
-       0x11375,
-       0x11400,
-       0x1145A,
-       0x1145B,
-       0x1145C,
-       0x1145D,
-       0x1145E,
-       0x11480,
-       0x114C8,
-       0x114D0,
-       0x114DA,
-       0x11580,
-       0x115B6,
-       0x115B8,
-       0x115DE,
-       0x11600,
-       0x11645,
-       0x11650,
-       0x1165A,
-       0x11660,
-       0x1166D,
-       0x11680,
-       0x116B8,
-       0x116C0,
-       0x116CA,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740,
-       0x118A0,
-       0x118F3,
-       0x118FF,
-       0x11900,
-       0x11A00,
-       0x11A48,
-       0x11A50,
-       0x11A84,
-       0x11A86,
-       0x11A9D,
-       0x11A9E,
-       0x11AA3,
-       0x11AC0,
-       0x11AF9,
-       0x11C00,
-       0x11C09,
-       0x11C0A,
-       0x11C37,
-       0x11C38,
-       0x11C46,
-       0x11C50,
-       0x11C6D,
-       0x11C70,
-       0x11C90,
-       0x11C92,
-       0x11CA8,
-       0x11CA9,
-       0x11CB7,
-       0x11D00,
-       0x11D07,
-       0x11D08,
-       0x11D0A,
-       0x11D0B,
-       0x11D37,
-       0x11D3A,
-       0x11D3B,
-       0x11D3C,
-       0x11D3E,
-       0x11D3F,
-       0x11D48,
-       0x11D50,
-       0x11D5A,
-       0x12000,
-       0x1239A,
-       0x12400,
-       0x1246F,
-       0x12470,
-       0x12475,
-       0x12480,
-       0x12544,
-       0x13000,
-       0x1342F,
-       0x14400,
-       0x14647,
-       0x16800,
-       0x16A39,
-       0x16A40,
-       0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16A6E,
-       0x16A70,
-       0x16AD0,
-       0x16AEE,
-       0x16AF0,
-       0x16AF6,
-       0x16B00,
-       0x16B46,
-       0x16B50,
-       0x16B5A,
-       0x16B5B,
-       0x16B62,
-       0x16B63,
-       0x16B78,
-       0x16B7D,
-       0x16B90,
-       0x16F00,
-       0x16F45,
-       0x16F50,
-       0x16F7F,
-       0x16F8F,
-       0x16FA0,
-       0x16FE0,
-       0x16FE2,
-       0x17000,
-       0x187ED,
-       0x18800,
-       0x18AF3,
-       0x1B000,
-       0x1B11F,
-       0x1B170,
-       0x1B2FC,
-       0x1BC00,
-       0x1BC6B,
-       0x1BC70,
-       0x1BC7D,
-       0x1BC80,
-       0x1BC89,
-       0x1BC90,
-       0x1BC9A,
-       0x1BC9C,
-       0x1BCA4,
-       0x1D000,
-       0x1D0F6,
-       0x1D100,
-       0x1D127,
-       0x1D129,
-       0x1D1E9,
-       0x1D200,
-       0x1D246,
-       0x1D300,
-       0x1D357,
-       0x1D360,
-       0x1D372,
-       0x1D400,
-       0x1D455,
-       0x1D456,
-       0x1D49D,
-       0x1D49E,
-       0x1D4A0,
-       0x1D4A2,
-       0x1D4A3,
-       0x1D4A5,
-       0x1D4A7,
-       0x1D4A9,
-       0x1D4AD,
-       0x1D4AE,
-       0x1D4BA,
-       0x1D4BB,
-       0x1D4BC,
-       0x1D4BD,
-       0x1D4C4,
-       0x1D4C5,
-       0x1D506,
-       0x1D507,
-       0x1D50B,
-       0x1D50D,
-       0x1D515,
-       0x1D516,
-       0x1D51D,
-       0x1D51E,
-       0x1D53A,
-       0x1D53B,
-       0x1D53F,
-       0x1D540,
-       0x1D545,
-       0x1D546,
-       0x1D547,
-       0x1D54A,
-       0x1D551,
-       0x1D552,
-       0x1D6A6,
-       0x1D6A8,
-       0x1D7CC,
-       0x1D7CE,
-       0x1DA8C,
-       0x1DA9B,
-       0x1DAA0,
-       0x1DAA1,
-       0x1DAB0,
-       0x1E000,
-       0x1E007,
-       0x1E008,
-       0x1E019,
-       0x1E01B,
-       0x1E022,
-       0x1E023,
-       0x1E025,
-       0x1E026,
-       0x1E02B,
-       0x1E800,
-       0x1E8C5,
-       0x1E8C7,
-       0x1E8D7,
-       0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960,
-       0x1EE00,
-       0x1EE04,
-       0x1EE05,
-       0x1EE20,
-       0x1EE21,
-       0x1EE23,
-       0x1EE24,
-       0x1EE25,
-       0x1EE27,
-       0x1EE28,
-       0x1EE29,
-       0x1EE33,
-       0x1EE34,
-       0x1EE38,
-       0x1EE39,
-       0x1EE3A,
-       0x1EE3B,
-       0x1EE3C,
-       0x1EE42,
-       0x1EE43,
-       0x1EE47,
-       0x1EE48,
-       0x1EE49,
-       0x1EE4A,
-       0x1EE4B,
-       0x1EE4C,
-       0x1EE4D,
-       0x1EE50,
-       0x1EE51,
-       0x1EE53,
-       0x1EE54,
-       0x1EE55,
-       0x1EE57,
-       0x1EE58,
-       0x1EE59,
-       0x1EE5A,
-       0x1EE5B,
-       0x1EE5C,
-       0x1EE5D,
-       0x1EE5E,
-       0x1EE5F,
-       0x1EE60,
-       0x1EE61,
-       0x1EE63,
-       0x1EE64,
-       0x1EE65,
-       0x1EE67,
-       0x1EE6B,
-       0x1EE6C,
-       0x1EE73,
-       0x1EE74,
-       0x1EE78,
-       0x1EE79,
-       0x1EE7D,
-       0x1EE7E,
-       0x1EE7F,
-       0x1EE80,
-       0x1EE8A,
-       0x1EE8B,
-       0x1EE9C,
-       0x1EEA1,
-       0x1EEA4,
-       0x1EEA5,
-       0x1EEAA,
-       0x1EEAB,
-       0x1EEBC,
-       0x1EEF0,
-       0x1EEF2,
-       0x1F000,
-       0x1F02C,
-       0x1F030,
-       0x1F094,
-       0x1F0A0,
-       0x1F0AF,
-       0x1F0B1,
-       0x1F0C0,
-       0x1F0C1,
-       0x1F0D0,
-       0x1F0D1,
-       0x1F0F6,
-       0x1F100,
-       0x1F10D,
-       0x1F110,
-       0x1F12F,
-       0x1F130,
-       0x1F16C,
-       0x1F170,
-       0x1F1AD,
-       0x1F1E6,
-       0x1F203,
-       0x1F210,
-       0x1F23C,
-       0x1F240,
-       0x1F249,
-       0x1F250,
-       0x1F252,
-       0x1F260,
-       0x1F266,
-       0x1F300,
-       0x1F6D5,
-       0x1F6E0,
-       0x1F6ED,
-       0x1F6F0,
-       0x1F6F9,
-       0x1F700,
-       0x1F774,
-       0x1F780,
-       0x1F7D5,
-       0x1F800,
-       0x1F80C,
-       0x1F810,
-       0x1F848,
-       0x1F850,
-       0x1F85A,
-       0x1F860,
-       0x1F888,
-       0x1F890,
-       0x1F8AE,
-       0x1F900,
-       0x1F90C,
-       0x1F910,
-       0x1F93F,
-       0x1F940,
-       0x1F94D,
-       0x1F950,
-       0x1F96C,
-       0x1F980,
-       0x1F998,
-       0x1F9C0,
-       0x1F9C1,
-       0x1F9D0,
-       0x1F9E7,
-       0x20000,
-       0x2A6D7,
-       0x2A700,
-       0x2B735,
-       0x2B740,
-       0x2B81E,
-       0x2B820,
-       0x2CEA2,
-       0x2CEB0,
-       0x2EBE1,
-       0x2F800,
-       0x2FA1E,
-       0xE0001,
-       0xE0002,
-       0xE0020,
-       0xE0080,
-       0xE0100,
-       0xE01F0,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE
-};
-
-#   endif      /* ASCII/Latin1 */
-
-#   if 'A' == 193 /* EBCDIC 1047 */ \
-     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
-     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV Assigned_invlist[] = { /* for EBCDIC 1047 */
-       1298,   /* Number of elements */
-       148565664, /* Version and data structure type */
-       0,      /* 0 if the list starts at 0;
-                  1 if it starts at the element beyond 0 */
-       0x0,
-       0x378,
-       0x37A,
-       0x380,
-       0x384,
-       0x38B,
-       0x38C,
-       0x38D,
-       0x38E,
-       0x3A2,
-       0x3A3,
-       0x530,
-       0x531,
-       0x557,
-       0x559,
-       0x560,
-       0x561,
-       0x588,
-       0x589,
-       0x58B,
-       0x58D,
-       0x590,
-       0x591,
-       0x5C8,
-       0x5D0,
-       0x5EB,
-       0x5F0,
-       0x5F5,
-       0x600,
-       0x61D,
-       0x61E,
-       0x70E,
-       0x70F,
-       0x74B,
-       0x74D,
-       0x7B2,
-       0x7C0,
-       0x7FB,
-       0x800,
-       0x82E,
-       0x830,
-       0x83F,
-       0x840,
-       0x85C,
-       0x85E,
-       0x85F,
-       0x860,
-       0x86B,
-       0x8A0,
-       0x8B5,
-       0x8B6,
-       0x8BE,
-       0x8D4,
-       0x984,
-       0x985,
-       0x98D,
-       0x98F,
-       0x991,
-       0x993,
-       0x9A9,
-       0x9AA,
-       0x9B1,
-       0x9B2,
-       0x9B3,
-       0x9B6,
-       0x9BA,
-       0x9BC,
-       0x9C5,
-       0x9C7,
-       0x9C9,
-       0x9CB,
-       0x9CF,
-       0x9D7,
-       0x9D8,
-       0x9DC,
-       0x9DE,
-       0x9DF,
-       0x9E4,
-       0x9E6,
-       0x9FE,
-       0xA01,
-       0xA04,
-       0xA05,
-       0xA0B,
-       0xA0F,
-       0xA11,
-       0xA13,
-       0xA29,
-       0xA2A,
-       0xA31,
-       0xA32,
-       0xA34,
-       0xA35,
-       0xA37,
-       0xA38,
-       0xA3A,
-       0xA3C,
-       0xA3D,
-       0xA3E,
-       0xA43,
-       0xA47,
-       0xA49,
-       0xA4B,
-       0xA4E,
-       0xA51,
-       0xA52,
-       0xA59,
-       0xA5D,
-       0xA5E,
-       0xA5F,
-       0xA66,
-       0xA76,
-       0xA81,
-       0xA84,
-       0xA85,
-       0xA8E,
-       0xA8F,
-       0xA92,
-       0xA93,
-       0xAA9,
-       0xAAA,
-       0xAB1,
-       0xAB2,
-       0xAB4,
-       0xAB5,
-       0xABA,
-       0xABC,
-       0xAC6,
-       0xAC7,
-       0xACA,
-       0xACB,
-       0xACE,
-       0xAD0,
-       0xAD1,
-       0xAE0,
-       0xAE4,
-       0xAE6,
-       0xAF2,
-       0xAF9,
-       0xB00,
-       0xB01,
-       0xB04,
-       0xB05,
-       0xB0D,
-       0xB0F,
-       0xB11,
-       0xB13,
-       0xB29,
-       0xB2A,
-       0xB31,
-       0xB32,
-       0xB34,
-       0xB35,
-       0xB3A,
-       0xB3C,
-       0xB45,
-       0xB47,
-       0xB49,
-       0xB4B,
-       0xB4E,
-       0xB56,
-       0xB58,
-       0xB5C,
-       0xB5E,
-       0xB5F,
-       0xB64,
-       0xB66,
-       0xB78,
-       0xB82,
-       0xB84,
-       0xB85,
-       0xB8B,
-       0xB8E,
-       0xB91,
-       0xB92,
-       0xB96,
-       0xB99,
-       0xB9B,
-       0xB9C,
-       0xB9D,
-       0xB9E,
-       0xBA0,
-       0xBA3,
-       0xBA5,
-       0xBA8,
-       0xBAB,
-       0xBAE,
-       0xBBA,
-       0xBBE,
-       0xBC3,
-       0xBC6,
-       0xBC9,
-       0xBCA,
-       0xBCE,
-       0xBD0,
-       0xBD1,
-       0xBD7,
-       0xBD8,
-       0xBE6,
-       0xBFB,
-       0xC00,
-       0xC04,
-       0xC05,
-       0xC0D,
-       0xC0E,
-       0xC11,
-       0xC12,
-       0xC29,
-       0xC2A,
-       0xC3A,
-       0xC3D,
-       0xC45,
-       0xC46,
-       0xC49,
-       0xC4A,
-       0xC4E,
-       0xC55,
-       0xC57,
-       0xC58,
-       0xC5B,
-       0xC60,
-       0xC64,
-       0xC66,
-       0xC70,
-       0xC78,
-       0xC84,
-       0xC85,
-       0xC8D,
-       0xC8E,
-       0xC91,
-       0xC92,
-       0xCA9,
-       0xCAA,
-       0xCB4,
-       0xCB5,
-       0xCBA,
-       0xCBC,
-       0xCC5,
-       0xCC6,
-       0xCC9,
-       0xCCA,
-       0xCCE,
-       0xCD5,
-       0xCD7,
-       0xCDE,
-       0xCDF,
-       0xCE0,
-       0xCE4,
-       0xCE6,
-       0xCF0,
-       0xCF1,
-       0xCF3,
-       0xD00,
-       0xD04,
-       0xD05,
-       0xD0D,
-       0xD0E,
-       0xD11,
-       0xD12,
-       0xD45,
-       0xD46,
-       0xD49,
-       0xD4A,
-       0xD50,
-       0xD54,
-       0xD64,
-       0xD66,
-       0xD80,
-       0xD82,
-       0xD84,
-       0xD85,
-       0xD97,
-       0xD9A,
-       0xDB2,
-       0xDB3,
-       0xDBC,
-       0xDBD,
-       0xDBE,
-       0xDC0,
-       0xDC7,
-       0xDCA,
-       0xDCB,
-       0xDCF,
-       0xDD5,
-       0xDD6,
-       0xDD7,
-       0xDD8,
-       0xDE0,
-       0xDE6,
-       0xDF0,
-       0xDF2,
-       0xDF5,
-       0xE01,
-       0xE3B,
-       0xE3F,
-       0xE5C,
-       0xE81,
-       0xE83,
-       0xE84,
-       0xE85,
-       0xE87,
-       0xE89,
-       0xE8A,
-       0xE8B,
-       0xE8D,
-       0xE8E,
-       0xE94,
-       0xE98,
-       0xE99,
-       0xEA0,
-       0xEA1,
-       0xEA4,
-       0xEA5,
-       0xEA6,
-       0xEA7,
-       0xEA8,
-       0xEAA,
-       0xEAC,
-       0xEAD,
-       0xEBA,
-       0xEBB,
-       0xEBE,
-       0xEC0,
-       0xEC5,
-       0xEC6,
-       0xEC7,
-       0xEC8,
-       0xECE,
-       0xED0,
-       0xEDA,
-       0xEDC,
-       0xEE0,
-       0xF00,
-       0xF48,
-       0xF49,
-       0xF6D,
-       0xF71,
-       0xF98,
-       0xF99,
-       0xFBD,
-       0xFBE,
-       0xFCD,
-       0xFCE,
-       0xFDB,
-       0x1000,
-       0x10C6,
-       0x10C7,
-       0x10C8,
-       0x10CD,
-       0x10CE,
-       0x10D0,
-       0x1249,
-       0x124A,
-       0x124E,
-       0x1250,
-       0x1257,
-       0x1258,
-       0x1259,
-       0x125A,
-       0x125E,
-       0x1260,
-       0x1289,
-       0x128A,
-       0x128E,
-       0x1290,
-       0x12B1,
-       0x12B2,
-       0x12B6,
-       0x12B8,
-       0x12BF,
-       0x12C0,
-       0x12C1,
-       0x12C2,
-       0x12C6,
-       0x12C8,
-       0x12D7,
-       0x12D8,
-       0x1311,
-       0x1312,
-       0x1316,
-       0x1318,
-       0x135B,
-       0x135D,
-       0x137D,
-       0x1380,
-       0x139A,
-       0x13A0,
-       0x13F6,
-       0x13F8,
-       0x13FE,
-       0x1400,
-       0x169D,
-       0x16A0,
-       0x16F9,
-       0x1700,
-       0x170D,
-       0x170E,
-       0x1715,
-       0x1720,
-       0x1737,
-       0x1740,
-       0x1754,
-       0x1760,
-       0x176D,
-       0x176E,
-       0x1771,
-       0x1772,
-       0x1774,
-       0x1780,
-       0x17DE,
-       0x17E0,
-       0x17EA,
-       0x17F0,
-       0x17FA,
-       0x1800,
-       0x180F,
-       0x1810,
-       0x181A,
-       0x1820,
-       0x1878,
-       0x1880,
-       0x18AB,
-       0x18B0,
-       0x18F6,
-       0x1900,
-       0x191F,
-       0x1920,
-       0x192C,
-       0x1930,
-       0x193C,
-       0x1940,
-       0x1941,
-       0x1944,
-       0x196E,
-       0x1970,
-       0x1975,
-       0x1980,
-       0x19AC,
-       0x19B0,
-       0x19CA,
-       0x19D0,
-       0x19DB,
-       0x19DE,
-       0x1A1C,
-       0x1A1E,
-       0x1A5F,
-       0x1A60,
-       0x1A7D,
-       0x1A7F,
-       0x1A8A,
-       0x1A90,
-       0x1A9A,
-       0x1AA0,
-       0x1AAE,
-       0x1AB0,
-       0x1ABF,
-       0x1B00,
-       0x1B4C,
-       0x1B50,
-       0x1B7D,
-       0x1B80,
-       0x1BF4,
-       0x1BFC,
-       0x1C38,
-       0x1C3B,
-       0x1C4A,
-       0x1C4D,
-       0x1C89,
-       0x1CC0,
-       0x1CC8,
-       0x1CD0,
-       0x1CFA,
-       0x1D00,
-       0x1DFA,
-       0x1DFB,
-       0x1F16,
-       0x1F18,
-       0x1F1E,
-       0x1F20,
-       0x1F46,
-       0x1F48,
-       0x1F4E,
-       0x1F50,
-       0x1F58,
-       0x1F59,
-       0x1F5A,
-       0x1F5B,
-       0x1F5C,
-       0x1F5D,
-       0x1F5E,
-       0x1F5F,
-       0x1F7E,
-       0x1F80,
-       0x1FB5,
-       0x1FB6,
-       0x1FC5,
-       0x1FC6,
-       0x1FD4,
-       0x1FD6,
-       0x1FDC,
-       0x1FDD,
-       0x1FF0,
-       0x1FF2,
-       0x1FF5,
-       0x1FF6,
-       0x1FFF,
-       0x2000,
-       0x2065,
-       0x2066,
-       0x2072,
-       0x2074,
-       0x208F,
-       0x2090,
-       0x209D,
-       0x20A0,
-       0x20C0,
-       0x20D0,
-       0x20F1,
-       0x2100,
-       0x218C,
-       0x2190,
-       0x2427,
-       0x2440,
-       0x244B,
-       0x2460,
-       0x2B74,
-       0x2B76,
-       0x2B96,
-       0x2B98,
-       0x2BBA,
-       0x2BBD,
-       0x2BC9,
-       0x2BCA,
-       0x2BD3,
-       0x2BEC,
-       0x2BF0,
-       0x2C00,
-       0x2C2F,
-       0x2C30,
-       0x2C5F,
-       0x2C60,
-       0x2CF4,
-       0x2CF9,
-       0x2D26,
-       0x2D27,
-       0x2D28,
-       0x2D2D,
-       0x2D2E,
-       0x2D30,
-       0x2D68,
-       0x2D6F,
-       0x2D71,
-       0x2D7F,
-       0x2D97,
-       0x2DA0,
-       0x2DA7,
-       0x2DA8,
-       0x2DAF,
-       0x2DB0,
-       0x2DB7,
-       0x2DB8,
-       0x2DBF,
-       0x2DC0,
-       0x2DC7,
-       0x2DC8,
-       0x2DCF,
-       0x2DD0,
-       0x2DD7,
-       0x2DD8,
-       0x2DDF,
-       0x2DE0,
-       0x2E4A,
-       0x2E80,
-       0x2E9A,
-       0x2E9B,
-       0x2EF4,
-       0x2F00,
-       0x2FD6,
-       0x2FF0,
-       0x2FFC,
-       0x3000,
-       0x3040,
-       0x3041,
-       0x3097,
-       0x3099,
-       0x3100,
-       0x3105,
-       0x312F,
-       0x3131,
-       0x318F,
-       0x3190,
-       0x31BB,
-       0x31C0,
-       0x31E4,
-       0x31F0,
-       0x321F,
-       0x3220,
-       0x32FF,
-       0x3300,
-       0x4DB6,
-       0x4DC0,
-       0x9FEB,
-       0xA000,
-       0xA48D,
-       0xA490,
-       0xA4C7,
-       0xA4D0,
-       0xA62C,
-       0xA640,
-       0xA6F8,
-       0xA700,
-       0xA7AF,
-       0xA7B0,
-       0xA7B8,
-       0xA7F7,
-       0xA82C,
-       0xA830,
-       0xA83A,
-       0xA840,
-       0xA878,
-       0xA880,
-       0xA8C6,
-       0xA8CE,
-       0xA8DA,
-       0xA8E0,
-       0xA8FE,
-       0xA900,
-       0xA954,
-       0xA95F,
-       0xA97D,
-       0xA980,
-       0xA9CE,
-       0xA9CF,
-       0xA9DA,
-       0xA9DE,
-       0xA9FF,
-       0xAA00,
-       0xAA37,
-       0xAA40,
-       0xAA4E,
-       0xAA50,
-       0xAA5A,
-       0xAA5C,
-       0xAAC3,
-       0xAADB,
-       0xAAF7,
-       0xAB01,
-       0xAB07,
-       0xAB09,
-       0xAB0F,
-       0xAB11,
-       0xAB17,
-       0xAB20,
-       0xAB27,
-       0xAB28,
-       0xAB2F,
-       0xAB30,
-       0xAB66,
-       0xAB70,
-       0xABEE,
-       0xABF0,
-       0xABFA,
-       0xAC00,
-       0xD7A4,
-       0xD7B0,
-       0xD7C7,
-       0xD7CB,
-       0xD7FC,
-       0xD800,
-       0xFA6E,
-       0xFA70,
-       0xFADA,
-       0xFB00,
-       0xFB07,
-       0xFB13,
-       0xFB18,
-       0xFB1D,
-       0xFB37,
-       0xFB38,
-       0xFB3D,
-       0xFB3E,
-       0xFB3F,
-       0xFB40,
-       0xFB42,
-       0xFB43,
-       0xFB45,
-       0xFB46,
-       0xFBC2,
-       0xFBD3,
-       0xFD40,
-       0xFD50,
-       0xFD90,
-       0xFD92,
-       0xFDC8,
-       0xFDF0,
-       0xFDFE,
-       0xFE00,
-       0xFE1A,
-       0xFE20,
-       0xFE53,
-       0xFE54,
-       0xFE67,
-       0xFE68,
-       0xFE6C,
-       0xFE70,
-       0xFE75,
-       0xFE76,
-       0xFEFD,
-       0xFEFF,
-       0xFF00,
-       0xFF01,
-       0xFFBF,
-       0xFFC2,
-       0xFFC8,
-       0xFFCA,
-       0xFFD0,
-       0xFFD2,
-       0xFFD8,
-       0xFFDA,
-       0xFFDD,
-       0xFFE0,
-       0xFFE7,
-       0xFFE8,
-       0xFFEF,
-       0xFFF9,
-       0xFFFE,
-       0x10000,
-       0x1000C,
-       0x1000D,
-       0x10027,
-       0x10028,
-       0x1003B,
-       0x1003C,
-       0x1003E,
-       0x1003F,
-       0x1004E,
-       0x10050,
-       0x1005E,
-       0x10080,
-       0x100FB,
-       0x10100,
-       0x10103,
-       0x10107,
-       0x10134,
-       0x10137,
-       0x1018F,
-       0x10190,
-       0x1019C,
-       0x101A0,
-       0x101A1,
-       0x101D0,
-       0x101FE,
-       0x10280,
-       0x1029D,
-       0x102A0,
-       0x102D1,
-       0x102E0,
-       0x102FC,
-       0x10300,
-       0x10324,
-       0x1032D,
-       0x1034B,
-       0x10350,
-       0x1037B,
-       0x10380,
-       0x1039E,
-       0x1039F,
-       0x103C4,
-       0x103C8,
-       0x103D6,
-       0x10400,
-       0x1049E,
-       0x104A0,
-       0x104AA,
-       0x104B0,
-       0x104D4,
-       0x104D8,
-       0x104FC,
-       0x10500,
-       0x10528,
-       0x10530,
-       0x10564,
-       0x1056F,
-       0x10570,
-       0x10600,
-       0x10737,
-       0x10740,
-       0x10756,
-       0x10760,
-       0x10768,
-       0x10800,
-       0x10806,
-       0x10808,
-       0x10809,
-       0x1080A,
-       0x10836,
-       0x10837,
-       0x10839,
-       0x1083C,
-       0x1083D,
-       0x1083F,
-       0x10856,
-       0x10857,
-       0x1089F,
-       0x108A7,
-       0x108B0,
-       0x108E0,
-       0x108F3,
-       0x108F4,
-       0x108F6,
-       0x108FB,
-       0x1091C,
-       0x1091F,
-       0x1093A,
-       0x1093F,
-       0x10940,
-       0x10980,
-       0x109B8,
-       0x109BC,
-       0x109D0,
-       0x109D2,
-       0x10A04,
-       0x10A05,
-       0x10A07,
-       0x10A0C,
-       0x10A14,
-       0x10A15,
-       0x10A18,
-       0x10A19,
-       0x10A34,
-       0x10A38,
-       0x10A3B,
-       0x10A3F,
-       0x10A48,
-       0x10A50,
-       0x10A59,
-       0x10A60,
-       0x10AA0,
-       0x10AC0,
-       0x10AE7,
-       0x10AEB,
-       0x10AF7,
-       0x10B00,
-       0x10B36,
-       0x10B39,
-       0x10B56,
-       0x10B58,
-       0x10B73,
-       0x10B78,
-       0x10B92,
-       0x10B99,
-       0x10B9D,
-       0x10BA9,
-       0x10BB0,
-       0x10C00,
-       0x10C49,
-       0x10C80,
-       0x10CB3,
-       0x10CC0,
-       0x10CF3,
-       0x10CFA,
-       0x10D00,
-       0x10E60,
-       0x10E7F,
-       0x11000,
-       0x1104E,
-       0x11052,
-       0x11070,
-       0x1107F,
-       0x110C2,
-       0x110D0,
-       0x110E9,
-       0x110F0,
-       0x110FA,
-       0x11100,
-       0x11135,
-       0x11136,
-       0x11144,
-       0x11150,
-       0x11177,
-       0x11180,
-       0x111CE,
-       0x111D0,
-       0x111E0,
-       0x111E1,
-       0x111F5,
-       0x11200,
-       0x11212,
-       0x11213,
-       0x1123F,
-       0x11280,
-       0x11287,
-       0x11288,
-       0x11289,
-       0x1128A,
-       0x1128E,
-       0x1128F,
-       0x1129E,
-       0x1129F,
-       0x112AA,
-       0x112B0,
-       0x112EB,
-       0x112F0,
-       0x112FA,
-       0x11300,
-       0x11304,
-       0x11305,
-       0x1130D,
-       0x1130F,
-       0x11311,
-       0x11313,
-       0x11329,
-       0x1132A,
-       0x11331,
-       0x11332,
-       0x11334,
-       0x11335,
-       0x1133A,
-       0x1133C,
-       0x11345,
-       0x11347,
-       0x11349,
-       0x1134B,
-       0x1134E,
-       0x11350,
-       0x11351,
-       0x11357,
-       0x11358,
-       0x1135D,
-       0x11364,
-       0x11366,
-       0x1136D,
-       0x11370,
-       0x11375,
-       0x11400,
-       0x1145A,
-       0x1145B,
-       0x1145C,
-       0x1145D,
-       0x1145E,
-       0x11480,
-       0x114C8,
-       0x114D0,
-       0x114DA,
-       0x11580,
-       0x115B6,
-       0x115B8,
-       0x115DE,
-       0x11600,
-       0x11645,
-       0x11650,
-       0x1165A,
-       0x11660,
-       0x1166D,
-       0x11680,
-       0x116B8,
-       0x116C0,
-       0x116CA,
-       0x11700,
-       0x1171A,
-       0x1171D,
-       0x1172C,
-       0x11730,
-       0x11740,
-       0x118A0,
-       0x118F3,
-       0x118FF,
-       0x11900,
-       0x11A00,
-       0x11A48,
-       0x11A50,
-       0x11A84,
-       0x11A86,
-       0x11A9D,
-       0x11A9E,
-       0x11AA3,
-       0x11AC0,
-       0x11AF9,
-       0x11C00,
-       0x11C09,
-       0x11C0A,
-       0x11C37,
-       0x11C38,
-       0x11C46,
-       0x11C50,
-       0x11C6D,
-       0x11C70,
-       0x11C90,
-       0x11C92,
-       0x11CA8,
-       0x11CA9,
-       0x11CB7,
-       0x11D00,
-       0x11D07,
-       0x11D08,
-       0x11D0A,
-       0x11D0B,
-       0x11D37,
-       0x11D3A,
-       0x11D3B,
-       0x11D3C,
-       0x11D3E,
-       0x11D3F,
-       0x11D48,
-       0x11D50,
-       0x11D5A,
-       0x12000,
-       0x1239A,
-       0x12400,
-       0x1246F,
-       0x12470,
-       0x12475,
-       0x12480,
-       0x12544,
-       0x13000,
-       0x1342F,
-       0x14400,
-       0x14647,
-       0x16800,
-       0x16A39,
-       0x16A40,
-       0x16A5F,
-       0x16A60,
-       0x16A6A,
-       0x16A6E,
-       0x16A70,
-       0x16AD0,
-       0x16AEE,
-       0x16AF0,
-       0x16AF6,
-       0x16B00,
-       0x16B46,
-       0x16B50,
-       0x16B5A,
-       0x16B5B,
-       0x16B62,
-       0x16B63,
-       0x16B78,
-       0x16B7D,
-       0x16B90,
-       0x16F00,
-       0x16F45,
-       0x16F50,
-       0x16F7F,
-       0x16F8F,
-       0x16FA0,
-       0x16FE0,
-       0x16FE2,
-       0x17000,
-       0x187ED,
-       0x18800,
-       0x18AF3,
-       0x1B000,
-       0x1B11F,
-       0x1B170,
-       0x1B2FC,
-       0x1BC00,
-       0x1BC6B,
-       0x1BC70,
-       0x1BC7D,
-       0x1BC80,
-       0x1BC89,
-       0x1BC90,
-       0x1BC9A,
-       0x1BC9C,
-       0x1BCA4,
-       0x1D000,
-       0x1D0F6,
-       0x1D100,
-       0x1D127,
-       0x1D129,
-       0x1D1E9,
-       0x1D200,
-       0x1D246,
-       0x1D300,
-       0x1D357,
-       0x1D360,
-       0x1D372,
-       0x1D400,
-       0x1D455,
-       0x1D456,
-       0x1D49D,
-       0x1D49E,
-       0x1D4A0,
-       0x1D4A2,
-       0x1D4A3,
-       0x1D4A5,
-       0x1D4A7,
-       0x1D4A9,
-       0x1D4AD,
-       0x1D4AE,
-       0x1D4BA,
-       0x1D4BB,
-       0x1D4BC,
-       0x1D4BD,
-       0x1D4C4,
-       0x1D4C5,
-       0x1D506,
-       0x1D507,
-       0x1D50B,
-       0x1D50D,
-       0x1D515,
-       0x1D516,
-       0x1D51D,
-       0x1D51E,
-       0x1D53A,
-       0x1D53B,
-       0x1D53F,
-       0x1D540,
-       0x1D545,
-       0x1D546,
-       0x1D547,
-       0x1D54A,
-       0x1D551,
-       0x1D552,
-       0x1D6A6,
-       0x1D6A8,
-       0x1D7CC,
-       0x1D7CE,
-       0x1DA8C,
-       0x1DA9B,
-       0x1DAA0,
-       0x1DAA1,
-       0x1DAB0,
-       0x1E000,
-       0x1E007,
-       0x1E008,
-       0x1E019,
-       0x1E01B,
-       0x1E022,
-       0x1E023,
-       0x1E025,
-       0x1E026,
-       0x1E02B,
-       0x1E800,
-       0x1E8C5,
-       0x1E8C7,
-       0x1E8D7,
-       0x1E900,
-       0x1E94B,
-       0x1E950,
-       0x1E95A,
-       0x1E95E,
-       0x1E960,
-       0x1EE00,
-       0x1EE04,
-       0x1EE05,
-       0x1EE20,
-       0x1EE21,
-       0x1EE23,
-       0x1EE24,
-       0x1EE25,
-       0x1EE27,
-       0x1EE28,
-       0x1EE29,
-       0x1EE33,
-       0x1EE34,
-       0x1EE38,
-       0x1EE39,
-       0x1EE3A,
-       0x1EE3B,
-       0x1EE3C,
-       0x1EE42,
-       0x1EE43,
-       0x1EE47,
-       0x1EE48,
-       0x1EE49,
-       0x1EE4A,
-       0x1EE4B,
-       0x1EE4C,
-       0x1EE4D,
-       0x1EE50,
-       0x1EE51,
-       0x1EE53,
-       0x1EE54,
-       0x1EE55,
-       0x1EE57,
-       0x1EE58,
-       0x1EE59,
-       0x1EE5A,
-       0x1EE5B,
-       0x1EE5C,
-       0x1EE5D,
-       0x1EE5E,
-       0x1EE5F,
-       0x1EE60,
-       0x1EE61,
-       0x1EE63,
-       0x1EE64,
-       0x1EE65,
-       0x1EE67,
-       0x1EE6B,
-       0x1EE6C,
-       0x1EE73,
-       0x1EE74,
-       0x1EE78,
-       0x1EE79,
-       0x1EE7D,
-       0x1EE7E,
-       0x1EE7F,
-       0x1EE80,
-       0x1EE8A,
-       0x1EE8B,
-       0x1EE9C,
-       0x1EEA1,
-       0x1EEA4,
-       0x1EEA5,
-       0x1EEAA,
-       0x1EEAB,
-       0x1EEBC,
-       0x1EEF0,
-       0x1EEF2,
-       0x1F000,
-       0x1F02C,
-       0x1F030,
-       0x1F094,
-       0x1F0A0,
-       0x1F0AF,
-       0x1F0B1,
-       0x1F0C0,
-       0x1F0C1,
-       0x1F0D0,
-       0x1F0D1,
-       0x1F0F6,
-       0x1F100,
-       0x1F10D,
-       0x1F110,
-       0x1F12F,
-       0x1F130,
-       0x1F16C,
-       0x1F170,
-       0x1F1AD,
-       0x1F1E6,
-       0x1F203,
-       0x1F210,
-       0x1F23C,
-       0x1F240,
-       0x1F249,
-       0x1F250,
-       0x1F252,
-       0x1F260,
-       0x1F266,
-       0x1F300,
-       0x1F6D5,
-       0x1F6E0,
-       0x1F6ED,
-       0x1F6F0,
-       0x1F6F9,
-       0x1F700,
-       0x1F774,
-       0x1F780,
-       0x1F7D5,
-       0x1F800,
-       0x1F80C,
-       0x1F810,
-       0x1F848,
-       0x1F850,
-       0x1F85A,
-       0x1F860,
-       0x1F888,
-       0x1F890,
-       0x1F8AE,
-       0x1F900,
-       0x1F90C,
-       0x1F910,
-       0x1F93F,
-       0x1F940,
-       0x1F94D,
-       0x1F950,
-       0x1F96C,
-       0x1F980,
-       0x1F998,
-       0x1F9C0,
-       0x1F9C1,
-       0x1F9D0,
-       0x1F9E7,
-       0x20000,
-       0x2A6D7,
-       0x2A700,
-       0x2B735,
-       0x2B740,
-       0x2B81E,
-       0x2B820,
-       0x2CEA2,
-       0x2CEB0,
-       0x2EBE1,
-       0x2F800,
-       0x2FA1E,
-       0xE0001,
-       0xE0002,
-       0xE0020,
-       0xE0080,
-       0xE0100,
-       0xE01F0,
-       0xF0000,
-       0xFFFFE,
-       0x100000,
-       0x10FFFE
-};
-
-#   endif      /* EBCDIC 1047 */
-
-#   if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
-
-static const UV Assigned_invlist[] = { /* for EBCDIC 037 */
+static const UV Assigned_invlist[] = { /* for all charsets */
        1298,   /* Number of elements */
        148565664, /* Version and data structure type */
        0,      /* 0 if the list starts at 0;
@@ -4113,8 +1487,6 @@ static const UV Assigned_invlist[] = { /* for EBCDIC 037 */
        0x10FFFE
 };
 
-#   endif      /* EBCDIC 037 */
-
 #   if 'A' == 65 /* ASCII/Latin1 */
 
 static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
@@ -171642,5 +169014,5 @@ static const U8 WB_table[24][24] = {
  * ba5b13123afb59ea004c14fcbac80b5ff428c5b8f1b84bf8602b4ffb7da0407f lib/unicore/mktables
  * 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
  * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c regen/charset_translations.pl
- * c6f15454ae9400bc52c65599bc7374590f03006efced021b630c55093d069d3c regen/mk_invlists.pl
+ * 176c18f2ec76c6a93856afd59d61a35f37858c7112c07255f7433232c4dc243e regen/mk_invlists.pl
  * ex: set ro: */
index f6e3669..f251ee7 100644 (file)
@@ -60,6 +60,8 @@ my %exceptions_to_where_to_define =
 
 my %where_to_define_enums = ();
 
+my $applies_to_all_charsets_text = "all charsets";
+
 my %gcb_enums;
 my @gcb_short_enums;
 my %gcb_abbreviations;
@@ -2148,6 +2150,7 @@ for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
         my $map_default;
         my $maps_to_code_point;
         my $to_adjust;
+        my $same_in_all_code_pages;
         if ($is_local_sub) {
             my @return = eval $lookup_prop;
             die $@ if $@;
@@ -2178,7 +2181,7 @@ for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
                     if (defined $count) {
                         # Short-circuit an empty inversion list.
                         output_invlist($prop_name, \@invlist, $charset);
-                        next;
+                        last;
                     }
                     die "Could not find inversion list for '$lookup_prop'"
                 }
@@ -2220,6 +2223,7 @@ for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
                 && (    $invlist[0] != 0
                     || (scalar @invlist != 1 && $invlist[1] < 256)))))
         {
+            $same_in_all_code_pages = 0;
             if (! @invmap) {    # Straight inversion list
                 # Look at all the ranges that start before 257.
                 my @latin1_list;
@@ -2423,6 +2427,9 @@ for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
                 unshift @invlist, @new_invlist;
             }
         }
+        else {
+            $same_in_all_code_pages = 1;
+        }
 
         # prop_invmap() returns an extra final entry, which we can now
         # discard.
@@ -2481,14 +2488,18 @@ for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
         }
 
         switch_pound_if ($prop_name, 'PERL_IN_UTF8_C');
-        start_charset_pound_if($charset, 1);
+        start_charset_pound_if($charset, 1) unless $same_in_all_code_pages;
 
-        output_invlist($prop_name, \@invlist, $charset);
+        output_invlist($prop_name, \@invlist, ($same_in_all_code_pages)
+                                              ? $applies_to_all_charsets_text
+                                              : $charset);
 
         if (@invmap) {
             output_invmap($prop_name, \@invmap, $lookup_prop, $map_format,
                           $map_default, $extra_enums, $charset);
         }
+
+        last if $same_in_all_code_pages;
         end_charset_pound_if;
     }
 }