language: remove manual hr -> sr mapping
was removed in CLDR for geo-political reasons
Change-Id: I318ae1fa55a7012342a0709a7f3114d6e39bae6e
Reviewed-on: https://go-review.googlesource.com/55331
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/language/data_test.go b/language/data_test.go
index a1203f2..dbbf94a 100644
--- a/language/data_test.go
+++ b/language/data_test.go
@@ -55,6 +55,13 @@
},
},
{
+ "don't match hr to sr-Latn",
+ "en, sr-Latn",
+ []struct{ match, desired string }{
+ {"en", "hr"},
+ },
+ },
+ {
"both deprecated and not",
"fil, tl, iw, he",
[]struct{ match, desired string }{
diff --git a/language/examples_test.go b/language/examples_test.go
index 05e712d..e20c225 100644
--- a/language/examples_test.go
+++ b/language/examples_test.go
@@ -274,7 +274,7 @@
fmt.Println("----")
- // Croatian speakers will likely understand Serbian written in Latin script.
+ // Someone specifying sr-Latn is probably fine with getting Croatian.
fmt.Println(m.Match(language.Make("sr-Latn")))
// We match SimplifiedChinese, but with Low confidence.
diff --git a/language/gen.go b/language/gen.go
index 153269b..435044b 100644
--- a/language/gen.go
+++ b/language/gen.go
@@ -1421,16 +1421,7 @@
b.writeType(scriptIntelligibility{})
b.writeType(regionIntelligibility{})
- matchLang := []mutualIntelligibility{{
- // TODO: remove once CLDR is fixed.
- want: uint16(b.langIndex("sr")),
- have: uint16(b.langIndex("hr")),
- distance: uint8(5),
- }, {
- want: uint16(b.langIndex("sr")),
- have: uint16(b.langIndex("bs")),
- distance: uint8(5),
- }}
+ matchLang := []mutualIntelligibility{}
matchScript := []scriptIntelligibility{}
matchRegion := []regionIntelligibility{}
// Convert the languageMatch entries in lists keyed by desired language.
diff --git a/language/match.go b/language/match.go
index 63bc744..16128a4 100644
--- a/language/match.go
+++ b/language/match.go
@@ -602,10 +602,6 @@
// (their canonicalization simply substitutes a different language code, but
// nothing else), the match confidence is Exact, otherwise it is High.
for i, lm := range langAliasMap {
- if lm.from == _sh {
- continue
- }
-
// If deprecated codes match and there is no fiddling with the script or
// or region, we consider it an exact match.
conf := Exact
diff --git a/language/tables.go b/language/tables.go
index a108554..7f8b042 100644
--- a/language/tables.go
+++ b/language/tables.go
@@ -3349,8 +3349,8 @@
// matchLang holds pairs of langIDs of base languages that are typically
// mutually intelligible. Each pair is associated with a confidence and
// whether the intelligibility goes one or both ways.
-// Size: 690 bytes, 115 elements
-var matchLang = [115]mutualIntelligibility{
+// Size: 678 bytes, 113 elements
+var matchLang = [113]mutualIntelligibility{
0: {want: 0x1cf, have: 0xb7, distance: 0x4, oneway: false},
1: {want: 0x405, have: 0xb7, distance: 0x4, oneway: false},
2: {want: 0x405, have: 0x1cf, distance: 0x4, oneway: false},
@@ -3358,114 +3358,112 @@
4: {want: 0x438, have: 0x1, distance: 0x4, oneway: false},
5: {want: 0x1a1, have: 0x10c, distance: 0x4, oneway: true},
6: {want: 0x293, have: 0x10c, distance: 0x4, oneway: true},
- 7: {want: 0x430, have: 0x1cf, distance: 0x5, oneway: false},
- 8: {want: 0x430, have: 0xb7, distance: 0x5, oneway: false},
- 9: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
- 10: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
- 11: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
- 12: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
- 13: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
- 14: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
- 15: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
- 16: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
- 17: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
- 18: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
- 19: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
- 20: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
- 21: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
- 22: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
- 23: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
- 24: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
- 25: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
- 26: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
- 27: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
- 28: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
- 29: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
- 30: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
- 31: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
- 32: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
- 33: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
- 34: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
- 35: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
- 36: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
- 37: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
- 38: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
- 39: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
- 40: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
- 41: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
- 42: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
- 43: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
- 44: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
- 45: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
- 46: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
- 47: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
- 48: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
- 49: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
- 50: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
- 51: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
- 52: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
- 53: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
- 54: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
- 55: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
- 56: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
- 57: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
- 58: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
- 59: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
- 60: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
- 61: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
- 62: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
- 63: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
- 64: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
- 65: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
- 66: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
- 67: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
- 68: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
- 69: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
- 70: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
- 71: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
- 72: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
- 73: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
- 74: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
- 75: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
- 76: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
- 77: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
- 78: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
- 79: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
- 80: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
- 81: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
- 82: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
- 83: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
- 84: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
- 85: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
- 86: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
- 87: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
- 88: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
- 89: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
- 90: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
- 91: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
- 92: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
- 93: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
- 94: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
- 95: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
- 96: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
- 97: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
- 98: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
- 99: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
- 100: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
- 101: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
- 102: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
- 103: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
- 104: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
- 105: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
- 106: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
- 107: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
- 108: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
- 109: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
- 110: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
- 111: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
- 112: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
- 113: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
- 114: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
+ 7: {want: 0x100, have: 0x36d, distance: 0x8, oneway: false},
+ 8: {want: 0x100, have: 0x345, distance: 0x8, oneway: false},
+ 9: {want: 0x5, have: 0x3e0, distance: 0xa, oneway: true},
+ 10: {want: 0xd, have: 0x138, distance: 0xa, oneway: true},
+ 11: {want: 0x16, have: 0x365, distance: 0xa, oneway: true},
+ 12: {want: 0x21, have: 0x138, distance: 0xa, oneway: true},
+ 13: {want: 0x56, have: 0x13d, distance: 0xa, oneway: true},
+ 14: {want: 0x58, have: 0x3e0, distance: 0xa, oneway: true},
+ 15: {want: 0x71, have: 0x3e0, distance: 0xa, oneway: true},
+ 16: {want: 0x75, have: 0x138, distance: 0xa, oneway: true},
+ 17: {want: 0x82, have: 0x1bc, distance: 0xa, oneway: true},
+ 18: {want: 0xa5, have: 0x138, distance: 0xa, oneway: true},
+ 19: {want: 0xb2, have: 0x15d, distance: 0xa, oneway: true},
+ 20: {want: 0xdd, have: 0x152, distance: 0xa, oneway: true},
+ 21: {want: 0xe5, have: 0x138, distance: 0xa, oneway: true},
+ 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
+ 23: {want: 0xef, have: 0x15d, distance: 0xa, oneway: true},
+ 24: {want: 0xf8, have: 0x15d, distance: 0xa, oneway: true},
+ 25: {want: 0xff, have: 0x138, distance: 0xa, oneway: true},
+ 26: {want: 0x12f, have: 0x138, distance: 0xa, oneway: true},
+ 27: {want: 0x13b, have: 0x138, distance: 0xa, oneway: true},
+ 28: {want: 0x13f, have: 0x150, distance: 0xa, oneway: true},
+ 29: {want: 0x144, have: 0x13d, distance: 0xa, oneway: true},
+ 30: {want: 0x157, have: 0x100, distance: 0xa, oneway: true},
+ 31: {want: 0x16c, have: 0x365, distance: 0xa, oneway: true},
+ 32: {want: 0x16d, have: 0x138, distance: 0xa, oneway: true},
+ 33: {want: 0x16e, have: 0x138, distance: 0xa, oneway: true},
+ 34: {want: 0x17c, have: 0x138, distance: 0xa, oneway: true},
+ 35: {want: 0x18e, have: 0x13d, distance: 0xa, oneway: true},
+ 36: {want: 0x192, have: 0x13d, distance: 0xa, oneway: true},
+ 37: {want: 0x1a2, have: 0x1bc, distance: 0xa, oneway: true},
+ 38: {want: 0x1b2, have: 0x138, distance: 0xa, oneway: true},
+ 39: {want: 0x1b6, have: 0x138, distance: 0xa, oneway: true},
+ 40: {want: 0x1d2, have: 0x15d, distance: 0xa, oneway: true},
+ 41: {want: 0x1d5, have: 0x3e0, distance: 0xa, oneway: true},
+ 42: {want: 0x1d7, have: 0x138, distance: 0xa, oneway: true},
+ 43: {want: 0x1e5, have: 0x138, distance: 0xa, oneway: true},
+ 44: {want: 0x1f6, have: 0x138, distance: 0xa, oneway: true},
+ 45: {want: 0x20c, have: 0x1df, distance: 0xa, oneway: true},
+ 46: {want: 0x20e, have: 0x138, distance: 0xa, oneway: true},
+ 47: {want: 0x22b, have: 0x15d, distance: 0xa, oneway: true},
+ 48: {want: 0x240, have: 0x3e0, distance: 0xa, oneway: true},
+ 49: {want: 0x248, have: 0x138, distance: 0xa, oneway: true},
+ 50: {want: 0x24f, have: 0x138, distance: 0xa, oneway: true},
+ 51: {want: 0x263, have: 0x138, distance: 0xa, oneway: true},
+ 52: {want: 0x272, have: 0x488, distance: 0xa, oneway: true},
+ 53: {want: 0x288, have: 0x3e0, distance: 0xa, oneway: true},
+ 54: {want: 0x28c, have: 0x1f7, distance: 0xa, oneway: true},
+ 55: {want: 0x2a1, have: 0x138, distance: 0xa, oneway: true},
+ 56: {want: 0x2b3, have: 0x15d, distance: 0xa, oneway: true},
+ 57: {want: 0x2b6, have: 0x138, distance: 0xa, oneway: true},
+ 58: {want: 0x2bc, have: 0x138, distance: 0xa, oneway: true},
+ 59: {want: 0x2c1, have: 0x15d, distance: 0xa, oneway: true},
+ 60: {want: 0x2eb, have: 0x138, distance: 0xa, oneway: true},
+ 61: {want: 0x2ef, have: 0x15d, distance: 0xa, oneway: true},
+ 62: {want: 0x2f8, have: 0x138, distance: 0xa, oneway: true},
+ 63: {want: 0x2fd, have: 0x7e, distance: 0xa, oneway: true},
+ 64: {want: 0x302, have: 0x138, distance: 0xa, oneway: true},
+ 65: {want: 0x309, have: 0x3e0, distance: 0xa, oneway: true},
+ 66: {want: 0x319, have: 0x1bc, distance: 0xa, oneway: true},
+ 67: {want: 0x31d, have: 0x1df, distance: 0xa, oneway: true},
+ 68: {want: 0x31e, have: 0x138, distance: 0xa, oneway: true},
+ 69: {want: 0x32f, have: 0x138, distance: 0xa, oneway: true},
+ 70: {want: 0x34f, have: 0x138, distance: 0xa, oneway: true},
+ 71: {want: 0x368, have: 0x345, distance: 0xa, oneway: false},
+ 72: {want: 0x368, have: 0x36d, distance: 0xa, oneway: true},
+ 73: {want: 0x378, have: 0x138, distance: 0xa, oneway: true},
+ 74: {want: 0x385, have: 0x138, distance: 0xa, oneway: true},
+ 75: {want: 0x387, have: 0x138, distance: 0xa, oneway: true},
+ 76: {want: 0x389, have: 0x15d, distance: 0xa, oneway: true},
+ 77: {want: 0x38e, have: 0x138, distance: 0xa, oneway: true},
+ 78: {want: 0x393, have: 0x138, distance: 0xa, oneway: true},
+ 79: {want: 0x39b, have: 0x138, distance: 0xa, oneway: true},
+ 80: {want: 0x3a3, have: 0x138, distance: 0xa, oneway: true},
+ 81: {want: 0x3bc, have: 0x138, distance: 0xa, oneway: true},
+ 82: {want: 0x3c2, have: 0x13d, distance: 0xa, oneway: true},
+ 83: {want: 0x3d2, have: 0x10c, distance: 0xa, oneway: true},
+ 84: {want: 0x3d7, have: 0x138, distance: 0xa, oneway: true},
+ 85: {want: 0x3e3, have: 0x15d, distance: 0xa, oneway: true},
+ 86: {want: 0x3e7, have: 0x1bc, distance: 0xa, oneway: true},
+ 87: {want: 0x3f8, have: 0x138, distance: 0xa, oneway: true},
+ 88: {want: 0x40a, have: 0x138, distance: 0xa, oneway: true},
+ 89: {want: 0x421, have: 0x138, distance: 0xa, oneway: true},
+ 90: {want: 0x427, have: 0x138, distance: 0xa, oneway: true},
+ 91: {want: 0x42f, have: 0x138, distance: 0xa, oneway: true},
+ 92: {want: 0x439, have: 0x138, distance: 0xa, oneway: true},
+ 93: {want: 0x43c, have: 0x1df, distance: 0xa, oneway: true},
+ 94: {want: 0x443, have: 0x138, distance: 0xa, oneway: true},
+ 95: {want: 0x44e, have: 0x138, distance: 0xa, oneway: true},
+ 96: {want: 0x45f, have: 0x138, distance: 0xa, oneway: true},
+ 97: {want: 0x465, have: 0x3e0, distance: 0xa, oneway: true},
+ 98: {want: 0x46d, have: 0x138, distance: 0xa, oneway: true},
+ 99: {want: 0x474, have: 0x3e0, distance: 0xa, oneway: true},
+ 100: {want: 0x3880, have: 0x138, distance: 0xa, oneway: true},
+ 101: {want: 0x47e, have: 0x138, distance: 0xa, oneway: true},
+ 102: {want: 0x480, have: 0x138, distance: 0xa, oneway: true},
+ 103: {want: 0x492, have: 0x3e0, distance: 0xa, oneway: true},
+ 104: {want: 0x49b, have: 0x138, distance: 0xa, oneway: true},
+ 105: {want: 0x4aa, have: 0x527, distance: 0xa, oneway: true},
+ 106: {want: 0x4b2, have: 0x138, distance: 0xa, oneway: true},
+ 107: {want: 0x4ba, have: 0x3e0, distance: 0xa, oneway: true},
+ 108: {want: 0x4e3, have: 0x15d, distance: 0xa, oneway: true},
+ 109: {want: 0x4f0, have: 0x138, distance: 0xa, oneway: true},
+ 110: {want: 0x510, have: 0x138, distance: 0xa, oneway: true},
+ 111: {want: 0x516, have: 0x138, distance: 0xa, oneway: true},
+ 112: {want: 0x52c, have: 0x138, distance: 0xa, oneway: true},
}
// matchScript holds pairs of scriptIDs where readers of one script
@@ -3651,4 +3649,4 @@
4: {lang: 0x527, script: 0x35, maxScript: 0x35, toRegion: 0x8c, fromRegion: []uint16{0xc5}},
}
-// Total table size 26496 bytes (25KiB); checksum: 6E24B15A
+// Total table size 26484 bytes (25KiB); checksum: 566AD466