You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tables.go 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
  2. package language
  3. // CLDRVersion is the CLDR version from which the tables in this package are derived.
  4. const CLDRVersion = "32"
  5. const (
  6. _de = 269
  7. _en = 313
  8. _fr = 350
  9. _it = 505
  10. _mo = 784
  11. _no = 879
  12. _nb = 839
  13. _pt = 960
  14. _sh = 1031
  15. _mul = 806
  16. _und = 0
  17. )
  18. const (
  19. _001 = 1
  20. _419 = 31
  21. _BR = 65
  22. _CA = 73
  23. _ES = 110
  24. _GB = 123
  25. _MD = 188
  26. _PT = 238
  27. _UK = 306
  28. _US = 309
  29. _ZZ = 357
  30. _XA = 323
  31. _XC = 325
  32. _XK = 333
  33. )
  34. const (
  35. _Latn = 90
  36. _Hani = 57
  37. _Hans = 59
  38. _Hant = 60
  39. _Qaaa = 143
  40. _Qaai = 151
  41. _Qabx = 192
  42. _Zinh = 245
  43. _Zyyy = 250
  44. _Zzzz = 251
  45. )
  46. var regionToGroups = []uint8{ // 357 elements
  47. // Entry 0 - 3F
  48. 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x04,
  49. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x00,
  50. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  51. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
  52. 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00,
  53. 0x00, 0x04, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
  54. 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  55. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04,
  56. // Entry 40 - 7F
  57. 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
  58. 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  59. 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
  60. 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
  61. 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x08,
  62. 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
  63. 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  64. 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
  65. // Entry 80 - BF
  66. 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,
  67. 0x00, 0x04, 0x01, 0x00, 0x04, 0x02, 0x00, 0x04,
  68. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  69. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  70. 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  71. 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
  72. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  73. 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,
  74. // Entry C0 - FF
  75. 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,
  76. 0x04, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
  77. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  78. 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  79. 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,
  80. 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x00, 0x00,
  81. 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  82. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  83. // Entry 100 - 13F
  84. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  85. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  86. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
  87. 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04,
  88. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  89. 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
  90. 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x04, 0x00,
  91. 0x00, 0x04, 0x00, 0x04, 0x04, 0x05, 0x00, 0x00,
  92. // Entry 140 - 17F
  93. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  94. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  95. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  96. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  97. 0x00, 0x00, 0x00, 0x00, 0x00,
  98. } // Size: 381 bytes
  99. var paradigmLocales = [][3]uint16{ // 3 elements
  100. 0: [3]uint16{0x139, 0x0, 0x7b},
  101. 1: [3]uint16{0x13e, 0x0, 0x1f},
  102. 2: [3]uint16{0x3c0, 0x41, 0xee},
  103. } // Size: 42 bytes
  104. type mutualIntelligibility struct {
  105. want uint16
  106. have uint16
  107. distance uint8
  108. oneway bool
  109. }
  110. type scriptIntelligibility struct {
  111. wantLang uint16
  112. haveLang uint16
  113. wantScript uint8
  114. haveScript uint8
  115. distance uint8
  116. }
  117. type regionIntelligibility struct {
  118. lang uint16
  119. script uint8
  120. group uint8
  121. distance uint8
  122. }
  123. // matchLang holds pairs of langIDs of base languages that are typically
  124. // mutually intelligible. Each pair is associated with a confidence and
  125. // whether the intelligibility goes one or both ways.
  126. var matchLang = []mutualIntelligibility{ // 113 elements
  127. 0: {want: 0x1d1, have: 0xb7, distance: 0x4, oneway: false},
  128. 1: {want: 0x407, have: 0xb7, distance: 0x4, oneway: false},
  129. 2: {want: 0x407, have: 0x1d1, distance: 0x4, oneway: false},
  130. 3: {want: 0x407, have: 0x432, distance: 0x4, oneway: false},
  131. 4: {want: 0x43a, have: 0x1, distance: 0x4, oneway: false},
  132. 5: {want: 0x1a3, have: 0x10d, distance: 0x4, oneway: true},
  133. 6: {want: 0x295, have: 0x10d, distance: 0x4, oneway: true},
  134. 7: {want: 0x101, have: 0x36f, distance: 0x8, oneway: false},
  135. 8: {want: 0x101, have: 0x347, distance: 0x8, oneway: false},
  136. 9: {want: 0x5, have: 0x3e2, distance: 0xa, oneway: true},
  137. 10: {want: 0xd, have: 0x139, distance: 0xa, oneway: true},
  138. 11: {want: 0x16, have: 0x367, distance: 0xa, oneway: true},
  139. 12: {want: 0x21, have: 0x139, distance: 0xa, oneway: true},
  140. 13: {want: 0x56, have: 0x13e, distance: 0xa, oneway: true},
  141. 14: {want: 0x58, have: 0x3e2, distance: 0xa, oneway: true},
  142. 15: {want: 0x71, have: 0x3e2, distance: 0xa, oneway: true},
  143. 16: {want: 0x75, have: 0x139, distance: 0xa, oneway: true},
  144. 17: {want: 0x82, have: 0x1be, distance: 0xa, oneway: true},
  145. 18: {want: 0xa5, have: 0x139, distance: 0xa, oneway: true},
  146. 19: {want: 0xb2, have: 0x15e, distance: 0xa, oneway: true},
  147. 20: {want: 0xdd, have: 0x153, distance: 0xa, oneway: true},
  148. 21: {want: 0xe5, have: 0x139, distance: 0xa, oneway: true},
  149. 22: {want: 0xe9, have: 0x3a, distance: 0xa, oneway: true},
  150. 23: {want: 0xf0, have: 0x15e, distance: 0xa, oneway: true},
  151. 24: {want: 0xf9, have: 0x15e, distance: 0xa, oneway: true},
  152. 25: {want: 0x100, have: 0x139, distance: 0xa, oneway: true},
  153. 26: {want: 0x130, have: 0x139, distance: 0xa, oneway: true},
  154. 27: {want: 0x13c, have: 0x139, distance: 0xa, oneway: true},
  155. 28: {want: 0x140, have: 0x151, distance: 0xa, oneway: true},
  156. 29: {want: 0x145, have: 0x13e, distance: 0xa, oneway: true},
  157. 30: {want: 0x158, have: 0x101, distance: 0xa, oneway: true},
  158. 31: {want: 0x16d, have: 0x367, distance: 0xa, oneway: true},
  159. 32: {want: 0x16e, have: 0x139, distance: 0xa, oneway: true},
  160. 33: {want: 0x16f, have: 0x139, distance: 0xa, oneway: true},
  161. 34: {want: 0x17e, have: 0x139, distance: 0xa, oneway: true},
  162. 35: {want: 0x190, have: 0x13e, distance: 0xa, oneway: true},
  163. 36: {want: 0x194, have: 0x13e, distance: 0xa, oneway: true},
  164. 37: {want: 0x1a4, have: 0x1be, distance: 0xa, oneway: true},
  165. 38: {want: 0x1b4, have: 0x139, distance: 0xa, oneway: true},
  166. 39: {want: 0x1b8, have: 0x139, distance: 0xa, oneway: true},
  167. 40: {want: 0x1d4, have: 0x15e, distance: 0xa, oneway: true},
  168. 41: {want: 0x1d7, have: 0x3e2, distance: 0xa, oneway: true},
  169. 42: {want: 0x1d9, have: 0x139, distance: 0xa, oneway: true},
  170. 43: {want: 0x1e7, have: 0x139, distance: 0xa, oneway: true},
  171. 44: {want: 0x1f8, have: 0x139, distance: 0xa, oneway: true},
  172. 45: {want: 0x20e, have: 0x1e1, distance: 0xa, oneway: true},
  173. 46: {want: 0x210, have: 0x139, distance: 0xa, oneway: true},
  174. 47: {want: 0x22d, have: 0x15e, distance: 0xa, oneway: true},
  175. 48: {want: 0x242, have: 0x3e2, distance: 0xa, oneway: true},
  176. 49: {want: 0x24a, have: 0x139, distance: 0xa, oneway: true},
  177. 50: {want: 0x251, have: 0x139, distance: 0xa, oneway: true},
  178. 51: {want: 0x265, have: 0x139, distance: 0xa, oneway: true},
  179. 52: {want: 0x274, have: 0x48a, distance: 0xa, oneway: true},
  180. 53: {want: 0x28a, have: 0x3e2, distance: 0xa, oneway: true},
  181. 54: {want: 0x28e, have: 0x1f9, distance: 0xa, oneway: true},
  182. 55: {want: 0x2a3, have: 0x139, distance: 0xa, oneway: true},
  183. 56: {want: 0x2b5, have: 0x15e, distance: 0xa, oneway: true},
  184. 57: {want: 0x2b8, have: 0x139, distance: 0xa, oneway: true},
  185. 58: {want: 0x2be, have: 0x139, distance: 0xa, oneway: true},
  186. 59: {want: 0x2c3, have: 0x15e, distance: 0xa, oneway: true},
  187. 60: {want: 0x2ed, have: 0x139, distance: 0xa, oneway: true},
  188. 61: {want: 0x2f1, have: 0x15e, distance: 0xa, oneway: true},
  189. 62: {want: 0x2fa, have: 0x139, distance: 0xa, oneway: true},
  190. 63: {want: 0x2ff, have: 0x7e, distance: 0xa, oneway: true},
  191. 64: {want: 0x304, have: 0x139, distance: 0xa, oneway: true},
  192. 65: {want: 0x30b, have: 0x3e2, distance: 0xa, oneway: true},
  193. 66: {want: 0x31b, have: 0x1be, distance: 0xa, oneway: true},
  194. 67: {want: 0x31f, have: 0x1e1, distance: 0xa, oneway: true},
  195. 68: {want: 0x320, have: 0x139, distance: 0xa, oneway: true},
  196. 69: {want: 0x331, have: 0x139, distance: 0xa, oneway: true},
  197. 70: {want: 0x351, have: 0x139, distance: 0xa, oneway: true},
  198. 71: {want: 0x36a, have: 0x347, distance: 0xa, oneway: false},
  199. 72: {want: 0x36a, have: 0x36f, distance: 0xa, oneway: true},
  200. 73: {want: 0x37a, have: 0x139, distance: 0xa, oneway: true},
  201. 74: {want: 0x387, have: 0x139, distance: 0xa, oneway: true},
  202. 75: {want: 0x389, have: 0x139, distance: 0xa, oneway: true},
  203. 76: {want: 0x38b, have: 0x15e, distance: 0xa, oneway: true},
  204. 77: {want: 0x390, have: 0x139, distance: 0xa, oneway: true},
  205. 78: {want: 0x395, have: 0x139, distance: 0xa, oneway: true},
  206. 79: {want: 0x39d, have: 0x139, distance: 0xa, oneway: true},
  207. 80: {want: 0x3a5, have: 0x139, distance: 0xa, oneway: true},
  208. 81: {want: 0x3be, have: 0x139, distance: 0xa, oneway: true},
  209. 82: {want: 0x3c4, have: 0x13e, distance: 0xa, oneway: true},
  210. 83: {want: 0x3d4, have: 0x10d, distance: 0xa, oneway: true},
  211. 84: {want: 0x3d9, have: 0x139, distance: 0xa, oneway: true},
  212. 85: {want: 0x3e5, have: 0x15e, distance: 0xa, oneway: true},
  213. 86: {want: 0x3e9, have: 0x1be, distance: 0xa, oneway: true},
  214. 87: {want: 0x3fa, have: 0x139, distance: 0xa, oneway: true},
  215. 88: {want: 0x40c, have: 0x139, distance: 0xa, oneway: true},
  216. 89: {want: 0x423, have: 0x139, distance: 0xa, oneway: true},
  217. 90: {want: 0x429, have: 0x139, distance: 0xa, oneway: true},
  218. 91: {want: 0x431, have: 0x139, distance: 0xa, oneway: true},
  219. 92: {want: 0x43b, have: 0x139, distance: 0xa, oneway: true},
  220. 93: {want: 0x43e, have: 0x1e1, distance: 0xa, oneway: true},
  221. 94: {want: 0x445, have: 0x139, distance: 0xa, oneway: true},
  222. 95: {want: 0x450, have: 0x139, distance: 0xa, oneway: true},
  223. 96: {want: 0x461, have: 0x139, distance: 0xa, oneway: true},
  224. 97: {want: 0x467, have: 0x3e2, distance: 0xa, oneway: true},
  225. 98: {want: 0x46f, have: 0x139, distance: 0xa, oneway: true},
  226. 99: {want: 0x476, have: 0x3e2, distance: 0xa, oneway: true},
  227. 100: {want: 0x3883, have: 0x139, distance: 0xa, oneway: true},
  228. 101: {want: 0x480, have: 0x139, distance: 0xa, oneway: true},
  229. 102: {want: 0x482, have: 0x139, distance: 0xa, oneway: true},
  230. 103: {want: 0x494, have: 0x3e2, distance: 0xa, oneway: true},
  231. 104: {want: 0x49d, have: 0x139, distance: 0xa, oneway: true},
  232. 105: {want: 0x4ac, have: 0x529, distance: 0xa, oneway: true},
  233. 106: {want: 0x4b4, have: 0x139, distance: 0xa, oneway: true},
  234. 107: {want: 0x4bc, have: 0x3e2, distance: 0xa, oneway: true},
  235. 108: {want: 0x4e5, have: 0x15e, distance: 0xa, oneway: true},
  236. 109: {want: 0x4f2, have: 0x139, distance: 0xa, oneway: true},
  237. 110: {want: 0x512, have: 0x139, distance: 0xa, oneway: true},
  238. 111: {want: 0x518, have: 0x139, distance: 0xa, oneway: true},
  239. 112: {want: 0x52f, have: 0x139, distance: 0xa, oneway: true},
  240. } // Size: 702 bytes
  241. // matchScript holds pairs of scriptIDs where readers of one script
  242. // can typically also read the other. Each is associated with a confidence.
  243. var matchScript = []scriptIntelligibility{ // 26 elements
  244. 0: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x5a, haveScript: 0x20, distance: 0x5},
  245. 1: {wantLang: 0x432, haveLang: 0x432, wantScript: 0x20, haveScript: 0x5a, distance: 0x5},
  246. 2: {wantLang: 0x58, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa},
  247. 3: {wantLang: 0xa5, haveLang: 0x139, wantScript: 0xe, haveScript: 0x5a, distance: 0xa},
  248. 4: {wantLang: 0x1d7, haveLang: 0x3e2, wantScript: 0x8, haveScript: 0x20, distance: 0xa},
  249. 5: {wantLang: 0x210, haveLang: 0x139, wantScript: 0x2e, haveScript: 0x5a, distance: 0xa},
  250. 6: {wantLang: 0x24a, haveLang: 0x139, wantScript: 0x4e, haveScript: 0x5a, distance: 0xa},
  251. 7: {wantLang: 0x251, haveLang: 0x139, wantScript: 0x52, haveScript: 0x5a, distance: 0xa},
  252. 8: {wantLang: 0x2b8, haveLang: 0x139, wantScript: 0x57, haveScript: 0x5a, distance: 0xa},
  253. 9: {wantLang: 0x304, haveLang: 0x139, wantScript: 0x6e, haveScript: 0x5a, distance: 0xa},
  254. 10: {wantLang: 0x331, haveLang: 0x139, wantScript: 0x75, haveScript: 0x5a, distance: 0xa},
  255. 11: {wantLang: 0x351, haveLang: 0x139, wantScript: 0x22, haveScript: 0x5a, distance: 0xa},
  256. 12: {wantLang: 0x395, haveLang: 0x139, wantScript: 0x81, haveScript: 0x5a, distance: 0xa},
  257. 13: {wantLang: 0x39d, haveLang: 0x139, wantScript: 0x36, haveScript: 0x5a, distance: 0xa},
  258. 14: {wantLang: 0x3be, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa},
  259. 15: {wantLang: 0x3fa, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa},
  260. 16: {wantLang: 0x40c, haveLang: 0x139, wantScript: 0xcf, haveScript: 0x5a, distance: 0xa},
  261. 17: {wantLang: 0x450, haveLang: 0x139, wantScript: 0xde, haveScript: 0x5a, distance: 0xa},
  262. 18: {wantLang: 0x461, haveLang: 0x139, wantScript: 0xe1, haveScript: 0x5a, distance: 0xa},
  263. 19: {wantLang: 0x46f, haveLang: 0x139, wantScript: 0x2c, haveScript: 0x5a, distance: 0xa},
  264. 20: {wantLang: 0x476, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa},
  265. 21: {wantLang: 0x4b4, haveLang: 0x139, wantScript: 0x5, haveScript: 0x5a, distance: 0xa},
  266. 22: {wantLang: 0x4bc, haveLang: 0x3e2, wantScript: 0x5a, haveScript: 0x20, distance: 0xa},
  267. 23: {wantLang: 0x512, haveLang: 0x139, wantScript: 0x3e, haveScript: 0x5a, distance: 0xa},
  268. 24: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3b, haveScript: 0x3c, distance: 0xf},
  269. 25: {wantLang: 0x529, haveLang: 0x529, wantScript: 0x3c, haveScript: 0x3b, distance: 0x13},
  270. } // Size: 232 bytes
  271. var matchRegion = []regionIntelligibility{ // 15 elements
  272. 0: {lang: 0x3a, script: 0x0, group: 0x4, distance: 0x4},
  273. 1: {lang: 0x3a, script: 0x0, group: 0x84, distance: 0x4},
  274. 2: {lang: 0x139, script: 0x0, group: 0x1, distance: 0x4},
  275. 3: {lang: 0x139, script: 0x0, group: 0x81, distance: 0x4},
  276. 4: {lang: 0x13e, script: 0x0, group: 0x3, distance: 0x4},
  277. 5: {lang: 0x13e, script: 0x0, group: 0x83, distance: 0x4},
  278. 6: {lang: 0x3c0, script: 0x0, group: 0x3, distance: 0x4},
  279. 7: {lang: 0x3c0, script: 0x0, group: 0x83, distance: 0x4},
  280. 8: {lang: 0x529, script: 0x3c, group: 0x2, distance: 0x4},
  281. 9: {lang: 0x529, script: 0x3c, group: 0x82, distance: 0x4},
  282. 10: {lang: 0x3a, script: 0x0, group: 0x80, distance: 0x5},
  283. 11: {lang: 0x139, script: 0x0, group: 0x80, distance: 0x5},
  284. 12: {lang: 0x13e, script: 0x0, group: 0x80, distance: 0x5},
  285. 13: {lang: 0x3c0, script: 0x0, group: 0x80, distance: 0x5},
  286. 14: {lang: 0x529, script: 0x3c, group: 0x80, distance: 0x5},
  287. } // Size: 114 bytes
  288. // Total table size 1471 bytes (1KiB); checksum: 4CB1CD46