language/internal: expose alias data and ValueError
Change-Id: I5ff55e3d386fb516a09f886b34179c69ab7b87bc
Reviewed-on: https://go-review.googlesource.com/95821
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/language/internal/gen.go b/language/internal/gen.go
index b4717b9..cdcc7fe 100644
--- a/language/internal/gen.go
+++ b/language/internal/gen.go
@@ -57,7 +57,7 @@
`
altLangIndex is used to convert indexes in altLangISO3 to langIDs.`,
`
-langAliasMap maps langIDs to their suggested replacements.`,
+AliasMap maps langIDs to their suggested replacements.`,
`
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.`,
@@ -68,7 +68,7 @@
`
regionISO holds a list of alphabetically sorted 2-letter ISO region codes.
Each 2-letter codes is followed by two bytes with the following meaning:
- - [A-Z}{2}: the first letter of the 2-letter code plus these two
+ - [A-Z}{2}: the first letter of the 2-letter code plus these two
letters form the 3-letter ISO code.
- 0, n: index into altRegionISO3.`,
`
@@ -474,17 +474,17 @@
b.p()
}
-type fromTo struct {
- from, to uint16
+type FromTo struct {
+ From, To uint16
}
func (b *builder) writeSortedMap(name string, ss *stringSet, index func(s string) uint16) {
ss.sortFunc(func(a, b string) bool {
return index(a) < index(b)
})
- m := []fromTo{}
+ m := []FromTo{}
for _, s := range ss.s {
- m = append(m, fromTo{index(s), index(ss.update[s])})
+ m = append(m, FromTo{index(s), index(ss.update[s])})
}
b.writeSlice(name, m)
}
@@ -837,12 +837,12 @@
b.writeConst("altLangISO3", tag.Index(altLangISO3.join()))
b.writeSlice("altLangIndex", altLangIndex)
- b.writeSortedMap("langAliasMap", &langAliasMap, b.langIndex)
+ b.writeSortedMap("AliasMap", &langAliasMap, b.langIndex)
types := make([]AliasType, len(langAliasMap.s))
for i, s := range langAliasMap.s {
types[i] = aliasTypeMap[s]
}
- b.writeSlice("langAliasTypes", types)
+ b.writeSlice("AliasTypes", types)
}
var scriptConsts = []string{
@@ -1507,7 +1507,7 @@
gen.WriteCLDRVersion(w)
b.parseIndices()
- b.writeType(fromTo{})
+ b.writeType(FromTo{})
b.writeLanguage()
b.writeScript()
b.writeRegion()
diff --git a/language/internal/language.go b/language/internal/language.go
index cc9bd4c..3a6ac06 100644
--- a/language/internal/language.go
+++ b/language/internal/language.go
@@ -178,8 +178,8 @@
return t.str[t.pVariant:t.pExt]
}
-// VariantOrPrivateTagStr returns variants or private use tags.
-func (t Tag) VariantOrPrivateTagStr() string {
+// VariantOrPrivateUseTags returns variants or private use tags.
+func (t Tag) VariantOrPrivateUseTags() string {
if t.pExt > 0 {
return t.str[t.pVariant:t.pExt]
}
@@ -192,11 +192,6 @@
return t.str != ""
}
-// // IsPrivateUse reports whether this is tag starting with x-.
-// func (t Tag) IsPrivateUse() bool {
-// return t.str != "" && strings.HasPrefix(t.str, "x-")
-// }
-
// Parent returns the CLDR parent of t. In CLDR, missing fields in data for a
// specific language are substituted with fields from the parent language.
// The parent for a language may change for newer versions of CLDR.
@@ -592,7 +587,7 @@
if id, ok := variantIndex[s]; ok {
return Variant{id, s}, nil
}
- return Variant{}, mkErrInvalid([]byte(s))
+ return Variant{}, NewValueError([]byte(s))
}
// String returns the string representation of the variant.
diff --git a/language/internal/lookup.go b/language/internal/lookup.go
index 977861b..da8b598 100644
--- a/language/internal/lookup.go
+++ b/language/internal/lookup.go
@@ -21,7 +21,7 @@
}
i := idx.Index(key)
if i == -1 {
- return 0, mkErrInvalid(key)
+ return 0, NewValueError(key)
}
return i, nil
}
@@ -43,17 +43,20 @@
return getLangISO3(s)
}
+// TODO language normalization as well as the AliasMaps could be moved to the
+// higher level package, but it is a bit tricky to separate the generation.
+
func (id Language) Canonicalize() (Language, AliasType) {
return normLang(id)
}
// mapLang returns the mapped langID of id according to mapping m.
func normLang(id Language) (Language, AliasType) {
- k := sort.Search(len(langAliasMap), func(i int) bool {
- return langAliasMap[i].from >= uint16(id)
+ k := sort.Search(len(AliasMap), func(i int) bool {
+ return AliasMap[i].From >= uint16(id)
})
- if k < len(langAliasMap) && langAliasMap[k].from == uint16(id) {
- return Language(langAliasMap[k].to), langAliasTypes[k]
+ if k < len(AliasMap) && AliasMap[k].From == uint16(id) {
+ return Language(AliasMap[k].To), AliasTypes[k]
}
return id, AliasTypeUnknown
}
@@ -67,7 +70,7 @@
if i := lang.Index(s); i != -1 && lang.Elem(i)[3] != 0 {
return Language(i), nil
}
- return 0, mkErrInvalid(s)
+ return 0, NewValueError(s)
}
const base = 'z' - 'a' + 1
@@ -120,7 +123,7 @@
return Language(i), nil
}
}
- return 0, mkErrInvalid(s)
+ return 0, NewValueError(s)
}
return 0, ErrSyntax
}
@@ -230,7 +233,7 @@
return Region(altRegionIDs[i/3]), nil
}
}
- return 0, mkErrInvalid(s)
+ return 0, NewValueError(s)
}
return 0, ErrSyntax
}
@@ -263,10 +266,10 @@
func normRegion(r Region) Region {
m := regionOldMap
k := sort.Search(len(m), func(i int) bool {
- return m[i].from >= uint16(r)
+ return m[i].From >= uint16(r)
})
- if k < len(m) && m[k].from == uint16(r) {
- return Region(m[k].to)
+ if k < len(m) && m[k].From == uint16(r) {
+ return Region(m[k].To)
}
return 0
}
diff --git a/language/internal/lookup_test.go b/language/internal/lookup_test.go
index d60dd88..5b93acb 100644
--- a/language/internal/lookup_test.go
+++ b/language/internal/lookup_test.go
@@ -23,7 +23,7 @@
{id: " ", bcp47: "und", iso3: "und", err: ErrSyntax},
{id: " ", bcp47: "und", iso3: "und", err: ErrSyntax},
{id: " ", bcp47: "und", iso3: "und", err: ErrSyntax},
- {id: "xxx", bcp47: "und", iso3: "und", err: mkErrInvalid([]byte("xxx"))},
+ {id: "xxx", bcp47: "und", iso3: "und", err: NewValueError([]byte("xxx"))},
{id: "und", bcp47: "und", iso3: "und"},
{id: "aju", bcp47: "aju", iso3: "aju", norm: "jrb"},
{id: "jrb", bcp47: "jrb", iso3: "jrb"},
diff --git a/language/internal/parse.go b/language/internal/parse.go
index 94e7271..9953dac 100644
--- a/language/internal/parse.go
+++ b/language/internal/parse.go
@@ -41,9 +41,10 @@
v [8]byte
}
-func mkErrInvalid(s []byte) error {
+// NewValueError creates a new ValueError.
+func NewValueError(tag []byte) ValueError {
var e ValueError
- copy(e.v[:], s)
+ copy(e.v[:], tag)
return e
}
@@ -347,7 +348,7 @@
if !ok {
// unknown variant
// TODO: allow user-defined variants?
- scan.gobble(mkErrInvalid(scan.token))
+ scan.gobble(NewValueError(scan.token))
continue
}
varID = append(varID, v)
diff --git a/language/internal/parse_test.go b/language/internal/parse_test.go
index a9d796f..7ed74eb 100644
--- a/language/internal/parse_test.go
+++ b/language/internal/parse_test.go
@@ -335,7 +335,7 @@
func TestErrors(t *testing.T) {
mkInvalid := func(s string) error {
- return mkErrInvalid([]byte(s))
+ return NewValueError([]byte(s))
}
tests := []struct {
in string
diff --git a/language/internal/tables.go b/language/internal/tables.go
index e885942..239e2d2 100644
--- a/language/internal/tables.go
+++ b/language/internal/tables.go
@@ -13,9 +13,9 @@
const NumRegions = 357
-type fromTo struct {
- from uint16
- to uint16
+type FromTo struct {
+ From uint16
+ To uint16
}
const nonCanonicalUnd = 1201
@@ -581,177 +581,177 @@
0x0281, 0x0407, 0x01fb, 0x03e5, 0x013e, 0x0208,
}
-// langAliasMap maps langIDs to their suggested replacements.
+// AliasMap maps langIDs to their suggested replacements.
// Size: 656 bytes, 164 elements
-var langAliasMap = [164]fromTo{
- 0: {from: 0x82, to: 0x88},
- 1: {from: 0x187, to: 0x1ae},
- 2: {from: 0x1f3, to: 0x1e1},
- 3: {from: 0x1fb, to: 0x1bc},
- 4: {from: 0x208, to: 0x512},
- 5: {from: 0x20f, to: 0x20e},
- 6: {from: 0x310, to: 0x3dc},
- 7: {from: 0x347, to: 0x36f},
- 8: {from: 0x407, to: 0x432},
- 9: {from: 0x47a, to: 0x153},
- 10: {from: 0x490, to: 0x451},
- 11: {from: 0x4a2, to: 0x21},
- 12: {from: 0x53e, to: 0x544},
- 13: {from: 0x58f, to: 0x12d},
- 14: {from: 0x630, to: 0x1eb1},
- 15: {from: 0x651, to: 0x431},
- 16: {from: 0x662, to: 0x431},
- 17: {from: 0x6ed, to: 0x3a},
- 18: {from: 0x6f8, to: 0x1d7},
- 19: {from: 0x73e, to: 0x21a1},
- 20: {from: 0x7b3, to: 0x56},
- 21: {from: 0x7b9, to: 0x299b},
- 22: {from: 0x7c5, to: 0x58},
- 23: {from: 0x7e6, to: 0x145},
- 24: {from: 0x80c, to: 0x5a},
- 25: {from: 0x815, to: 0x8d},
- 26: {from: 0x87e, to: 0x810},
- 27: {from: 0x8c3, to: 0xee3},
- 28: {from: 0x9ef, to: 0x331},
- 29: {from: 0xa36, to: 0x2c5},
- 30: {from: 0xa3d, to: 0xbf},
- 31: {from: 0xabe, to: 0x3322},
- 32: {from: 0xb38, to: 0x529},
- 33: {from: 0xb75, to: 0x265a},
- 34: {from: 0xb7e, to: 0xbc3},
- 35: {from: 0xb9b, to: 0x44e},
- 36: {from: 0xbbc, to: 0x4229},
- 37: {from: 0xbbf, to: 0x529},
- 38: {from: 0xbfe, to: 0x2da7},
- 39: {from: 0xc2e, to: 0x3181},
- 40: {from: 0xcb9, to: 0xf3},
- 41: {from: 0xd08, to: 0xfa},
- 42: {from: 0xdc8, to: 0x11a},
- 43: {from: 0xdd7, to: 0x32d},
- 44: {from: 0xdf8, to: 0xdfb},
- 45: {from: 0xdfe, to: 0x531},
- 46: {from: 0xedf, to: 0x205a},
- 47: {from: 0xeee, to: 0x2e9a},
- 48: {from: 0xf39, to: 0x367},
- 49: {from: 0x10d0, to: 0x140},
- 50: {from: 0x1104, to: 0x2d0},
- 51: {from: 0x11a0, to: 0x1ec},
- 52: {from: 0x1279, to: 0x21},
- 53: {from: 0x1424, to: 0x15e},
- 54: {from: 0x1470, to: 0x14e},
- 55: {from: 0x151f, to: 0xd9b},
- 56: {from: 0x1523, to: 0x390},
- 57: {from: 0x1532, to: 0x19f},
- 58: {from: 0x1580, to: 0x210},
- 59: {from: 0x1583, to: 0x10d},
- 60: {from: 0x15a3, to: 0x3caf},
- 61: {from: 0x166a, to: 0x19b},
- 62: {from: 0x16c8, to: 0x136},
- 63: {from: 0x1700, to: 0x29f8},
- 64: {from: 0x1718, to: 0x194},
- 65: {from: 0x1727, to: 0xf3f},
- 66: {from: 0x177a, to: 0x178},
- 67: {from: 0x1809, to: 0x17b6},
- 68: {from: 0x1816, to: 0x18f3},
- 69: {from: 0x188a, to: 0x436},
- 70: {from: 0x1979, to: 0x1d01},
- 71: {from: 0x1a74, to: 0x2bb0},
- 72: {from: 0x1a8a, to: 0x1f8},
- 73: {from: 0x1b5a, to: 0x1fa},
- 74: {from: 0x1b86, to: 0x1515},
- 75: {from: 0x1d64, to: 0x2c9b},
- 76: {from: 0x2038, to: 0x37b1},
- 77: {from: 0x203d, to: 0x20dd},
- 78: {from: 0x205a, to: 0x30b},
- 79: {from: 0x20e3, to: 0x274},
- 80: {from: 0x20ee, to: 0x263},
- 81: {from: 0x20f2, to: 0x22d},
- 82: {from: 0x20f9, to: 0x256},
- 83: {from: 0x210f, to: 0x21eb},
- 84: {from: 0x2135, to: 0x27d},
- 85: {from: 0x2160, to: 0x913},
- 86: {from: 0x2199, to: 0x121},
- 87: {from: 0x21ce, to: 0x1561},
- 88: {from: 0x21e6, to: 0x504},
- 89: {from: 0x21f4, to: 0x49f},
- 90: {from: 0x222d, to: 0x121},
- 91: {from: 0x2237, to: 0x121},
- 92: {from: 0x2262, to: 0x92a},
- 93: {from: 0x2316, to: 0x3226},
- 94: {from: 0x2382, to: 0x3365},
- 95: {from: 0x2472, to: 0x2c7},
- 96: {from: 0x24e4, to: 0x2ff},
- 97: {from: 0x24f0, to: 0x2fa},
- 98: {from: 0x24fa, to: 0x31f},
- 99: {from: 0x2550, to: 0xb5b},
- 100: {from: 0x25a9, to: 0xe2},
- 101: {from: 0x263e, to: 0x2d0},
- 102: {from: 0x26c9, to: 0x26b4},
- 103: {from: 0x26f9, to: 0x3c8},
- 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},
+var AliasMap = [164]FromTo{
+ 0: {From: 0x82, To: 0x88},
+ 1: {From: 0x187, To: 0x1ae},
+ 2: {From: 0x1f3, To: 0x1e1},
+ 3: {From: 0x1fb, To: 0x1bc},
+ 4: {From: 0x208, To: 0x512},
+ 5: {From: 0x20f, To: 0x20e},
+ 6: {From: 0x310, To: 0x3dc},
+ 7: {From: 0x347, To: 0x36f},
+ 8: {From: 0x407, To: 0x432},
+ 9: {From: 0x47a, To: 0x153},
+ 10: {From: 0x490, To: 0x451},
+ 11: {From: 0x4a2, To: 0x21},
+ 12: {From: 0x53e, To: 0x544},
+ 13: {From: 0x58f, To: 0x12d},
+ 14: {From: 0x630, To: 0x1eb1},
+ 15: {From: 0x651, To: 0x431},
+ 16: {From: 0x662, To: 0x431},
+ 17: {From: 0x6ed, To: 0x3a},
+ 18: {From: 0x6f8, To: 0x1d7},
+ 19: {From: 0x73e, To: 0x21a1},
+ 20: {From: 0x7b3, To: 0x56},
+ 21: {From: 0x7b9, To: 0x299b},
+ 22: {From: 0x7c5, To: 0x58},
+ 23: {From: 0x7e6, To: 0x145},
+ 24: {From: 0x80c, To: 0x5a},
+ 25: {From: 0x815, To: 0x8d},
+ 26: {From: 0x87e, To: 0x810},
+ 27: {From: 0x8c3, To: 0xee3},
+ 28: {From: 0x9ef, To: 0x331},
+ 29: {From: 0xa36, To: 0x2c5},
+ 30: {From: 0xa3d, To: 0xbf},
+ 31: {From: 0xabe, To: 0x3322},
+ 32: {From: 0xb38, To: 0x529},
+ 33: {From: 0xb75, To: 0x265a},
+ 34: {From: 0xb7e, To: 0xbc3},
+ 35: {From: 0xb9b, To: 0x44e},
+ 36: {From: 0xbbc, To: 0x4229},
+ 37: {From: 0xbbf, To: 0x529},
+ 38: {From: 0xbfe, To: 0x2da7},
+ 39: {From: 0xc2e, To: 0x3181},
+ 40: {From: 0xcb9, To: 0xf3},
+ 41: {From: 0xd08, To: 0xfa},
+ 42: {From: 0xdc8, To: 0x11a},
+ 43: {From: 0xdd7, To: 0x32d},
+ 44: {From: 0xdf8, To: 0xdfb},
+ 45: {From: 0xdfe, To: 0x531},
+ 46: {From: 0xedf, To: 0x205a},
+ 47: {From: 0xeee, To: 0x2e9a},
+ 48: {From: 0xf39, To: 0x367},
+ 49: {From: 0x10d0, To: 0x140},
+ 50: {From: 0x1104, To: 0x2d0},
+ 51: {From: 0x11a0, To: 0x1ec},
+ 52: {From: 0x1279, To: 0x21},
+ 53: {From: 0x1424, To: 0x15e},
+ 54: {From: 0x1470, To: 0x14e},
+ 55: {From: 0x151f, To: 0xd9b},
+ 56: {From: 0x1523, To: 0x390},
+ 57: {From: 0x1532, To: 0x19f},
+ 58: {From: 0x1580, To: 0x210},
+ 59: {From: 0x1583, To: 0x10d},
+ 60: {From: 0x15a3, To: 0x3caf},
+ 61: {From: 0x166a, To: 0x19b},
+ 62: {From: 0x16c8, To: 0x136},
+ 63: {From: 0x1700, To: 0x29f8},
+ 64: {From: 0x1718, To: 0x194},
+ 65: {From: 0x1727, To: 0xf3f},
+ 66: {From: 0x177a, To: 0x178},
+ 67: {From: 0x1809, To: 0x17b6},
+ 68: {From: 0x1816, To: 0x18f3},
+ 69: {From: 0x188a, To: 0x436},
+ 70: {From: 0x1979, To: 0x1d01},
+ 71: {From: 0x1a74, To: 0x2bb0},
+ 72: {From: 0x1a8a, To: 0x1f8},
+ 73: {From: 0x1b5a, To: 0x1fa},
+ 74: {From: 0x1b86, To: 0x1515},
+ 75: {From: 0x1d64, To: 0x2c9b},
+ 76: {From: 0x2038, To: 0x37b1},
+ 77: {From: 0x203d, To: 0x20dd},
+ 78: {From: 0x205a, To: 0x30b},
+ 79: {From: 0x20e3, To: 0x274},
+ 80: {From: 0x20ee, To: 0x263},
+ 81: {From: 0x20f2, To: 0x22d},
+ 82: {From: 0x20f9, To: 0x256},
+ 83: {From: 0x210f, To: 0x21eb},
+ 84: {From: 0x2135, To: 0x27d},
+ 85: {From: 0x2160, To: 0x913},
+ 86: {From: 0x2199, To: 0x121},
+ 87: {From: 0x21ce, To: 0x1561},
+ 88: {From: 0x21e6, To: 0x504},
+ 89: {From: 0x21f4, To: 0x49f},
+ 90: {From: 0x222d, To: 0x121},
+ 91: {From: 0x2237, To: 0x121},
+ 92: {From: 0x2262, To: 0x92a},
+ 93: {From: 0x2316, To: 0x3226},
+ 94: {From: 0x2382, To: 0x3365},
+ 95: {From: 0x2472, To: 0x2c7},
+ 96: {From: 0x24e4, To: 0x2ff},
+ 97: {From: 0x24f0, To: 0x2fa},
+ 98: {From: 0x24fa, To: 0x31f},
+ 99: {From: 0x2550, To: 0xb5b},
+ 100: {From: 0x25a9, To: 0xe2},
+ 101: {From: 0x263e, To: 0x2d0},
+ 102: {From: 0x26c9, To: 0x26b4},
+ 103: {From: 0x26f9, To: 0x3c8},
+ 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},
}
// Size: 164 bytes, 164 elements
-var langAliasTypes = [164]AliasType{
+var AliasTypes = [164]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,
@@ -1111,27 +1111,27 @@
}
// Size: 80 bytes, 20 elements
-var regionOldMap = [20]fromTo{
- 0: {from: 0x44, to: 0xc4},
- 1: {from: 0x58, to: 0xa7},
- 2: {from: 0x5f, to: 0x60},
- 3: {from: 0x66, to: 0x3b},
- 4: {from: 0x79, to: 0x78},
- 5: {from: 0x93, to: 0x37},
- 6: {from: 0xa3, to: 0x133},
- 7: {from: 0xc1, to: 0x133},
- 8: {from: 0xd7, to: 0x13f},
- 9: {from: 0xdc, to: 0x2b},
- 10: {from: 0xef, to: 0x133},
- 11: {from: 0xf2, to: 0xe2},
- 12: {from: 0xfc, to: 0x70},
- 13: {from: 0x103, to: 0x164},
- 14: {from: 0x12a, to: 0x126},
- 15: {from: 0x132, to: 0x7b},
- 16: {from: 0x13a, to: 0x13e},
- 17: {from: 0x141, to: 0x133},
- 18: {from: 0x15d, to: 0x15e},
- 19: {from: 0x163, to: 0x4b},
+var regionOldMap = [20]FromTo{
+ 0: {From: 0x44, To: 0xc4},
+ 1: {From: 0x58, To: 0xa7},
+ 2: {From: 0x5f, To: 0x60},
+ 3: {From: 0x66, To: 0x3b},
+ 4: {From: 0x79, To: 0x78},
+ 5: {From: 0x93, To: 0x37},
+ 6: {From: 0xa3, To: 0x133},
+ 7: {From: 0xc1, To: 0x133},
+ 8: {From: 0xd7, To: 0x13f},
+ 9: {From: 0xdc, To: 0x2b},
+ 10: {From: 0xef, To: 0x133},
+ 11: {From: 0xf2, To: 0xe2},
+ 12: {From: 0xfc, To: 0x70},
+ 13: {From: 0x103, To: 0x164},
+ 14: {From: 0x12a, To: 0x126},
+ 15: {From: 0x132, To: 0x7b},
+ 16: {From: 0x13a, To: 0x13e},
+ 17: {From: 0x141, To: 0x133},
+ 18: {From: 0x15d, To: 0x15e},
+ 19: {From: 0x163, To: 0x4b},
}
// m49 maps regionIDs to UN.M49 codes. The first isoRegionOffset entries are
@@ -3428,4 +3428,4 @@
4: {lang: 0x529, script: 0x39, maxScript: 0x39, toRegion: 0x8d, fromRegion: []uint16{0xc6}},
}
-// Total table size 25886 bytes (25KiB); checksum: BAE5A319
+// Total table size 25886 bytes (25KiB); checksum: 50D3D57D