golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
123.2k stars 17.57k forks source link

x/text: go generate golang.org/x/text/internal/language/... generates Git diff #26806

Open kevinburke opened 6 years ago

kevinburke commented 6 years ago

Running go generate golang.org/x/text/internal/language/... generates the following diff:

diff --git a/internal/language/compact/tables.go b/internal/language/compact/tables.go
index 554ca35..4e40e90 100644
--- a/internal/language/compact/tables.go
+++ b/internal/language/compact/tables.go
@@ -966,7 +966,7 @@ var coreTags = []language.CompactCoreInfo{ // 773 elements
    0x3fd00000, 0x3fd00072, 0x3fd000da, 0x3fd0010c,
    0x3ff00000, 0x3ff000d1, 0x40100000, 0x401000c3,
    0x40200000, 0x4020004c, 0x40700000, 0x40800000,
-   0x40857000, 0x408570ba, 0x408dc000, 0x408dc0ba,
+   0x40857000, 0x408570ba, 0x408df000, 0x408df0ba,
    0x40c00000, 0x40c000b3, 0x41200000, 0x41200111,
    0x41600000, 0x4160010f, 0x41c00000, 0x41d00000,
    // Entry 280 - 29F
@@ -994,7 +994,7 @@ var coreTags = []language.CompactCoreInfo{ // 773 elements
    0x4ae00130, 0x4b400000, 0x4b400099, 0x4b4000e8,
    0x4bc00000, 0x4bc05000, 0x4bc05024, 0x4bc1f000,
    0x4bc1f137, 0x4bc57000, 0x4bc57137, 0x4be00000,
-   0x4be57000, 0x4be570b4, 0x4bee3000, 0x4bee30b4,
+   0x4be57000, 0x4be570b4, 0x4bee6000, 0x4bee60b4,
    0x4c000000, 0x4c300000, 0x4c30013e, 0x4c900000,
    // Entry 2E0 - 2FF
    0x4c900001, 0x4cc00000, 0x4cc0012f, 0x4ce00000,
@@ -1012,4 +1012,4 @@ var coreTags = []language.CompactCoreInfo{ // 773 elements

 const specialTagsStr string = "ca-ES-valencia en-US-u-va-posix"

-// Total table size 3147 bytes (3KiB); checksum: F4E57D15
+// Total table size 3147 bytes (3KiB); checksum: 70700F55
diff --git a/internal/language/tables.go b/internal/language/tables.go
index 239e2d2..1921fe4 100644
--- a/internal/language/tables.go
+++ b/internal/language/tables.go
@@ -7,9 +7,9 @@ import "golang.org/x/text/internal/tag"
 // CLDRVersion is the CLDR version from which the tables in this package are derived.
 const CLDRVersion = "32"

-const NumLanguages = 8665
+const NumLanguages = 8677

-const NumScripts = 242
+const NumScripts = 245

 const NumRegions = 357

@@ -288,10 +288,10 @@ var langNoIndex = [2197]uint8{
    // Entry C0 - FF
    0xfb, 0x4a, 0xf2, 0x9f, 0xb4, 0x42, 0x41, 0x96,
    0x1b, 0x14, 0x08, 0xf2, 0x2b, 0xe7, 0x17, 0x56,
-   0x05, 0x7d, 0x0e, 0x1c, 0x37, 0x71, 0xf3, 0xef,
+   0x05, 0x7d, 0x0e, 0x1c, 0x37, 0x79, 0xf3, 0xef,
    0x97, 0xff, 0x5d, 0x38, 0x64, 0x08, 0x00, 0x10,
    0xbc, 0x85, 0xaf, 0xdf, 0xff, 0xf7, 0x73, 0x35,
-   0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x00, 0x81, 0x00,
+   0x3e, 0x87, 0xc7, 0xdf, 0xff, 0x01, 0x81, 0x00,
    0xb0, 0x05, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03,
    0x40, 0x00, 0x40, 0x92, 0x21, 0x50, 0xb1, 0x5d,
    // Entry 100 - 13F
@@ -334,26 +334,26 @@ var langNoIndex = [2197]uint8{
    0xdf, 0xc3, 0x83, 0x82, 0xc0, 0xfb, 0x57, 0x27,
    0xcd, 0x55, 0xe7, 0x01, 0x00, 0x20, 0xb2, 0xc5,
    0xa4, 0x45, 0x25, 0x9b, 0x02, 0xdf, 0xe0, 0xdf,
-   0x03, 0x44, 0x08, 0x10, 0x01, 0x04, 0x01, 0xe3,
-   0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xf6, 0x6d,
+   0x03, 0x44, 0x08, 0x90, 0x01, 0x04, 0x01, 0xe3,
+   0x92, 0x54, 0xdb, 0x28, 0xd1, 0x5f, 0xfe, 0x6d,
    0x79, 0xed, 0x1c, 0x7d, 0x04, 0x08, 0x00, 0x01,
    0x21, 0x12, 0x64, 0x5f, 0xdd, 0x0e, 0x85, 0x4f,
    0x40, 0x40, 0x00, 0x04, 0xf1, 0xfd, 0x3d, 0x54,
    // Entry 240 - 27F
    0xe8, 0x03, 0xb4, 0x27, 0x23, 0x0d, 0x00, 0x00,
-   0x20, 0x7b, 0x38, 0x02, 0x05, 0x84, 0x00, 0xf0,
+   0x20, 0x7b, 0x78, 0x02, 0x05, 0x84, 0x00, 0xf0,
    0xbb, 0x7e, 0x5a, 0x00, 0x18, 0x04, 0x81, 0x00,
    0x00, 0x00, 0x80, 0x10, 0x90, 0x1c, 0x01, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x04,
    0x08, 0xa0, 0x70, 0xa5, 0x0c, 0x40, 0x00, 0x00,
-   0x11, 0x04, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,
+   0x11, 0x24, 0x04, 0x68, 0x00, 0x20, 0x70, 0xff,
    0x7b, 0x7f, 0x60, 0x00, 0x05, 0x9b, 0xdd, 0x66,
    // Entry 280 - 2BF
    0x03, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x05,
    0xb5, 0xb6, 0x80, 0x08, 0x04, 0x00, 0x04, 0x51,
    0xe2, 0xef, 0xfd, 0x3f, 0x05, 0x09, 0x08, 0x05,
    0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
-   0x08, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
+   0x0c, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x60,
    0xe7, 0x48, 0x00, 0x81, 0x20, 0xc0, 0x05, 0x80,
    0x03, 0x00, 0x00, 0x00, 0x8c, 0x50, 0x40, 0x04,
    0x84, 0x47, 0x84, 0x40, 0x20, 0x10, 0x00, 0x20,
@@ -399,7 +399,7 @@ var langNoIndex = [2197]uint8{
    0xf1, 0xf9, 0x45, 0x80, 0x01, 0x02, 0x00, 0x00,
    0x40, 0x54, 0x9f, 0x8a, 0xd9, 0xd9, 0x0e, 0x11,
    0x86, 0x51, 0xc0, 0xf3, 0xfb, 0x47, 0x00, 0x01,
-   0x05, 0xd1, 0x50, 0x58, 0x00, 0x00, 0x00, 0x10,
+   0x05, 0xd1, 0x50, 0x5c, 0x00, 0x00, 0x00, 0x10,
    0x04, 0x02, 0x00, 0x00, 0x0a, 0x00, 0x17, 0xd2,
    0xb9, 0xfd, 0xfc, 0xba, 0xfe, 0xef, 0xc7, 0xbe,
    // Entry 400 - 43F
@@ -417,14 +417,14 @@ var langNoIndex = [2197]uint8{
    0x7f, 0x4e, 0xbf, 0x8f, 0xae, 0xff, 0xee, 0xdf,
    0x7f, 0xf7, 0x73, 0x02, 0x02, 0x04, 0xfc, 0xf7,
    0xff, 0xb7, 0xd7, 0xef, 0xfe, 0xcd, 0xf5, 0xce,
-   0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xbd,
+   0xe2, 0x8e, 0xe7, 0xbf, 0xb7, 0xff, 0x56, 0xfd,
    0xcd, 0xff, 0xfb, 0xff, 0xdf, 0xd7, 0xea, 0xff,
    0xe5, 0x5f, 0x6d, 0x0f, 0xa7, 0x51, 0x06, 0xc4,
    // Entry 480 - 4BF
    0x13, 0x50, 0x5d, 0xaf, 0xa6, 0xfd, 0x99, 0xfb,
    0x63, 0x1d, 0x53, 0xff, 0xef, 0xb7, 0x35, 0x20,
    0x14, 0x00, 0x55, 0x51, 0x82, 0x65, 0xf5, 0x41,
-   0xe2, 0xff, 0xfc, 0xdf, 0x00, 0x05, 0xc5, 0x05,
+   0xe2, 0xff, 0xfc, 0xdf, 0x02, 0x05, 0xc5, 0x05,
    0x00, 0x22, 0x00, 0x74, 0x69, 0x10, 0x08, 0x04,
    0x41, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x51, 0x20, 0x05, 0x04, 0x01, 0x00, 0x00,
@@ -437,7 +437,7 @@ var langNoIndex = [2197]uint8{
    0x13, 0x31, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x10, 0x00,
    0x01, 0x00, 0x00, 0xf0, 0x5b, 0xf4, 0xbe, 0x3d,
-   0xba, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,
+   0xbe, 0xcf, 0xf7, 0xaf, 0x42, 0x04, 0x84, 0x41,
    // Entry 500 - 53F
    0x30, 0xff, 0x79, 0x72, 0x04, 0x00, 0x00, 0x49,
    0x2d, 0x14, 0x27, 0x57, 0xed, 0xf1, 0x3f, 0xe7,
@@ -486,7 +486,7 @@ var langNoIndex = [2197]uint8{
    // Entry 640 - 67F
    0x75, 0xc4, 0x7d, 0x81, 0x92, 0xf1, 0x57, 0x6c,
    0xff, 0xe4, 0xef, 0x6f, 0xff, 0xfc, 0xdd, 0xde,
-   0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x1f, 0x00, 0x98,
+   0xfc, 0xfd, 0x76, 0x5f, 0x7a, 0x3f, 0x00, 0x98,
    0x02, 0xfb, 0xa3, 0xef, 0xf3, 0xd6, 0xf2, 0xff,
    0xb9, 0xda, 0x7d, 0x50, 0x1e, 0x15, 0x7b, 0xb4,
    0xf5, 0x3e, 0xff, 0xff, 0xf1, 0xf7, 0xff, 0xe7,
@@ -582,8 +582,8 @@ var altLangIndex = [6]uint16{
 }

 // AliasMap maps langIDs to their suggested replacements.
-// Size: 656 bytes, 164 elements
-var AliasMap = [164]FromTo{
+// Size: 660 bytes, 165 elements
+var AliasMap = [165]FromTo{
    0:   {From: 0x82, To: 0x88},
    1:   {From: 0x187, To: 0x1ae},
    2:   {From: 0x1f3, To: 0x1e1},
@@ -691,67 +691,68 @@ var AliasMap = [164]FromTo{
    104: {From: 0x2727, To: 0x3caf},
    105: {From: 0x2765, To: 0x26b4},
    106: {From: 0x2789, To: 0x4358},
-   107: {From: 0x28ef, To: 0x2837},
-   108: {From: 0x2914, To: 0x351},
-   109: {From: 0x2986, To: 0x2da7},
-   110: {From: 0x2b1a, To: 0x38d},
-   111: {From: 0x2bfc, To: 0x395},
-   112: {From: 0x2c3f, To: 0x3caf},
-   113: {From: 0x2cfc, To: 0x3be},
-   114: {From: 0x2d13, To: 0x597},
-   115: {From: 0x2d47, To: 0x148},
-   116: {From: 0x2d48, To: 0x148},
-   117: {From: 0x2dff, To: 0x2f1},
-   118: {From: 0x2e08, To: 0x19cc},
-   119: {From: 0x2e1a, To: 0x2d95},
-   120: {From: 0x2e21, To: 0x292},
-   121: {From: 0x2e54, To: 0x7d},
-   122: {From: 0x2e65, To: 0x2282},
-   123: {From: 0x2ea0, To: 0x2e9b},
-   124: {From: 0x2eef, To: 0x2ed7},
-   125: {From: 0x3193, To: 0x3c4},
-   126: {From: 0x3366, To: 0x338e},
-   127: {From: 0x342a, To: 0x3dc},
-   128: {From: 0x34ee, To: 0x18d0},
-   129: {From: 0x35c8, To: 0x2c9b},
-   130: {From: 0x35e6, To: 0x412},
-   131: {From: 0x3658, To: 0x246},
-   132: {From: 0x3676, To: 0x3f4},
-   133: {From: 0x36fd, To: 0x445},
-   134: {From: 0x37c0, To: 0x121},
-   135: {From: 0x3816, To: 0x38f2},
-   136: {From: 0x382b, To: 0x2c9b},
-   137: {From: 0x382f, To: 0xa9},
-   138: {From: 0x3832, To: 0x3228},
-   139: {From: 0x386c, To: 0x39a6},
-   140: {From: 0x3892, To: 0x3fc0},
-   141: {From: 0x38a5, To: 0x39d7},
-   142: {From: 0x38b4, To: 0x1fa4},
-   143: {From: 0x38b5, To: 0x2e9a},
-   144: {From: 0x395c, To: 0x47e},
-   145: {From: 0x3b4e, To: 0xd91},
-   146: {From: 0x3b78, To: 0x137},
-   147: {From: 0x3c99, To: 0x4bc},
-   148: {From: 0x3fbd, To: 0x100},
-   149: {From: 0x4208, To: 0xa91},
-   150: {From: 0x42be, To: 0x573},
-   151: {From: 0x42f9, To: 0x3f60},
-   152: {From: 0x4378, To: 0x25a},
-   153: {From: 0x43cb, To: 0x36cb},
-   154: {From: 0x43cd, To: 0x10f},
-   155: {From: 0x44af, To: 0x3322},
-   156: {From: 0x44e3, To: 0x512},
-   157: {From: 0x45ca, To: 0x2409},
-   158: {From: 0x45dd, To: 0x26dc},
-   159: {From: 0x4610, To: 0x48ae},
-   160: {From: 0x46ae, To: 0x46a0},
-   161: {From: 0x473e, To: 0x4745},
-   162: {From: 0x4916, To: 0x31f},
-   163: {From: 0x49a7, To: 0x523},
+   107: {From: 0x27c9, To: 0x2001},
+   108: {From: 0x28ef, To: 0x2837},
+   109: {From: 0x2914, To: 0x351},
+   110: {From: 0x2986, To: 0x2da7},
+   111: {From: 0x2b1a, To: 0x38d},
+   112: {From: 0x2bfc, To: 0x395},
+   113: {From: 0x2c3f, To: 0x3caf},
+   114: {From: 0x2cfc, To: 0x3be},
+   115: {From: 0x2d13, To: 0x597},
+   116: {From: 0x2d47, To: 0x148},
+   117: {From: 0x2d48, To: 0x148},
+   118: {From: 0x2dff, To: 0x2f1},
+   119: {From: 0x2e08, To: 0x19cc},
+   120: {From: 0x2e1a, To: 0x2d95},
+   121: {From: 0x2e21, To: 0x292},
+   122: {From: 0x2e54, To: 0x7d},
+   123: {From: 0x2e65, To: 0x2282},
+   124: {From: 0x2ea0, To: 0x2e9b},
+   125: {From: 0x2eef, To: 0x2ed7},
+   126: {From: 0x3193, To: 0x3c4},
+   127: {From: 0x3366, To: 0x338e},
+   128: {From: 0x342a, To: 0x3dc},
+   129: {From: 0x34ee, To: 0x18d0},
+   130: {From: 0x35c8, To: 0x2c9b},
+   131: {From: 0x35e6, To: 0x412},
+   132: {From: 0x3658, To: 0x246},
+   133: {From: 0x3676, To: 0x3f4},
+   134: {From: 0x36fd, To: 0x445},
+   135: {From: 0x37c0, To: 0x121},
+   136: {From: 0x3816, To: 0x38f2},
+   137: {From: 0x382b, To: 0x2c9b},
+   138: {From: 0x382f, To: 0xa9},
+   139: {From: 0x3832, To: 0x3228},
+   140: {From: 0x386c, To: 0x39a6},
+   141: {From: 0x3892, To: 0x3fc0},
+   142: {From: 0x38a5, To: 0x39d7},
+   143: {From: 0x38b4, To: 0x1fa4},
+   144: {From: 0x38b5, To: 0x2e9a},
+   145: {From: 0x395c, To: 0x47e},
+   146: {From: 0x3b4e, To: 0xd91},
+   147: {From: 0x3b78, To: 0x137},
+   148: {From: 0x3c99, To: 0x4bc},
+   149: {From: 0x3fbd, To: 0x100},
+   150: {From: 0x4208, To: 0xa91},
+   151: {From: 0x42be, To: 0x573},
+   152: {From: 0x42f9, To: 0x3f60},
+   153: {From: 0x4378, To: 0x25a},
+   154: {From: 0x43cb, To: 0x36cb},
+   155: {From: 0x43cd, To: 0x10f},
+   156: {From: 0x44af, To: 0x3322},
+   157: {From: 0x44e3, To: 0x512},
+   158: {From: 0x45ca, To: 0x2409},
+   159: {From: 0x45dd, To: 0x26dc},
+   160: {From: 0x4610, To: 0x48ae},
+   161: {From: 0x46ae, To: 0x46a0},
+   162: {From: 0x473e, To: 0x4745},
+   163: {From: 0x4916, To: 0x31f},
+   164: {From: 0x49a7, To: 0x523},
 }

-// Size: 164 bytes, 164 elements
-var AliasTypes = [164]AliasType{
+// Size: 165 bytes, 165 elements
+var AliasTypes = [165]AliasType{
    // Entry 0 - 3F
    1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 1, 0, 0, 1, 2,
    1, 1, 2, 0, 1, 0, 1, 2, 1, 1, 0, 0, 2, 1, 1, 0,
@@ -760,12 +761,12 @@ var AliasTypes = [164]AliasType{
    // Entry 40 - 7F
    1, 0, 1, 1, 1, 1, 0, 0, 2, 1, 0, 0, 0, 0, 1, 1,
    1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
-   2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1,
-   0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2,
+   2, 2, 2, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1,
+   1, 0, 1, 0, 2, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1,
    // Entry 80 - BF
-   0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
-   1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,
-   0, 1, 1, 1,
+   2, 0, 0, 2, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0,
+   0, 1, 1, 0, 1, 2, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0,
+   0, 0, 1, 1, 1,
 }

 const (
@@ -776,14 +777,14 @@ const (
    _Qaaa = 139
    _Qaai = 147
    _Qabx = 188
-   _Zinh = 236
-   _Zyyy = 241
-   _Zzzz = 242
+   _Zinh = 239
+   _Zyyy = 244
+   _Zzzz = 245
 )

 // script is an alphabetically sorted list of ISO 15924 codes. The index
 // of the script in the string, divided by 4, is the internal scriptID.
-const script tag.Index = "" + // Size: 976 bytes
+const script tag.Index = "" + // Size: 988 bytes
    "----AdlmAfakAghbAhomArabAranArmiArmnAvstBaliBamuBassBatkBengBhksBlisBopo" +
    "BrahBraiBugiBuhdCakmCansCariChamCherCirtCoptCpmnCprtCyrlCyrsDevaDogrDsrt" +
    "DuplEgydEgyhEgypElbaEthiGeokGeorGlagGongGonmGothGranGrekGujrGuruHanbHang" +
@@ -794,10 +795,10 @@ const script tag.Index = "" + // Size: 976 bytes
    "OsgeOsmaPalmPaucPermPhagPhliPhlpPhlvPhnxPiqdPlrdPrtiQaaaQaabQaacQaadQaae" +
    "QaafQaagQaahQaaiQaajQaakQaalQaamQaanQaaoQaapQaaqQaarQaasQaatQaauQaavQaaw" +
    "QaaxQaayQaazQabaQabbQabcQabdQabeQabfQabgQabhQabiQabjQabkQablQabmQabnQabo" +
-   "QabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRoroRunrSamrSaraSarbSaurSgnwShaw" +
-   "ShrdShuiSiddSindSinhSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakrTaleTaluTaml" +
-   "TangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWchoWoleXpeoXsux" +
-   "YiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz\xff\xff\xff\xff"
+   "QabpQabqQabrQabsQabtQabuQabvQabwQabxRjngRohgRoroRunrSamrSaraSarbSaurSgnw" +
+   "ShawShrdShuiSiddSindSinhSogdSogoSoraSoyoSundSyloSyrcSyreSyrjSyrnTagbTakr" +
+   "TaleTaluTamlTangTavtTeluTengTfngTglgThaaThaiTibtTirhUgarVaiiVispWaraWcho" +
+   "WoleXpeoXsuxYiiiZanbZinhZmthZsyeZsymZxxxZyyyZzzz\xff\xff\xff\xff"

 // suppressScript is an index from langID to the dominant script for that language,
 // if it exists.  If a script is given, it should be suppressed from the language tag.
@@ -845,7 +846,7 @@ var suppressScript = [1330]uint8{
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0xde, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
+   0xe1, 0x00, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00,
    0x00, 0x57, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00,
    // Entry 140 - 17F
@@ -949,7 +950,7 @@ var suppressScript = [1330]uint8{
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    // Entry 400 - 43F
    0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
    0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -959,10 +960,10 @@ var suppressScript = [1330]uint8{
    // Entry 440 - 47F
    0x00, 0x00, 0x00, 0x00, 0x57, 0x57, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+   0xda, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0xda, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
-   0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x29,
+   0x00, 0xdd, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
+   0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x29,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
    0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x57, 0x00,
    // Entry 480 - 4BF
@@ -1255,97 +1256,112 @@ var fromM49 = [333]uint16{
    0xc759, 0xc95a, 0xcb5b, 0xcd5c, 0xcf65,
 }

-// Size: 1615 bytes
+// Size: 1900 bytes
 var variantIndex = map[string]uint8{
    "1606nict": 0x0,
    "1694acad": 0x1,
    "1901":     0x2,
    "1959acad": 0x3,
-   "1994":     0x4d,
+   "1994":     0x5b,
    "1996":     0x4,
    "abl1943":  0x5,
    "akuapem":  0x6,
-   "alalc97":  0x4f,
+   "alalc97":  0x5d,
    "aluku":    0x7,
    "ao1990":   0x8,
-   "arevela":  0x9,
-   "arevmda":  0xa,
-   "asante":   0xb,
-   "baku1926": 0xc,
-   "balanka":  0xd,
-   "barla":    0xe,
-   "basiceng": 0xf,
-   "bauddha":  0x10,
-   "biscayan": 0x11,
-   "biske":    0x48,
-   "bohoric":  0x12,
-   "boont":    0x13,
-   "colb1945": 0x14,
-   "cornu":    0x15,
-   "dajnko":   0x16,
-   "ekavsk":   0x17,
-   "emodeng":  0x18,
-   "fonipa":   0x50,
-   "fonnapa":  0x51,
-   "fonupa":   0x52,
-   "fonxsamp": 0x53,
-   "hepburn":  0x19,
-   "heploc":   0x4e,
-   "hognorsk": 0x1a,
-   "hsistemo": 0x1b,
-   "ijekavsk": 0x1c,
-   "itihasa":  0x1d,
-   "jauer":    0x1e,
-   "jyutping": 0x1f,
-   "kkcor":    0x20,
-   "kociewie": 0x21,
-   "kscor":    0x22,
-   "laukika":  0x23,
-   "lipaw":    0x49,
-   "luna1918": 0x24,
-   "metelko":  0x25,
-   "monoton":  0x26,
-   "ndyuka":   0x27,
-   "nedis":    0x28,
-   "newfound": 0x29,
-   "njiva":    0x4a,
-   "nulik":    0x2a,
-   "osojs":    0x4b,
-   "oxendict": 0x2b,
-   "pahawh2":  0x2c,
-   "pahawh3":  0x2d,
-   "pahawh4":  0x2e,
-   "pamaka":   0x2f,
-   "petr1708": 0x30,
-   "pinyin":   0x31,
-   "polyton":  0x32,
-   "puter":    0x33,
-   "rigik":    0x34,
-   "rozaj":    0x35,
-   "rumgr":    0x36,
-   "scotland": 0x37,
-   "scouse":   0x38,
-   "simple":   0x54,
-   "solba":    0x4c,
-   "sotav":    0x39,
-   "spanglis": 0x3a,
-   "surmiran": 0x3b,
-   "sursilv":  0x3c,
-   "sutsilv":  0x3d,
-   "tarask":   0x3e,
-   "uccor":    0x3f,
-   "ucrcor":   0x40,
-   "ulster":   0x41,
-   "unifon":   0x42,
-   "vaidika":  0x43,
-   "valencia": 0x44,
-   "vallader": 0x45,
-   "wadegile": 0x46,
-   "xsistemo": 0x47,
+   "aranes":   0x9,
+   "arevela":  0xa,
+   "arevmda":  0xb,
+   "asante":   0xc,
+   "auvern":   0xd,
+   "baku1926": 0xe,
+   "balanka":  0xf,
+   "barla":    0x10,
+   "basiceng": 0x11,
+   "bauddha":  0x12,
+   "biscayan": 0x13,
+   "biske":    0x56,
+   "bohoric":  0x14,
+   "boont":    0x15,
+   "cisaup":   0x16,
+   "colb1945": 0x17,
+   "cornu":    0x18,
+   "creiss":   0x19,
+   "dajnko":   0x1a,
+   "ekavsk":   0x1b,
+   "emodeng":  0x1c,
+   "fonipa":   0x5e,
+   "fonkirsh": 0x5f,
+   "fonnapa":  0x60,
+   "fonupa":   0x61,
+   "fonxsamp": 0x62,
+   "gascon":   0x1d,
+   "grclass":  0x1e,
+   "grital":   0x1f,
+   "grmistr":  0x20,
+   "hepburn":  0x21,
+   "heploc":   0x5c,
+   "hognorsk": 0x22,
+   "hsistemo": 0x23,
+   "ijekavsk": 0x24,
+   "itihasa":  0x25,
+   "ivanchov": 0x26,
+   "jauer":    0x27,
+   "jyutping": 0x28,
+   "kkcor":    0x29,
+   "kociewie": 0x2a,
+   "kscor":    0x2b,
+   "laukika":  0x2c,
+   "lemosin":  0x2d,
+   "lengadoc": 0x2e,
+   "lipaw":    0x57,
+   "luna1918": 0x2f,
+   "metelko":  0x30,
+   "monoton":  0x31,
+   "ndyuka":   0x32,
+   "nedis":    0x33,
+   "newfound": 0x34,
+   "nicard":   0x35,
+   "njiva":    0x58,
+   "nulik":    0x36,
+   "osojs":    0x59,
+   "oxendict": 0x37,
+   "pahawh2":  0x38,
+   "pahawh3":  0x39,
+   "pahawh4":  0x3a,
+   "pamaka":   0x3b,
+   "petr1708": 0x3c,
+   "pinyin":   0x3d,
+   "polyton":  0x3e,
+   "provenc":  0x3f,
+   "puter":    0x40,
+   "rigik":    0x41,
+   "rozaj":    0x42,
+   "rumgr":    0x43,
+   "scotland": 0x44,
+   "scouse":   0x45,
+   "simple":   0x63,
+   "solba":    0x5a,
+   "sotav":    0x46,
+   "spanglis": 0x47,
+   "surmiran": 0x48,
+   "sursilv":  0x49,
+   "sutsilv":  0x4a,
+   "tarask":   0x4b,
+   "uccor":    0x4c,
+   "ucrcor":   0x4d,
+   "ulster":   0x4e,
+   "unifon":   0x4f,
+   "vaidika":  0x50,
+   "valencia": 0x51,
+   "vallader": 0x52,
+   "vivaraup": 0x53,
+   "wadegile": 0x54,
+   "xsistemo": 0x55,
 }

 // variantNumSpecialized is the number of specialized variants in variants.
-const variantNumSpecialized = 79
+const variantNumSpecialized = 93

 // nRegionGroups is the number of region groups.
 const nRegionGroups = 33
@@ -1357,8 +1373,8 @@ type likelyLangRegion struct {

 // likelyScript is a lookup table, indexed by scriptID, for the most likely
 // languages and regions given a script.
-// Size: 976 bytes, 244 elements
-var likelyScript = [244]likelyLangRegion{
+// Size: 988 bytes, 247 elements
+var likelyScript = [247]likelyLangRegion{
    1:   {lang: 0x14e, region: 0x84},
    3:   {lang: 0x2a2, region: 0x106},
    4:   {lang: 0x1f, region: 0x99},
@@ -1466,42 +1482,42 @@ var likelyScript = [244]likelyLangRegion{
    137: {lang: 0x1c6, region: 0x53},
    138: {lang: 0x4fd, region: 0x9c},
    189: {lang: 0x3cb, region: 0x95},
-   191: {lang: 0x372, region: 0x10c},
-   192: {lang: 0x420, region: 0x97},
-   194: {lang: 0x4ff, region: 0x15e},
-   195: {lang: 0x3f0, region: 0x99},
-   196: {lang: 0x45, region: 0x135},
-   197: {lang: 0x139, region: 0x7b},
-   198: {lang: 0x3e9, region: 0x99},
-   200: {lang: 0x3e9, region: 0x99},
-   201: {lang: 0x3fa, region: 0x99},
-   202: {lang: 0x40c, region: 0xb3},
-   203: {lang: 0x433, region: 0x99},
-   204: {lang: 0xef, region: 0xc5},
-   205: {lang: 0x43e, region: 0x95},
-   206: {lang: 0x44d, region: 0x35},
-   207: {lang: 0x44e, region: 0x9b},
-   211: {lang: 0x45a, region: 0xe7},
-   212: {lang: 0x11a, region: 0x99},
-   213: {lang: 0x45e, region: 0x53},
-   214: {lang: 0x232, region: 0x53},
-   215: {lang: 0x450, region: 0x99},
-   216: {lang: 0x4a5, region: 0x53},
-   217: {lang: 0x9f, region: 0x13e},
-   218: {lang: 0x461, region: 0x99},
-   220: {lang: 0x528, region: 0xba},
-   221: {lang: 0x153, region: 0xe7},
-   222: {lang: 0x128, region: 0xcd},
-   223: {lang: 0x46b, region: 0x123},
-   224: {lang: 0xa9, region: 0x53},
-   225: {lang: 0x2ce, region: 0x99},
-   226: {lang: 0x4ad, region: 0x11c},
-   227: {lang: 0x4be, region: 0xb4},
-   229: {lang: 0x1ce, region: 0x99},
-   232: {lang: 0x3a9, region: 0x9c},
-   233: {lang: 0x22, region: 0x9b},
-   234: {lang: 0x1ea, region: 0x53},
-   235: {lang: 0xef, region: 0xc5},
+   192: {lang: 0x372, region: 0x10c},
+   193: {lang: 0x420, region: 0x97},
+   195: {lang: 0x4ff, region: 0x15e},
+   196: {lang: 0x3f0, region: 0x99},
+   197: {lang: 0x45, region: 0x135},
+   198: {lang: 0x139, region: 0x7b},
+   199: {lang: 0x3e9, region: 0x99},
+   201: {lang: 0x3e9, region: 0x99},
+   202: {lang: 0x3fa, region: 0x99},
+   203: {lang: 0x40c, region: 0xb3},
+   206: {lang: 0x433, region: 0x99},
+   207: {lang: 0xef, region: 0xc5},
+   208: {lang: 0x43e, region: 0x95},
+   209: {lang: 0x44d, region: 0x35},
+   210: {lang: 0x44e, region: 0x9b},
+   214: {lang: 0x45a, region: 0xe7},
+   215: {lang: 0x11a, region: 0x99},
+   216: {lang: 0x45e, region: 0x53},
+   217: {lang: 0x232, region: 0x53},
+   218: {lang: 0x450, region: 0x99},
+   219: {lang: 0x4a5, region: 0x53},
+   220: {lang: 0x9f, region: 0x13e},
+   221: {lang: 0x461, region: 0x99},
+   223: {lang: 0x528, region: 0xba},
+   224: {lang: 0x153, region: 0xe7},
+   225: {lang: 0x128, region: 0xcd},
+   226: {lang: 0x46b, region: 0x123},
+   227: {lang: 0xa9, region: 0x53},
+   228: {lang: 0x2ce, region: 0x99},
+   229: {lang: 0x4ad, region: 0x11c},
+   230: {lang: 0x4be, region: 0xb4},
+   232: {lang: 0x1ce, region: 0x99},
+   235: {lang: 0x3a9, region: 0x9c},
+   236: {lang: 0x22, region: 0x9b},
+   237: {lang: 0x1ea, region: 0x53},
+   238: {lang: 0xef, region: 0xc5},
 }

 type likelyScriptRegion struct {
@@ -1550,7 +1566,7 @@ var likelyLang = [1330]likelyScriptRegion{
    31:   {region: 0x99, script: 0x4, flags: 0x0},
    32:   {region: 0x165, script: 0x57, flags: 0x0},
    33:   {region: 0x80, script: 0x57, flags: 0x0},
-   34:   {region: 0x9b, script: 0xe9, flags: 0x0},
+   34:   {region: 0x9b, script: 0xec, flags: 0x0},
    35:   {region: 0x165, script: 0x57, flags: 0x0},
    36:   {region: 0x165, script: 0x57, flags: 0x0},
    37:   {region: 0x14d, script: 0x57, flags: 0x0},
@@ -1583,7 +1599,7 @@ var likelyLang = [1330]likelyScriptRegion{
    66:   {region: 0x6b, script: 0x5, flags: 0x0},
    67:   {region: 0x99, script: 0xe, flags: 0x0},
    68:   {region: 0x12f, script: 0x57, flags: 0x0},
-   69:   {region: 0x135, script: 0xc4, flags: 0x0},
+   69:   {region: 0x135, script: 0xc5, flags: 0x0},
    70:   {region: 0x165, script: 0x57, flags: 0x0},
    71:   {region: 0x165, script: 0x57, flags: 0x0},
    72:   {region: 0x6e, script: 0x57, flags: 0x0},
@@ -1637,7 +1653,7 @@ var likelyLang = [1330]likelyScriptRegion{
    120:  {region: 0x165, script: 0x57, flags: 0x0},
    121:  {region: 0x12f, script: 0x57, flags: 0x0},
    122:  {region: 0x52, script: 0x57, flags: 0x0},
-   123:  {region: 0x99, script: 0xd7, flags: 0x0},
+   123:  {region: 0x99, script: 0xda, flags: 0x0},
    124:  {region: 0xe8, script: 0x5, flags: 0x0},
    125:  {region: 0x99, script: 0x21, flags: 0x0},
    126:  {region: 0x38, script: 0x1f, flags: 0x0},
@@ -1672,7 +1688,7 @@ var likelyLang = [1330]likelyScriptRegion{
    156:  {region: 0x165, script: 0x57, flags: 0x0},
    157:  {region: 0xe7, script: 0x57, flags: 0x0},
    158:  {region: 0x165, script: 0x57, flags: 0x0},
-   159:  {region: 0x13e, script: 0xd9, flags: 0x0},
+   159:  {region: 0x13e, script: 0xdc, flags: 0x0},
    160:  {region: 0xc3, script: 0x57, flags: 0x0},
    161:  {region: 0x165, script: 0x57, flags: 0x0},
    162:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -1682,7 +1698,7 @@ var likelyLang = [1330]likelyScriptRegion{
    166:  {region: 0x165, script: 0x57, flags: 0x0},
    167:  {region: 0x165, script: 0x57, flags: 0x0},
    168:  {region: 0x165, script: 0x57, flags: 0x0},
-   169:  {region: 0x53, script: 0xe0, flags: 0x0},
+   169:  {region: 0x53, script: 0xe3, flags: 0x0},
    170:  {region: 0x165, script: 0x57, flags: 0x0},
    171:  {region: 0x165, script: 0x57, flags: 0x0},
    172:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -1752,7 +1768,7 @@ var likelyLang = [1330]likelyScriptRegion{
    236:  {region: 0x165, script: 0x57, flags: 0x0},
    237:  {region: 0x165, script: 0x57, flags: 0x0},
    238:  {region: 0x165, script: 0x57, flags: 0x0},
-   239:  {region: 0xc5, script: 0xcc, flags: 0x0},
+   239:  {region: 0xc5, script: 0xcf, flags: 0x0},
    240:  {region: 0x78, script: 0x57, flags: 0x0},
    241:  {region: 0x6b, script: 0x1c, flags: 0x0},
    242:  {region: 0xe7, script: 0x57, flags: 0x0},
@@ -1809,12 +1825,12 @@ var likelyLang = [1330]likelyScriptRegion{
    293:  {region: 0x165, script: 0x57, flags: 0x0},
    294:  {region: 0x165, script: 0x57, flags: 0x0},
    295:  {region: 0x165, script: 0x57, flags: 0x0},
-   296:  {region: 0xcd, script: 0xde, flags: 0x0},
+   296:  {region: 0xcd, script: 0xe1, flags: 0x0},
    297:  {region: 0x165, script: 0x57, flags: 0x0},
    298:  {region: 0x165, script: 0x57, flags: 0x0},
    299:  {region: 0x114, script: 0x57, flags: 0x0},
    300:  {region: 0x37, script: 0x57, flags: 0x0},
-   301:  {region: 0x43, script: 0xe0, flags: 0x0},
+   301:  {region: 0x43, script: 0xe3, flags: 0x0},
    302:  {region: 0x165, script: 0x57, flags: 0x0},
    303:  {region: 0xa4, script: 0x57, flags: 0x0},
    304:  {region: 0x80, script: 0x57, flags: 0x0},
@@ -1924,7 +1940,7 @@ var likelyLang = [1330]likelyScriptRegion{
    408:  {region: 0x165, script: 0x29, flags: 0x0},
    409:  {region: 0x165, script: 0x57, flags: 0x0},
    410:  {region: 0x99, script: 0x21, flags: 0x0},
-   411:  {region: 0x99, script: 0xda, flags: 0x0},
+   411:  {region: 0x99, script: 0xdd, flags: 0x0},
    412:  {region: 0x95, script: 0x57, flags: 0x0},
    413:  {region: 0xd9, script: 0x57, flags: 0x0},
    414:  {region: 0x130, script: 0x2f, flags: 0x0},
@@ -2002,7 +2018,7 @@ var likelyLang = [1330]likelyScriptRegion{
    487:  {region: 0xd6, script: 0x57, flags: 0x0},
    488:  {region: 0x165, script: 0x57, flags: 0x0},
    489:  {region: 0x165, script: 0x57, flags: 0x0},
-   490:  {region: 0x53, script: 0xea, flags: 0x0},
+   490:  {region: 0x53, script: 0xed, flags: 0x0},
    491:  {region: 0x165, script: 0x57, flags: 0x0},
    492:  {region: 0x135, script: 0x57, flags: 0x0},
    493:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -2062,7 +2078,7 @@ var likelyLang = [1330]likelyScriptRegion{
    547:  {region: 0x12f, script: 0x57, flags: 0x0},
    548:  {region: 0x122, script: 0x5, flags: 0x0},
    549:  {region: 0x165, script: 0x57, flags: 0x0},
-   550:  {region: 0x123, script: 0xdf, flags: 0x0},
+   550:  {region: 0x123, script: 0xe2, flags: 0x0},
    551:  {region: 0x5a, script: 0x57, flags: 0x0},
    552:  {region: 0x52, script: 0x57, flags: 0x0},
    553:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -2074,7 +2090,7 @@ var likelyLang = [1330]likelyScriptRegion{
    559:  {region: 0x165, script: 0x57, flags: 0x0},
    560:  {region: 0x41, script: 0x57, flags: 0x0},
    561:  {region: 0x99, script: 0x57, flags: 0x0},
-   562:  {region: 0x53, script: 0xd6, flags: 0x0},
+   562:  {region: 0x53, script: 0xd9, flags: 0x0},
    563:  {region: 0x99, script: 0x21, flags: 0x0},
    564:  {region: 0xc3, script: 0x57, flags: 0x0},
    565:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -2158,7 +2174,7 @@ var likelyLang = [1330]likelyScriptRegion{
    643:  {region: 0x165, script: 0x57, flags: 0x0},
    644:  {region: 0x165, script: 0x57, flags: 0x0},
    645:  {region: 0x165, script: 0x29, flags: 0x0},
-   646:  {region: 0x123, script: 0xdf, flags: 0x0},
+   646:  {region: 0x123, script: 0xe2, flags: 0x0},
    647:  {region: 0xe8, script: 0x5, flags: 0x0},
    648:  {region: 0x165, script: 0x57, flags: 0x0},
    649:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -2178,7 +2194,7 @@ var likelyLang = [1330]likelyScriptRegion{
    663:  {region: 0x165, script: 0x57, flags: 0x0},
    664:  {region: 0x95, script: 0x57, flags: 0x0},
    665:  {region: 0x165, script: 0x57, flags: 0x0},
-   666:  {region: 0x53, script: 0xdf, flags: 0x0},
+   666:  {region: 0x53, script: 0xe2, flags: 0x0},
    667:  {region: 0x165, script: 0x57, flags: 0x0},
    668:  {region: 0x165, script: 0x57, flags: 0x0},
    669:  {region: 0x165, script: 0x57, flags: 0x0},
@@ -2202,7 +2218,7 @@ var likelyLang = [1330]likelyScriptRegion{
    687:  {region: 0x135, script: 0x57, flags: 0x0},
    688:  {region: 0x165, script: 0x57, flags: 0x0},
    689:  {region: 0x165, script: 0x57, flags: 0x0},
-   690:  {region: 0x99, script: 0xda, flags: 0x0},
+   690:  {region: 0x99, script: 0xdd, flags: 0x0},
    691:  {region: 0x9e, script: 0x57, flags: 0x0},
    692:  {region: 0x165, script: 0x57, flags: 0x0},
    693:  {region: 0x4b, script: 0x57, flags: 0x0},
@@ -2224,7 +2240,7 @@ var likelyLang = [1330]likelyScriptRegion{
    709:  {region: 0xa4, script: 0x57, flags: 0x0},
    710:  {region: 0x9c, script: 0x5, flags: 0x0},
    711:  {region: 0xb8, script: 0x57, flags: 0x0},
-   712:  {region: 0x123, script: 0xdf, flags: 0x0},
+   712:  {region: 0x123, script: 0xe2, flags: 0x0},
    713:  {region: 0x53, script: 0x38, flags: 0x0},
    714:  {region: 0x12b, script: 0x57, flags: 0x0},
    715:  {region: 0x95, script: 0x57, flags: 0x0},
@@ -2391,7 +2407,7 @@ var likelyLang = [1330]likelyScriptRegion{
    879:  {region: 0xda, script: 0x57, flags: 0x0},
    880:  {region: 0x123, script: 0x53, flags: 0x0},
    881:  {region: 0x99, script: 0x21, flags: 0x0},
-   882:  {region: 0x10c, script: 0xbf, flags: 0x0},
+   882:  {region: 0x10c, script: 0xc0, flags: 0x0},
    883:  {region: 0x165, script: 0x57, flags: 0x0},
    884:  {region: 0x165, script: 0x57, flags: 0x0},
    885:  {region: 0x84, script: 0x78, flags: 0x0},
@@ -2445,7 +2461,7 @@ var likelyLang = [1330]likelyScriptRegion{
    934:  {region: 0x135, script: 0x57, flags: 0x0},
    935:  {region: 0x49, script: 0x57, flags: 0x0},
    936:  {region: 0x165, script: 0x57, flags: 0x0},
-   937:  {region: 0x9c, script: 0xe8, flags: 0x0},
+   937:  {region: 0x9c, script: 0xeb, flags: 0x0},
    938:  {region: 0x165, script: 0x57, flags: 0x0},
    939:  {region: 0x60, script: 0x57, flags: 0x0},
    940:  {region: 0x165, script: 0x5, flags: 0x0},
@@ -2515,7 +2531,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1005: {region: 0x95, script: 0x57, flags: 0x0},
    1006: {region: 0x99, script: 0x57, flags: 0x0},
    1007: {region: 0x114, script: 0x57, flags: 0x0},
-   1008: {region: 0x99, script: 0xc3, flags: 0x0},
+   1008: {region: 0x99, script: 0xc4, flags: 0x0},
    1009: {region: 0x165, script: 0x57, flags: 0x0},
    1010: {region: 0x165, script: 0x57, flags: 0x0},
    1011: {region: 0x12f, script: 0x57, flags: 0x0},
@@ -2538,11 +2554,11 @@ var likelyLang = [1330]likelyScriptRegion{
    1028: {region: 0xb6, script: 0x57, flags: 0x0},
    1029: {region: 0x165, script: 0x29, flags: 0x0},
    1030: {region: 0x165, script: 0x57, flags: 0x0},
-   1032: {region: 0xba, script: 0xdc, flags: 0x0},
+   1032: {region: 0xba, script: 0xdf, flags: 0x0},
    1033: {region: 0x165, script: 0x57, flags: 0x0},
    1034: {region: 0xc4, script: 0x72, flags: 0x0},
    1035: {region: 0x165, script: 0x5, flags: 0x0},
-   1036: {region: 0xb3, script: 0xca, flags: 0x0},
+   1036: {region: 0xb3, script: 0xcb, flags: 0x0},
    1037: {region: 0x6f, script: 0x57, flags: 0x0},
    1038: {region: 0x165, script: 0x57, flags: 0x0},
    1039: {region: 0x165, script: 0x57, flags: 0x0},
@@ -2561,7 +2577,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1052: {region: 0x10c, script: 0x57, flags: 0x0},
    1054: {region: 0x10c, script: 0x57, flags: 0x0},
    1055: {region: 0x72, script: 0x57, flags: 0x0},
-   1056: {region: 0x97, script: 0xc0, flags: 0x0},
+   1056: {region: 0x97, script: 0xc1, flags: 0x0},
    1057: {region: 0x165, script: 0x57, flags: 0x0},
    1058: {region: 0x72, script: 0x57, flags: 0x0},
    1059: {region: 0x164, script: 0x57, flags: 0x0},
@@ -2573,14 +2589,14 @@ var likelyLang = [1330]likelyScriptRegion{
    1065: {region: 0x115, script: 0x57, flags: 0x0},
    1066: {region: 0x165, script: 0x57, flags: 0x0},
    1067: {region: 0x165, script: 0x57, flags: 0x0},
-   1068: {region: 0x123, script: 0xdf, flags: 0x0},
+   1068: {region: 0x123, script: 0xe2, flags: 0x0},
    1069: {region: 0x165, script: 0x57, flags: 0x0},
    1070: {region: 0x165, script: 0x57, flags: 0x0},
    1071: {region: 0x165, script: 0x57, flags: 0x0},
    1072: {region: 0x165, script: 0x57, flags: 0x0},
    1073: {region: 0x27, script: 0x57, flags: 0x0},
    1074: {region: 0x37, script: 0x5, flags: 0x1},
-   1075: {region: 0x99, script: 0xcb, flags: 0x0},
+   1075: {region: 0x99, script: 0xce, flags: 0x0},
    1076: {region: 0x116, script: 0x57, flags: 0x0},
    1077: {region: 0x114, script: 0x57, flags: 0x0},
    1078: {region: 0x99, script: 0x21, flags: 0x0},
@@ -2607,9 +2623,9 @@ var likelyLang = [1330]likelyScriptRegion{
    1099: {region: 0x95, script: 0x57, flags: 0x0},
    1100: {region: 0x165, script: 0x57, flags: 0x0},
    1101: {region: 0x35, script: 0xe, flags: 0x0},
-   1102: {region: 0x9b, script: 0xcf, flags: 0x0},
+   1102: {region: 0x9b, script: 0xd2, flags: 0x0},
    1103: {region: 0xe9, script: 0x57, flags: 0x0},
-   1104: {region: 0x99, script: 0xd7, flags: 0x0},
+   1104: {region: 0x99, script: 0xda, flags: 0x0},
    1105: {region: 0xdb, script: 0x21, flags: 0x0},
    1106: {region: 0x165, script: 0x57, flags: 0x0},
    1107: {region: 0x165, script: 0x57, flags: 0x0},
@@ -2623,10 +2639,10 @@ var likelyLang = [1330]likelyScriptRegion{
    1115: {region: 0x165, script: 0x57, flags: 0x0},
    1116: {region: 0x165, script: 0x57, flags: 0x0},
    1117: {region: 0x99, script: 0x4f, flags: 0x0},
-   1118: {region: 0x53, script: 0xd5, flags: 0x0},
+   1118: {region: 0x53, script: 0xd8, flags: 0x0},
    1119: {region: 0xdb, script: 0x21, flags: 0x0},
    1120: {region: 0xdb, script: 0x21, flags: 0x0},
-   1121: {region: 0x99, script: 0xda, flags: 0x0},
+   1121: {region: 0x99, script: 0xdd, flags: 0x0},
    1122: {region: 0x165, script: 0x57, flags: 0x0},
    1123: {region: 0x112, script: 0x57, flags: 0x0},
    1124: {region: 0x131, script: 0x57, flags: 0x0},
@@ -2636,7 +2652,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1128: {region: 0x165, script: 0x57, flags: 0x0},
    1129: {region: 0x165, script: 0x57, flags: 0x0},
    1130: {region: 0x165, script: 0x57, flags: 0x0},
-   1131: {region: 0x123, script: 0xdf, flags: 0x0},
+   1131: {region: 0x123, script: 0xe2, flags: 0x0},
    1132: {region: 0xdb, script: 0x21, flags: 0x0},
    1133: {region: 0xdb, script: 0x21, flags: 0x0},
    1134: {region: 0xdb, script: 0x21, flags: 0x0},
@@ -2675,14 +2691,14 @@ var likelyLang = [1330]likelyScriptRegion{
    1167: {region: 0x87, script: 0x31, flags: 0x0},
    1168: {region: 0xdb, script: 0x21, flags: 0x0},
    1169: {region: 0xe7, script: 0x57, flags: 0x0},
-   1170: {region: 0x43, script: 0xe0, flags: 0x0},
+   1170: {region: 0x43, script: 0xe3, flags: 0x0},
    1171: {region: 0x165, script: 0x57, flags: 0x0},
    1172: {region: 0x106, script: 0x1f, flags: 0x0},
    1173: {region: 0x165, script: 0x57, flags: 0x0},
    1174: {region: 0x165, script: 0x57, flags: 0x0},
    1175: {region: 0x131, script: 0x57, flags: 0x0},
    1176: {region: 0x165, script: 0x57, flags: 0x0},
-   1177: {region: 0x123, script: 0xdf, flags: 0x0},
+   1177: {region: 0x123, script: 0xe2, flags: 0x0},
    1178: {region: 0x32, script: 0x57, flags: 0x0},
    1179: {region: 0x165, script: 0x57, flags: 0x0},
    1180: {region: 0x165, script: 0x57, flags: 0x0},
@@ -2693,7 +2709,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1185: {region: 0x165, script: 0x57, flags: 0x0},
    1187: {region: 0x165, script: 0x57, flags: 0x0},
    1188: {region: 0xd4, script: 0x57, flags: 0x0},
-   1189: {region: 0x53, script: 0xd8, flags: 0x0},
+   1189: {region: 0x53, script: 0xdb, flags: 0x0},
    1190: {region: 0xe5, script: 0x57, flags: 0x0},
    1191: {region: 0x165, script: 0x57, flags: 0x0},
    1192: {region: 0x106, script: 0x1f, flags: 0x0},
@@ -2701,7 +2717,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1194: {region: 0x165, script: 0x57, flags: 0x0},
    1195: {region: 0x106, script: 0x1f, flags: 0x0},
    1196: {region: 0x3f, script: 0x4, flags: 0x1},
-   1197: {region: 0x11c, script: 0xe2, flags: 0x0},
+   1197: {region: 0x11c, script: 0xe5, flags: 0x0},
    1198: {region: 0x130, script: 0x1f, flags: 0x0},
    1199: {region: 0x75, script: 0x57, flags: 0x0},
    1200: {region: 0x2a, script: 0x57, flags: 0x0},
@@ -2717,7 +2733,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1211: {region: 0x165, script: 0x57, flags: 0x0},
    1212: {region: 0x46, script: 0x4, flags: 0x1},
    1213: {region: 0x165, script: 0x57, flags: 0x0},
-   1214: {region: 0xb4, script: 0xe3, flags: 0x0},
+   1214: {region: 0xb4, script: 0xe6, flags: 0x0},
    1215: {region: 0x165, script: 0x57, flags: 0x0},
    1216: {region: 0x161, script: 0x57, flags: 0x0},
    1217: {region: 0x9e, script: 0x57, flags: 0x0},
@@ -2740,7 +2756,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1234: {region: 0x165, script: 0x57, flags: 0x0},
    1235: {region: 0xe7, script: 0x57, flags: 0x0},
    1236: {region: 0x2f, script: 0x57, flags: 0x0},
-   1237: {region: 0x99, script: 0xda, flags: 0x0},
+   1237: {region: 0x99, script: 0xdd, flags: 0x0},
    1238: {region: 0x99, script: 0x21, flags: 0x0},
    1239: {region: 0x165, script: 0x57, flags: 0x0},
    1240: {region: 0x165, script: 0x57, flags: 0x0},
@@ -2782,7 +2798,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1276: {region: 0x165, script: 0x57, flags: 0x0},
    1277: {region: 0x9c, script: 0x8a, flags: 0x0},
    1278: {region: 0x165, script: 0x57, flags: 0x0},
-   1279: {region: 0x15e, script: 0xc2, flags: 0x0},
+   1279: {region: 0x15e, script: 0xc3, flags: 0x0},
    1280: {region: 0x165, script: 0x57, flags: 0x0},
    1281: {region: 0x165, script: 0x57, flags: 0x0},
    1282: {region: 0xdb, script: 0x21, flags: 0x0},
@@ -2822,7 +2838,7 @@ var likelyLang = [1330]likelyScriptRegion{
    1316: {region: 0x10b, script: 0x57, flags: 0x0},
    1318: {region: 0xa8, script: 0x5, flags: 0x0},
    1319: {region: 0xd9, script: 0x57, flags: 0x0},
-   1320: {region: 0xba, script: 0xdc, flags: 0x0},
+   1320: {region: 0xba, script: 0xdf, flags: 0x0},
    1321: {region: 0x4d, script: 0x14, flags: 0x1},
    1322: {region: 0x53, script: 0x79, flags: 0x0},
    1323: {region: 0x165, script: 0x57, flags: 0x0},
@@ -2847,7 +2863,7 @@ var likelyLangList = [97]likelyScriptRegion{
    8:  {region: 0x106, script: 0x1f, flags: 0x0},
    9:  {region: 0x38, script: 0x2c, flags: 0x2},
    10: {region: 0x135, script: 0x57, flags: 0x0},
-   11: {region: 0x7b, script: 0xc5, flags: 0x2},
+   11: {region: 0x7b, script: 0xc6, flags: 0x2},
    12: {region: 0x114, script: 0x57, flags: 0x0},
    13: {region: 0x84, script: 0x1, flags: 0x2},
    14: {region: 0x5d, script: 0x1e, flags: 0x0},
@@ -2885,12 +2901,12 @@ var likelyLangList = [97]likelyScriptRegion{
    46: {region: 0xe8, script: 0x5, flags: 0x2},
    47: {region: 0x9c, script: 0x84, flags: 0x0},
    48: {region: 0x53, script: 0x85, flags: 0x2},
-   49: {region: 0xba, script: 0xdc, flags: 0x0},
+   49: {region: 0xba, script: 0xdf, flags: 0x0},
    50: {region: 0xd9, script: 0x57, flags: 0x4},
    51: {region: 0xe8, script: 0x5, flags: 0x0},
    52: {region: 0x99, script: 0x21, flags: 0x2},
    53: {region: 0x99, script: 0x4c, flags: 0x2},
-   54: {region: 0x99, script: 0xc9, flags: 0x2},
+   54: {region: 0x99, script: 0xca, flags: 0x2},
    55: {region: 0x105, script: 0x1f, flags: 0x0},
    56: {region: 0xbd, script: 0x57, flags: 0x4},
    57: {region: 0x104, script: 0x57, flags: 0x4},
@@ -3053,7 +3069,7 @@ var likelyRegion = [358]likelyLangScript{
    175: {lang: 0x27, script: 0x2, flags: 0x1},
    176: {lang: 0x3a, script: 0x5, flags: 0x0},
    178: {lang: 0x10d, script: 0x57, flags: 0x0},
-   179: {lang: 0x40c, script: 0xca, flags: 0x0},
+   179: {lang: 0x40c, script: 0xcb, flags: 0x0},
    181: {lang: 0x43b, script: 0x57, flags: 0x0},
    182: {lang: 0x2c0, script: 0x57, flags: 0x0},
    183: {lang: 0x15e, script: 0x57, flags: 0x0},
@@ -3074,7 +3090,7 @@ var likelyRegion = [358]likelyLangScript{
    201: {lang: 0x35, script: 0x2, flags: 0x1},
    203: {lang: 0x320, script: 0x57, flags: 0x0},
    204: {lang: 0x37, script: 0x3, flags: 0x1},
-   205: {lang: 0x128, script: 0xde, flags: 0x0},
+   205: {lang: 0x128, script: 0xe1, flags: 0x0},
    207: {lang: 0x13e, script: 0x57, flags: 0x0},
    208: {lang: 0x31f, script: 0x57, flags: 0x0},
    209: {lang: 0x3c0, script: 0x57, flags: 0x0},
@@ -3162,12 +3178,12 @@ var likelyRegionList = [93]likelyLangScript{
    5:  {lang: 0x274, script: 0x57, flags: 0x0},
    6:  {lang: 0xb7, script: 0x57, flags: 0x0},
    7:  {lang: 0x432, script: 0x1f, flags: 0x0},
-   8:  {lang: 0x12d, script: 0xe0, flags: 0x0},
+   8:  {lang: 0x12d, script: 0xe3, flags: 0x0},
    9:  {lang: 0x351, script: 0x21, flags: 0x0},
    10: {lang: 0x529, script: 0x38, flags: 0x0},
    11: {lang: 0x4ac, script: 0x5, flags: 0x0},
    12: {lang: 0x523, script: 0x57, flags: 0x0},
-   13: {lang: 0x29a, script: 0xdf, flags: 0x0},
+   13: {lang: 0x29a, script: 0xe2, flags: 0x0},
    14: {lang: 0x136, script: 0x31, flags: 0x0},
    15: {lang: 0x48a, script: 0x57, flags: 0x0},
    16: {lang: 0x3a, script: 0x5, flags: 0x0},
@@ -3190,11 +3206,11 @@ var likelyRegionList = [93]likelyLangScript{
    33: {lang: 0x476, script: 0x57, flags: 0x0},
    34: {lang: 0x24a, script: 0x4b, flags: 0x0},
    35: {lang: 0xe6, script: 0x5, flags: 0x0},
-   36: {lang: 0x226, script: 0xdf, flags: 0x0},
+   36: {lang: 0x226, script: 0xe2, flags: 0x0},
    37: {lang: 0x3a, script: 0x5, flags: 0x0},
    38: {lang: 0x15e, script: 0x57, flags: 0x0},
    39: {lang: 0x2b8, script: 0x54, flags: 0x0},
-   40: {lang: 0x226, script: 0xdf, flags: 0x0},
+   40: {lang: 0x226, script: 0xe2, flags: 0x0},
    41: {lang: 0x3a, script: 0x5, flags: 0x0},
    42: {lang: 0x15e, script: 0x57, flags: 0x0},
    43: {lang: 0x3dc, script: 0x57, flags: 0x0},
@@ -3227,7 +3243,7 @@ var likelyRegionList = [93]likelyLangScript{
    70: {lang: 0x15e, script: 0x57, flags: 0x0},
    71: {lang: 0x15e, script: 0x57, flags: 0x0},
    72: {lang: 0x35, script: 0x5, flags: 0x0},
-   73: {lang: 0x46b, script: 0xdf, flags: 0x0},
+   73: {lang: 0x46b, script: 0xe2, flags: 0x0},
    74: {lang: 0x2ec, script: 0x5, flags: 0x0},
    75: {lang: 0x30f, script: 0x72, flags: 0x0},
    76: {lang: 0x467, script: 0x1f, flags: 0x0},
@@ -3428,4 +3444,4 @@ var parents = [5]parentRel{
    4: {lang: 0x529, script: 0x39, maxScript: 0x39, toRegion: 0x8d, fromRegion: []uint16{0xc6}},
 }

-// Total table size 25886 bytes (25KiB); checksum: 50D3D57D
+// Total table size 26200 bytes (25KiB); checksum: 3277E05

I'm not sure how to evaluate that diff or whether it's better to apply it or not. It would be good if gen.go contained instructions about how and when to re-run the generator.

mpvl commented 5 years ago

Most data that is used for generation is versioned and thus the generation mechanism can download the right version. The IANA registry, however, is not. Short of checking the file in, which has its own issues, I haven't thought of a better way to deal with it.