unicode16-0-0.py 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683
  1. # Auto generated by tools/make_width_tables.py
  2. # Data from wcwidth project (https://github.com/jquast/wcwidth)
  3. from rich.cells import CellTable
  4. cell_table = CellTable(
  5. "16.0.0",
  6. [
  7. (0, 0, 0),
  8. (768, 879, 0),
  9. (1155, 1161, 0),
  10. (1425, 1469, 0),
  11. (1471, 1471, 0),
  12. (1473, 1474, 0),
  13. (1476, 1477, 0),
  14. (1479, 1479, 0),
  15. (1552, 1562, 0),
  16. (1564, 1564, 0),
  17. (1611, 1631, 0),
  18. (1648, 1648, 0),
  19. (1750, 1756, 0),
  20. (1759, 1764, 0),
  21. (1767, 1768, 0),
  22. (1770, 1773, 0),
  23. (1809, 1809, 0),
  24. (1840, 1866, 0),
  25. (1958, 1968, 0),
  26. (2027, 2035, 0),
  27. (2045, 2045, 0),
  28. (2070, 2073, 0),
  29. (2075, 2083, 0),
  30. (2085, 2087, 0),
  31. (2089, 2093, 0),
  32. (2137, 2139, 0),
  33. (2199, 2207, 0),
  34. (2250, 2273, 0),
  35. (2275, 2307, 0),
  36. (2362, 2364, 0),
  37. (2366, 2383, 0),
  38. (2385, 2391, 0),
  39. (2402, 2403, 0),
  40. (2433, 2435, 0),
  41. (2492, 2492, 0),
  42. (2494, 2500, 0),
  43. (2503, 2504, 0),
  44. (2507, 2509, 0),
  45. (2519, 2519, 0),
  46. (2530, 2531, 0),
  47. (2558, 2558, 0),
  48. (2561, 2563, 0),
  49. (2620, 2620, 0),
  50. (2622, 2626, 0),
  51. (2631, 2632, 0),
  52. (2635, 2637, 0),
  53. (2641, 2641, 0),
  54. (2672, 2673, 0),
  55. (2677, 2677, 0),
  56. (2689, 2691, 0),
  57. (2748, 2748, 0),
  58. (2750, 2757, 0),
  59. (2759, 2761, 0),
  60. (2763, 2765, 0),
  61. (2786, 2787, 0),
  62. (2810, 2815, 0),
  63. (2817, 2819, 0),
  64. (2876, 2876, 0),
  65. (2878, 2884, 0),
  66. (2887, 2888, 0),
  67. (2891, 2893, 0),
  68. (2901, 2903, 0),
  69. (2914, 2915, 0),
  70. (2946, 2946, 0),
  71. (3006, 3010, 0),
  72. (3014, 3016, 0),
  73. (3018, 3021, 0),
  74. (3031, 3031, 0),
  75. (3072, 3076, 0),
  76. (3132, 3132, 0),
  77. (3134, 3140, 0),
  78. (3142, 3144, 0),
  79. (3146, 3149, 0),
  80. (3157, 3158, 0),
  81. (3170, 3171, 0),
  82. (3201, 3203, 0),
  83. (3260, 3260, 0),
  84. (3262, 3268, 0),
  85. (3270, 3272, 0),
  86. (3274, 3277, 0),
  87. (3285, 3286, 0),
  88. (3298, 3299, 0),
  89. (3315, 3315, 0),
  90. (3328, 3331, 0),
  91. (3387, 3388, 0),
  92. (3390, 3396, 0),
  93. (3398, 3400, 0),
  94. (3402, 3405, 0),
  95. (3415, 3415, 0),
  96. (3426, 3427, 0),
  97. (3457, 3459, 0),
  98. (3530, 3530, 0),
  99. (3535, 3540, 0),
  100. (3542, 3542, 0),
  101. (3544, 3551, 0),
  102. (3570, 3571, 0),
  103. (3633, 3633, 0),
  104. (3636, 3642, 0),
  105. (3655, 3662, 0),
  106. (3761, 3761, 0),
  107. (3764, 3772, 0),
  108. (3784, 3790, 0),
  109. (3864, 3865, 0),
  110. (3893, 3893, 0),
  111. (3895, 3895, 0),
  112. (3897, 3897, 0),
  113. (3902, 3903, 0),
  114. (3953, 3972, 0),
  115. (3974, 3975, 0),
  116. (3981, 3991, 0),
  117. (3993, 4028, 0),
  118. (4038, 4038, 0),
  119. (4139, 4158, 0),
  120. (4182, 4185, 0),
  121. (4190, 4192, 0),
  122. (4194, 4196, 0),
  123. (4199, 4205, 0),
  124. (4209, 4212, 0),
  125. (4226, 4237, 0),
  126. (4239, 4239, 0),
  127. (4250, 4253, 0),
  128. (4352, 4447, 2),
  129. (4448, 4607, 0),
  130. (4957, 4959, 0),
  131. (5906, 5909, 0),
  132. (5938, 5940, 0),
  133. (5970, 5971, 0),
  134. (6002, 6003, 0),
  135. (6068, 6099, 0),
  136. (6109, 6109, 0),
  137. (6155, 6159, 0),
  138. (6277, 6278, 0),
  139. (6313, 6313, 0),
  140. (6432, 6443, 0),
  141. (6448, 6459, 0),
  142. (6679, 6683, 0),
  143. (6741, 6750, 0),
  144. (6752, 6780, 0),
  145. (6783, 6783, 0),
  146. (6832, 6862, 0),
  147. (6912, 6916, 0),
  148. (6964, 6980, 0),
  149. (7019, 7027, 0),
  150. (7040, 7042, 0),
  151. (7073, 7085, 0),
  152. (7142, 7155, 0),
  153. (7204, 7223, 0),
  154. (7376, 7378, 0),
  155. (7380, 7400, 0),
  156. (7405, 7405, 0),
  157. (7412, 7412, 0),
  158. (7415, 7417, 0),
  159. (7616, 7679, 0),
  160. (8203, 8207, 0),
  161. (8232, 8238, 0),
  162. (8288, 8303, 0),
  163. (8400, 8432, 0),
  164. (8986, 8987, 2),
  165. (9001, 9002, 2),
  166. (9193, 9196, 2),
  167. (9200, 9200, 2),
  168. (9203, 9203, 2),
  169. (9725, 9726, 2),
  170. (9748, 9749, 2),
  171. (9776, 9783, 2),
  172. (9800, 9811, 2),
  173. (9855, 9855, 2),
  174. (9866, 9871, 2),
  175. (9875, 9875, 2),
  176. (9889, 9889, 2),
  177. (9898, 9899, 2),
  178. (9917, 9918, 2),
  179. (9924, 9925, 2),
  180. (9934, 9934, 2),
  181. (9940, 9940, 2),
  182. (9962, 9962, 2),
  183. (9970, 9971, 2),
  184. (9973, 9973, 2),
  185. (9978, 9978, 2),
  186. (9981, 9981, 2),
  187. (9989, 9989, 2),
  188. (9994, 9995, 2),
  189. (10024, 10024, 2),
  190. (10060, 10060, 2),
  191. (10062, 10062, 2),
  192. (10067, 10069, 2),
  193. (10071, 10071, 2),
  194. (10133, 10135, 2),
  195. (10160, 10160, 2),
  196. (10175, 10175, 2),
  197. (11035, 11036, 2),
  198. (11088, 11088, 2),
  199. (11093, 11093, 2),
  200. (11503, 11505, 0),
  201. (11647, 11647, 0),
  202. (11744, 11775, 0),
  203. (11904, 11929, 2),
  204. (11931, 12019, 2),
  205. (12032, 12245, 2),
  206. (12272, 12329, 2),
  207. (12330, 12335, 0),
  208. (12336, 12350, 2),
  209. (12353, 12438, 2),
  210. (12441, 12442, 0),
  211. (12443, 12543, 2),
  212. (12549, 12591, 2),
  213. (12593, 12643, 2),
  214. (12644, 12644, 0),
  215. (12645, 12686, 2),
  216. (12688, 12773, 2),
  217. (12783, 12830, 2),
  218. (12832, 12871, 2),
  219. (12880, 42124, 2),
  220. (42128, 42182, 2),
  221. (42607, 42610, 0),
  222. (42612, 42621, 0),
  223. (42654, 42655, 0),
  224. (42736, 42737, 0),
  225. (43010, 43010, 0),
  226. (43014, 43014, 0),
  227. (43019, 43019, 0),
  228. (43043, 43047, 0),
  229. (43052, 43052, 0),
  230. (43136, 43137, 0),
  231. (43188, 43205, 0),
  232. (43232, 43249, 0),
  233. (43263, 43263, 0),
  234. (43302, 43309, 0),
  235. (43335, 43347, 0),
  236. (43360, 43388, 2),
  237. (43392, 43395, 0),
  238. (43443, 43456, 0),
  239. (43493, 43493, 0),
  240. (43561, 43574, 0),
  241. (43587, 43587, 0),
  242. (43596, 43597, 0),
  243. (43643, 43645, 0),
  244. (43696, 43696, 0),
  245. (43698, 43700, 0),
  246. (43703, 43704, 0),
  247. (43710, 43711, 0),
  248. (43713, 43713, 0),
  249. (43755, 43759, 0),
  250. (43765, 43766, 0),
  251. (44003, 44010, 0),
  252. (44012, 44013, 0),
  253. (44032, 55203, 2),
  254. (55216, 55295, 0),
  255. (63744, 64255, 2),
  256. (64286, 64286, 0),
  257. (65024, 65039, 0),
  258. (65040, 65049, 2),
  259. (65056, 65071, 0),
  260. (65072, 65106, 2),
  261. (65108, 65126, 2),
  262. (65128, 65131, 2),
  263. (65279, 65279, 0),
  264. (65281, 65376, 2),
  265. (65440, 65440, 0),
  266. (65504, 65510, 2),
  267. (65520, 65531, 0),
  268. (66045, 66045, 0),
  269. (66272, 66272, 0),
  270. (66422, 66426, 0),
  271. (68097, 68099, 0),
  272. (68101, 68102, 0),
  273. (68108, 68111, 0),
  274. (68152, 68154, 0),
  275. (68159, 68159, 0),
  276. (68325, 68326, 0),
  277. (68900, 68903, 0),
  278. (68969, 68973, 0),
  279. (69291, 69292, 0),
  280. (69372, 69375, 0),
  281. (69446, 69456, 0),
  282. (69506, 69509, 0),
  283. (69632, 69634, 0),
  284. (69688, 69702, 0),
  285. (69744, 69744, 0),
  286. (69747, 69748, 0),
  287. (69759, 69762, 0),
  288. (69808, 69818, 0),
  289. (69826, 69826, 0),
  290. (69888, 69890, 0),
  291. (69927, 69940, 0),
  292. (69957, 69958, 0),
  293. (70003, 70003, 0),
  294. (70016, 70018, 0),
  295. (70067, 70080, 0),
  296. (70089, 70092, 0),
  297. (70094, 70095, 0),
  298. (70188, 70199, 0),
  299. (70206, 70206, 0),
  300. (70209, 70209, 0),
  301. (70367, 70378, 0),
  302. (70400, 70403, 0),
  303. (70459, 70460, 0),
  304. (70462, 70468, 0),
  305. (70471, 70472, 0),
  306. (70475, 70477, 0),
  307. (70487, 70487, 0),
  308. (70498, 70499, 0),
  309. (70502, 70508, 0),
  310. (70512, 70516, 0),
  311. (70584, 70592, 0),
  312. (70594, 70594, 0),
  313. (70597, 70597, 0),
  314. (70599, 70602, 0),
  315. (70604, 70608, 0),
  316. (70610, 70610, 0),
  317. (70625, 70626, 0),
  318. (70709, 70726, 0),
  319. (70750, 70750, 0),
  320. (70832, 70851, 0),
  321. (71087, 71093, 0),
  322. (71096, 71104, 0),
  323. (71132, 71133, 0),
  324. (71216, 71232, 0),
  325. (71339, 71351, 0),
  326. (71453, 71467, 0),
  327. (71724, 71738, 0),
  328. (71984, 71989, 0),
  329. (71991, 71992, 0),
  330. (71995, 71998, 0),
  331. (72000, 72000, 0),
  332. (72002, 72003, 0),
  333. (72145, 72151, 0),
  334. (72154, 72160, 0),
  335. (72164, 72164, 0),
  336. (72193, 72202, 0),
  337. (72243, 72249, 0),
  338. (72251, 72254, 0),
  339. (72263, 72263, 0),
  340. (72273, 72283, 0),
  341. (72330, 72345, 0),
  342. (72751, 72758, 0),
  343. (72760, 72767, 0),
  344. (72850, 72871, 0),
  345. (72873, 72886, 0),
  346. (73009, 73014, 0),
  347. (73018, 73018, 0),
  348. (73020, 73021, 0),
  349. (73023, 73029, 0),
  350. (73031, 73031, 0),
  351. (73098, 73102, 0),
  352. (73104, 73105, 0),
  353. (73107, 73111, 0),
  354. (73459, 73462, 0),
  355. (73472, 73473, 0),
  356. (73475, 73475, 0),
  357. (73524, 73530, 0),
  358. (73534, 73538, 0),
  359. (73562, 73562, 0),
  360. (78896, 78912, 0),
  361. (78919, 78933, 0),
  362. (90398, 90415, 0),
  363. (92912, 92916, 0),
  364. (92976, 92982, 0),
  365. (94031, 94031, 0),
  366. (94033, 94087, 0),
  367. (94095, 94098, 0),
  368. (94176, 94179, 2),
  369. (94180, 94180, 0),
  370. (94192, 94193, 0),
  371. (94208, 100343, 2),
  372. (100352, 101589, 2),
  373. (101631, 101640, 2),
  374. (110576, 110579, 2),
  375. (110581, 110587, 2),
  376. (110589, 110590, 2),
  377. (110592, 110882, 2),
  378. (110898, 110898, 2),
  379. (110928, 110930, 2),
  380. (110933, 110933, 2),
  381. (110948, 110951, 2),
  382. (110960, 111355, 2),
  383. (113821, 113822, 0),
  384. (113824, 113827, 0),
  385. (118528, 118573, 0),
  386. (118576, 118598, 0),
  387. (119141, 119145, 0),
  388. (119149, 119170, 0),
  389. (119173, 119179, 0),
  390. (119210, 119213, 0),
  391. (119362, 119364, 0),
  392. (119552, 119638, 2),
  393. (119648, 119670, 2),
  394. (121344, 121398, 0),
  395. (121403, 121452, 0),
  396. (121461, 121461, 0),
  397. (121476, 121476, 0),
  398. (121499, 121503, 0),
  399. (121505, 121519, 0),
  400. (122880, 122886, 0),
  401. (122888, 122904, 0),
  402. (122907, 122913, 0),
  403. (122915, 122916, 0),
  404. (122918, 122922, 0),
  405. (123023, 123023, 0),
  406. (123184, 123190, 0),
  407. (123566, 123566, 0),
  408. (123628, 123631, 0),
  409. (124140, 124143, 0),
  410. (124398, 124399, 0),
  411. (125136, 125142, 0),
  412. (125252, 125258, 0),
  413. (126980, 126980, 2),
  414. (127183, 127183, 2),
  415. (127374, 127374, 2),
  416. (127377, 127386, 2),
  417. (127488, 127490, 2),
  418. (127504, 127547, 2),
  419. (127552, 127560, 2),
  420. (127568, 127569, 2),
  421. (127584, 127589, 2),
  422. (127744, 127776, 2),
  423. (127789, 127797, 2),
  424. (127799, 127868, 2),
  425. (127870, 127891, 2),
  426. (127904, 127946, 2),
  427. (127951, 127955, 2),
  428. (127968, 127984, 2),
  429. (127988, 127988, 2),
  430. (127992, 127994, 2),
  431. (127995, 127999, 0),
  432. (128000, 128062, 2),
  433. (128064, 128064, 2),
  434. (128066, 128252, 2),
  435. (128255, 128317, 2),
  436. (128331, 128334, 2),
  437. (128336, 128359, 2),
  438. (128378, 128378, 2),
  439. (128405, 128406, 2),
  440. (128420, 128420, 2),
  441. (128507, 128591, 2),
  442. (128640, 128709, 2),
  443. (128716, 128716, 2),
  444. (128720, 128722, 2),
  445. (128725, 128727, 2),
  446. (128732, 128735, 2),
  447. (128747, 128748, 2),
  448. (128756, 128764, 2),
  449. (128992, 129003, 2),
  450. (129008, 129008, 2),
  451. (129292, 129338, 2),
  452. (129340, 129349, 2),
  453. (129351, 129535, 2),
  454. (129648, 129660, 2),
  455. (129664, 129673, 2),
  456. (129679, 129734, 2),
  457. (129742, 129756, 2),
  458. (129759, 129769, 2),
  459. (129776, 129784, 2),
  460. (131072, 196605, 2),
  461. (196608, 262141, 2),
  462. (917504, 921599, 0),
  463. ],
  464. frozenset(
  465. [
  466. "#",
  467. "*",
  468. "0",
  469. "1",
  470. "2",
  471. "3",
  472. "4",
  473. "5",
  474. "6",
  475. "7",
  476. "8",
  477. "9",
  478. "©",
  479. "®",
  480. "‼",
  481. "⁉",
  482. "™",
  483. "ℹ",
  484. "↔",
  485. "↕",
  486. "↖",
  487. "↗",
  488. "↘",
  489. "↙",
  490. "↩",
  491. "↪",
  492. "⌨",
  493. "⏏",
  494. "⏭",
  495. "⏮",
  496. "⏯",
  497. "⏱",
  498. "⏲",
  499. "⏸",
  500. "⏹",
  501. "⏺",
  502. "Ⓜ",
  503. "▪",
  504. "▫",
  505. "▶",
  506. "◀",
  507. "◻",
  508. "◼",
  509. "☀",
  510. "☁",
  511. "☂",
  512. "☃",
  513. "☄",
  514. "☎",
  515. "☑",
  516. "☘",
  517. "☝",
  518. "☠",
  519. "☢",
  520. "☣",
  521. "☦",
  522. "☪",
  523. "☮",
  524. "☯",
  525. "☸",
  526. "☹",
  527. "☺",
  528. "♀",
  529. "♂",
  530. "♟",
  531. "♠",
  532. "♣",
  533. "♥",
  534. "♦",
  535. "♨",
  536. "♻",
  537. "♾",
  538. "⚒",
  539. "⚔",
  540. "⚕",
  541. "⚖",
  542. "⚗",
  543. "⚙",
  544. "⚛",
  545. "⚜",
  546. "⚠",
  547. "⚧",
  548. "⚰",
  549. "⚱",
  550. "⛈",
  551. "⛏",
  552. "⛑",
  553. "⛓",
  554. "⛩",
  555. "⛰",
  556. "⛱",
  557. "⛴",
  558. "⛷",
  559. "⛸",
  560. "⛹",
  561. "✂",
  562. "✈",
  563. "✉",
  564. "✌",
  565. "✍",
  566. "✏",
  567. "✒",
  568. "✔",
  569. "✖",
  570. "✝",
  571. "✡",
  572. "✳",
  573. "✴",
  574. "❄",
  575. "❇",
  576. "❣",
  577. "❤",
  578. "➡",
  579. "⤴",
  580. "⤵",
  581. "⬅",
  582. "⬆",
  583. "⬇",
  584. "🅰",
  585. "🅱",
  586. "🅾",
  587. "🅿",
  588. "🌡",
  589. "🌤",
  590. "🌥",
  591. "🌦",
  592. "🌧",
  593. "🌨",
  594. "🌩",
  595. "🌪",
  596. "🌫",
  597. "🌬",
  598. "🌶",
  599. "🍽",
  600. "🎖",
  601. "🎗",
  602. "🎙",
  603. "🎚",
  604. "🎛",
  605. "🎞",
  606. "🎟",
  607. "🏋",
  608. "🏌",
  609. "🏍",
  610. "🏎",
  611. "🏔",
  612. "🏕",
  613. "🏖",
  614. "🏗",
  615. "🏘",
  616. "🏙",
  617. "🏚",
  618. "🏛",
  619. "🏜",
  620. "🏝",
  621. "🏞",
  622. "🏟",
  623. "🏳",
  624. "🏵",
  625. "🏷",
  626. "🐿",
  627. "👁",
  628. "📽",
  629. "🕉",
  630. "🕊",
  631. "🕯",
  632. "🕰",
  633. "🕳",
  634. "🕴",
  635. "🕵",
  636. "🕶",
  637. "🕷",
  638. "🕸",
  639. "🕹",
  640. "🖇",
  641. "🖊",
  642. "🖋",
  643. "🖌",
  644. "🖍",
  645. "🖐",
  646. "🖥",
  647. "🖨",
  648. "🖱",
  649. "🖲",
  650. "🖼",
  651. "🗂",
  652. "🗃",
  653. "🗄",
  654. "🗑",
  655. "🗒",
  656. "🗓",
  657. "🗜",
  658. "🗝",
  659. "🗞",
  660. "🗡",
  661. "🗣",
  662. "🗨",
  663. "🗯",
  664. "🗳",
  665. "🗺",
  666. "🛋",
  667. "🛍",
  668. "🛎",
  669. "🛏",
  670. "🛠",
  671. "🛡",
  672. "🛢",
  673. "🛣",
  674. "🛤",
  675. "🛥",
  676. "🛩",
  677. "🛰",
  678. "🛳",
  679. ]
  680. ),
  681. )