unicode12-0-0.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  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. "12.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. (2259, 2273, 0),
  34. (2275, 2307, 0),
  35. (2362, 2364, 0),
  36. (2366, 2383, 0),
  37. (2385, 2391, 0),
  38. (2402, 2403, 0),
  39. (2433, 2435, 0),
  40. (2492, 2492, 0),
  41. (2494, 2500, 0),
  42. (2503, 2504, 0),
  43. (2507, 2509, 0),
  44. (2519, 2519, 0),
  45. (2530, 2531, 0),
  46. (2558, 2558, 0),
  47. (2561, 2563, 0),
  48. (2620, 2620, 0),
  49. (2622, 2626, 0),
  50. (2631, 2632, 0),
  51. (2635, 2637, 0),
  52. (2641, 2641, 0),
  53. (2672, 2673, 0),
  54. (2677, 2677, 0),
  55. (2689, 2691, 0),
  56. (2748, 2748, 0),
  57. (2750, 2757, 0),
  58. (2759, 2761, 0),
  59. (2763, 2765, 0),
  60. (2786, 2787, 0),
  61. (2810, 2815, 0),
  62. (2817, 2819, 0),
  63. (2876, 2876, 0),
  64. (2878, 2884, 0),
  65. (2887, 2888, 0),
  66. (2891, 2893, 0),
  67. (2902, 2903, 0),
  68. (2914, 2915, 0),
  69. (2946, 2946, 0),
  70. (3006, 3010, 0),
  71. (3014, 3016, 0),
  72. (3018, 3021, 0),
  73. (3031, 3031, 0),
  74. (3072, 3076, 0),
  75. (3134, 3140, 0),
  76. (3142, 3144, 0),
  77. (3146, 3149, 0),
  78. (3157, 3158, 0),
  79. (3170, 3171, 0),
  80. (3201, 3203, 0),
  81. (3260, 3260, 0),
  82. (3262, 3268, 0),
  83. (3270, 3272, 0),
  84. (3274, 3277, 0),
  85. (3285, 3286, 0),
  86. (3298, 3299, 0),
  87. (3328, 3331, 0),
  88. (3387, 3388, 0),
  89. (3390, 3396, 0),
  90. (3398, 3400, 0),
  91. (3402, 3405, 0),
  92. (3415, 3415, 0),
  93. (3426, 3427, 0),
  94. (3458, 3459, 0),
  95. (3530, 3530, 0),
  96. (3535, 3540, 0),
  97. (3542, 3542, 0),
  98. (3544, 3551, 0),
  99. (3570, 3571, 0),
  100. (3633, 3633, 0),
  101. (3636, 3642, 0),
  102. (3655, 3662, 0),
  103. (3761, 3761, 0),
  104. (3764, 3772, 0),
  105. (3784, 3789, 0),
  106. (3864, 3865, 0),
  107. (3893, 3893, 0),
  108. (3895, 3895, 0),
  109. (3897, 3897, 0),
  110. (3902, 3903, 0),
  111. (3953, 3972, 0),
  112. (3974, 3975, 0),
  113. (3981, 3991, 0),
  114. (3993, 4028, 0),
  115. (4038, 4038, 0),
  116. (4139, 4158, 0),
  117. (4182, 4185, 0),
  118. (4190, 4192, 0),
  119. (4194, 4196, 0),
  120. (4199, 4205, 0),
  121. (4209, 4212, 0),
  122. (4226, 4237, 0),
  123. (4239, 4239, 0),
  124. (4250, 4253, 0),
  125. (4352, 4447, 2),
  126. (4448, 4607, 0),
  127. (4957, 4959, 0),
  128. (5906, 5908, 0),
  129. (5938, 5940, 0),
  130. (5970, 5971, 0),
  131. (6002, 6003, 0),
  132. (6068, 6099, 0),
  133. (6109, 6109, 0),
  134. (6155, 6158, 0),
  135. (6277, 6278, 0),
  136. (6313, 6313, 0),
  137. (6432, 6443, 0),
  138. (6448, 6459, 0),
  139. (6679, 6683, 0),
  140. (6741, 6750, 0),
  141. (6752, 6780, 0),
  142. (6783, 6783, 0),
  143. (6832, 6846, 0),
  144. (6912, 6916, 0),
  145. (6964, 6980, 0),
  146. (7019, 7027, 0),
  147. (7040, 7042, 0),
  148. (7073, 7085, 0),
  149. (7142, 7155, 0),
  150. (7204, 7223, 0),
  151. (7376, 7378, 0),
  152. (7380, 7400, 0),
  153. (7405, 7405, 0),
  154. (7412, 7412, 0),
  155. (7415, 7417, 0),
  156. (7616, 7673, 0),
  157. (7675, 7679, 0),
  158. (8203, 8207, 0),
  159. (8232, 8238, 0),
  160. (8288, 8303, 0),
  161. (8400, 8432, 0),
  162. (8986, 8987, 2),
  163. (9001, 9002, 2),
  164. (9193, 9196, 2),
  165. (9200, 9200, 2),
  166. (9203, 9203, 2),
  167. (9725, 9726, 2),
  168. (9748, 9749, 2),
  169. (9800, 9811, 2),
  170. (9855, 9855, 2),
  171. (9875, 9875, 2),
  172. (9889, 9889, 2),
  173. (9898, 9899, 2),
  174. (9917, 9918, 2),
  175. (9924, 9925, 2),
  176. (9934, 9934, 2),
  177. (9940, 9940, 2),
  178. (9962, 9962, 2),
  179. (9970, 9971, 2),
  180. (9973, 9973, 2),
  181. (9978, 9978, 2),
  182. (9981, 9981, 2),
  183. (9989, 9989, 2),
  184. (9994, 9995, 2),
  185. (10024, 10024, 2),
  186. (10060, 10060, 2),
  187. (10062, 10062, 2),
  188. (10067, 10069, 2),
  189. (10071, 10071, 2),
  190. (10133, 10135, 2),
  191. (10160, 10160, 2),
  192. (10175, 10175, 2),
  193. (11035, 11036, 2),
  194. (11088, 11088, 2),
  195. (11093, 11093, 2),
  196. (11503, 11505, 0),
  197. (11647, 11647, 0),
  198. (11744, 11775, 0),
  199. (11904, 11929, 2),
  200. (11931, 12019, 2),
  201. (12032, 12245, 2),
  202. (12272, 12283, 2),
  203. (12288, 12329, 2),
  204. (12330, 12335, 0),
  205. (12336, 12350, 2),
  206. (12353, 12438, 2),
  207. (12441, 12442, 0),
  208. (12443, 12543, 2),
  209. (12549, 12591, 2),
  210. (12593, 12643, 2),
  211. (12644, 12644, 0),
  212. (12645, 12686, 2),
  213. (12688, 12730, 2),
  214. (12736, 12771, 2),
  215. (12784, 12830, 2),
  216. (12832, 12871, 2),
  217. (12880, 13054, 2),
  218. (13056, 19903, 2),
  219. (19968, 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. (43136, 43137, 0),
  230. (43188, 43205, 0),
  231. (43232, 43249, 0),
  232. (43263, 43263, 0),
  233. (43302, 43309, 0),
  234. (43335, 43347, 0),
  235. (43360, 43388, 2),
  236. (43392, 43395, 0),
  237. (43443, 43456, 0),
  238. (43493, 43493, 0),
  239. (43561, 43574, 0),
  240. (43587, 43587, 0),
  241. (43596, 43597, 0),
  242. (43643, 43645, 0),
  243. (43696, 43696, 0),
  244. (43698, 43700, 0),
  245. (43703, 43704, 0),
  246. (43710, 43711, 0),
  247. (43713, 43713, 0),
  248. (43755, 43759, 0),
  249. (43765, 43766, 0),
  250. (44003, 44010, 0),
  251. (44012, 44013, 0),
  252. (44032, 55203, 2),
  253. (55216, 55295, 0),
  254. (63744, 64255, 2),
  255. (64286, 64286, 0),
  256. (65024, 65039, 0),
  257. (65040, 65049, 2),
  258. (65056, 65071, 0),
  259. (65072, 65106, 2),
  260. (65108, 65126, 2),
  261. (65128, 65131, 2),
  262. (65279, 65279, 0),
  263. (65281, 65376, 2),
  264. (65440, 65440, 0),
  265. (65504, 65510, 2),
  266. (65520, 65531, 0),
  267. (66045, 66045, 0),
  268. (66272, 66272, 0),
  269. (66422, 66426, 0),
  270. (68097, 68099, 0),
  271. (68101, 68102, 0),
  272. (68108, 68111, 0),
  273. (68152, 68154, 0),
  274. (68159, 68159, 0),
  275. (68325, 68326, 0),
  276. (68900, 68903, 0),
  277. (69446, 69456, 0),
  278. (69632, 69634, 0),
  279. (69688, 69702, 0),
  280. (69759, 69762, 0),
  281. (69808, 69818, 0),
  282. (69888, 69890, 0),
  283. (69927, 69940, 0),
  284. (69957, 69958, 0),
  285. (70003, 70003, 0),
  286. (70016, 70018, 0),
  287. (70067, 70080, 0),
  288. (70089, 70092, 0),
  289. (70188, 70199, 0),
  290. (70206, 70206, 0),
  291. (70367, 70378, 0),
  292. (70400, 70403, 0),
  293. (70459, 70460, 0),
  294. (70462, 70468, 0),
  295. (70471, 70472, 0),
  296. (70475, 70477, 0),
  297. (70487, 70487, 0),
  298. (70498, 70499, 0),
  299. (70502, 70508, 0),
  300. (70512, 70516, 0),
  301. (70709, 70726, 0),
  302. (70750, 70750, 0),
  303. (70832, 70851, 0),
  304. (71087, 71093, 0),
  305. (71096, 71104, 0),
  306. (71132, 71133, 0),
  307. (71216, 71232, 0),
  308. (71339, 71351, 0),
  309. (71453, 71467, 0),
  310. (71724, 71738, 0),
  311. (72145, 72151, 0),
  312. (72154, 72160, 0),
  313. (72164, 72164, 0),
  314. (72193, 72202, 0),
  315. (72243, 72249, 0),
  316. (72251, 72254, 0),
  317. (72263, 72263, 0),
  318. (72273, 72283, 0),
  319. (72330, 72345, 0),
  320. (72751, 72758, 0),
  321. (72760, 72767, 0),
  322. (72850, 72871, 0),
  323. (72873, 72886, 0),
  324. (73009, 73014, 0),
  325. (73018, 73018, 0),
  326. (73020, 73021, 0),
  327. (73023, 73029, 0),
  328. (73031, 73031, 0),
  329. (73098, 73102, 0),
  330. (73104, 73105, 0),
  331. (73107, 73111, 0),
  332. (73459, 73462, 0),
  333. (78896, 78904, 0),
  334. (92912, 92916, 0),
  335. (92976, 92982, 0),
  336. (94031, 94031, 0),
  337. (94033, 94087, 0),
  338. (94095, 94098, 0),
  339. (94176, 94179, 2),
  340. (94208, 100343, 2),
  341. (100352, 101106, 2),
  342. (110592, 110878, 2),
  343. (110928, 110930, 2),
  344. (110948, 110951, 2),
  345. (110960, 111355, 2),
  346. (113821, 113822, 0),
  347. (113824, 113827, 0),
  348. (119141, 119145, 0),
  349. (119149, 119170, 0),
  350. (119173, 119179, 0),
  351. (119210, 119213, 0),
  352. (119362, 119364, 0),
  353. (121344, 121398, 0),
  354. (121403, 121452, 0),
  355. (121461, 121461, 0),
  356. (121476, 121476, 0),
  357. (121499, 121503, 0),
  358. (121505, 121519, 0),
  359. (122880, 122886, 0),
  360. (122888, 122904, 0),
  361. (122907, 122913, 0),
  362. (122915, 122916, 0),
  363. (122918, 122922, 0),
  364. (123184, 123190, 0),
  365. (123628, 123631, 0),
  366. (125136, 125142, 0),
  367. (125252, 125258, 0),
  368. (126980, 126980, 2),
  369. (127183, 127183, 2),
  370. (127374, 127374, 2),
  371. (127377, 127386, 2),
  372. (127488, 127490, 2),
  373. (127504, 127547, 2),
  374. (127552, 127560, 2),
  375. (127568, 127569, 2),
  376. (127584, 127589, 2),
  377. (127744, 127776, 2),
  378. (127789, 127797, 2),
  379. (127799, 127868, 2),
  380. (127870, 127891, 2),
  381. (127904, 127946, 2),
  382. (127951, 127955, 2),
  383. (127968, 127984, 2),
  384. (127988, 127988, 2),
  385. (127992, 127994, 2),
  386. (127995, 127999, 0),
  387. (128000, 128062, 2),
  388. (128064, 128064, 2),
  389. (128066, 128252, 2),
  390. (128255, 128317, 2),
  391. (128331, 128334, 2),
  392. (128336, 128359, 2),
  393. (128378, 128378, 2),
  394. (128405, 128406, 2),
  395. (128420, 128420, 2),
  396. (128507, 128591, 2),
  397. (128640, 128709, 2),
  398. (128716, 128716, 2),
  399. (128720, 128722, 2),
  400. (128725, 128725, 2),
  401. (128747, 128748, 2),
  402. (128756, 128762, 2),
  403. (128992, 129003, 2),
  404. (129293, 129393, 2),
  405. (129395, 129398, 2),
  406. (129402, 129442, 2),
  407. (129445, 129450, 2),
  408. (129454, 129482, 2),
  409. (129485, 129535, 2),
  410. (129648, 129651, 2),
  411. (129656, 129658, 2),
  412. (129664, 129666, 2),
  413. (129680, 129685, 2),
  414. (131072, 196605, 2),
  415. (196608, 262141, 2),
  416. (917504, 921599, 0),
  417. ],
  418. frozenset(
  419. [
  420. "#",
  421. "*",
  422. "0",
  423. "1",
  424. "2",
  425. "3",
  426. "4",
  427. "5",
  428. "6",
  429. "7",
  430. "8",
  431. "9",
  432. "©",
  433. "®",
  434. "‼",
  435. "⁉",
  436. "™",
  437. "ℹ",
  438. "↔",
  439. "↕",
  440. "↖",
  441. "↗",
  442. "↘",
  443. "↙",
  444. "↩",
  445. "↪",
  446. "⌨",
  447. "⏏",
  448. "⏭",
  449. "⏮",
  450. "⏯",
  451. "⏱",
  452. "⏲",
  453. "⏸",
  454. "⏹",
  455. "⏺",
  456. "Ⓜ",
  457. "▪",
  458. "▫",
  459. "▶",
  460. "◀",
  461. "◻",
  462. "◼",
  463. "☀",
  464. "☁",
  465. "☂",
  466. "☃",
  467. "☄",
  468. "☎",
  469. "☑",
  470. "☘",
  471. "☝",
  472. "☠",
  473. "☢",
  474. "☣",
  475. "☦",
  476. "☪",
  477. "☮",
  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. )