unicode4-1-0.py 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  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. "4.1.0",
  6. [
  7. (0, 8, 0),
  8. (14, 31, 0),
  9. (127, 132, 0),
  10. (134, 159, 0),
  11. (768, 879, 0),
  12. (1155, 1158, 0),
  13. (1160, 1161, 0),
  14. (1425, 1465, 0),
  15. (1467, 1469, 0),
  16. (1471, 1471, 0),
  17. (1473, 1474, 0),
  18. (1476, 1477, 0),
  19. (1479, 1479, 0),
  20. (1536, 1539, 0),
  21. (1552, 1557, 0),
  22. (1611, 1630, 0),
  23. (1648, 1648, 0),
  24. (1750, 1764, 0),
  25. (1767, 1768, 0),
  26. (1770, 1773, 0),
  27. (1807, 1807, 0),
  28. (1809, 1809, 0),
  29. (1840, 1866, 0),
  30. (1958, 1968, 0),
  31. (2305, 2307, 0),
  32. (2364, 2364, 0),
  33. (2366, 2381, 0),
  34. (2385, 2388, 0),
  35. (2402, 2403, 0),
  36. (2433, 2435, 0),
  37. (2492, 2492, 0),
  38. (2494, 2500, 0),
  39. (2503, 2504, 0),
  40. (2507, 2509, 0),
  41. (2519, 2519, 0),
  42. (2530, 2531, 0),
  43. (2561, 2563, 0),
  44. (2620, 2620, 0),
  45. (2622, 2626, 0),
  46. (2631, 2632, 0),
  47. (2635, 2637, 0),
  48. (2672, 2673, 0),
  49. (2689, 2691, 0),
  50. (2748, 2748, 0),
  51. (2750, 2757, 0),
  52. (2759, 2761, 0),
  53. (2763, 2765, 0),
  54. (2786, 2787, 0),
  55. (2817, 2819, 0),
  56. (2876, 2876, 0),
  57. (2878, 2883, 0),
  58. (2887, 2888, 0),
  59. (2891, 2893, 0),
  60. (2902, 2903, 0),
  61. (2946, 2946, 0),
  62. (3006, 3010, 0),
  63. (3014, 3016, 0),
  64. (3018, 3021, 0),
  65. (3031, 3031, 0),
  66. (3073, 3075, 0),
  67. (3134, 3140, 0),
  68. (3142, 3144, 0),
  69. (3146, 3149, 0),
  70. (3157, 3158, 0),
  71. (3202, 3203, 0),
  72. (3260, 3260, 0),
  73. (3262, 3268, 0),
  74. (3270, 3272, 0),
  75. (3274, 3277, 0),
  76. (3285, 3286, 0),
  77. (3330, 3331, 0),
  78. (3390, 3395, 0),
  79. (3398, 3400, 0),
  80. (3402, 3405, 0),
  81. (3415, 3415, 0),
  82. (3458, 3459, 0),
  83. (3530, 3530, 0),
  84. (3535, 3540, 0),
  85. (3542, 3542, 0),
  86. (3544, 3551, 0),
  87. (3570, 3571, 0),
  88. (3633, 3633, 0),
  89. (3636, 3642, 0),
  90. (3655, 3662, 0),
  91. (3761, 3761, 0),
  92. (3764, 3769, 0),
  93. (3771, 3772, 0),
  94. (3784, 3789, 0),
  95. (3864, 3865, 0),
  96. (3893, 3893, 0),
  97. (3895, 3895, 0),
  98. (3897, 3897, 0),
  99. (3902, 3903, 0),
  100. (3953, 3972, 0),
  101. (3974, 3975, 0),
  102. (3984, 3991, 0),
  103. (3993, 4028, 0),
  104. (4038, 4038, 0),
  105. (4140, 4146, 0),
  106. (4150, 4153, 0),
  107. (4182, 4185, 0),
  108. (4352, 4441, 2),
  109. (4447, 4447, 2),
  110. (4448, 4607, 0),
  111. (4959, 4959, 0),
  112. (5906, 5908, 0),
  113. (5938, 5940, 0),
  114. (5970, 5971, 0),
  115. (6002, 6003, 0),
  116. (6068, 6099, 0),
  117. (6109, 6109, 0),
  118. (6155, 6157, 0),
  119. (6313, 6313, 0),
  120. (6432, 6443, 0),
  121. (6448, 6459, 0),
  122. (6576, 6592, 0),
  123. (6600, 6601, 0),
  124. (6679, 6683, 0),
  125. (7616, 7619, 0),
  126. (8203, 8207, 0),
  127. (8232, 8238, 0),
  128. (8288, 8303, 0),
  129. (8400, 8427, 0),
  130. (9001, 9002, 2),
  131. (11904, 11929, 2),
  132. (11931, 12019, 2),
  133. (12032, 12245, 2),
  134. (12272, 12283, 2),
  135. (12288, 12329, 2),
  136. (12330, 12335, 0),
  137. (12336, 12350, 2),
  138. (12353, 12438, 2),
  139. (12441, 12442, 0),
  140. (12443, 12543, 2),
  141. (12549, 12588, 2),
  142. (12593, 12643, 2),
  143. (12644, 12644, 0),
  144. (12645, 12686, 2),
  145. (12688, 12727, 2),
  146. (12736, 12751, 2),
  147. (12784, 12830, 2),
  148. (12832, 12867, 2),
  149. (12880, 13054, 2),
  150. (13056, 19893, 2),
  151. (19968, 40891, 2),
  152. (40960, 42124, 2),
  153. (42128, 42182, 2),
  154. (43010, 43010, 0),
  155. (43014, 43014, 0),
  156. (43019, 43019, 0),
  157. (43043, 43047, 0),
  158. (44032, 55203, 2),
  159. (55216, 57343, 0),
  160. (63744, 64045, 2),
  161. (64048, 64106, 2),
  162. (64112, 64217, 2),
  163. (64286, 64286, 0),
  164. (64976, 65007, 0),
  165. (65024, 65039, 0),
  166. (65040, 65049, 2),
  167. (65056, 65059, 0),
  168. (65072, 65106, 2),
  169. (65108, 65126, 2),
  170. (65128, 65131, 2),
  171. (65279, 65279, 0),
  172. (65281, 65376, 2),
  173. (65440, 65440, 0),
  174. (65504, 65510, 2),
  175. (65520, 65531, 0),
  176. (65534, 65535, 0),
  177. (68097, 68099, 0),
  178. (68101, 68102, 0),
  179. (68108, 68111, 0),
  180. (68152, 68154, 0),
  181. (68159, 68159, 0),
  182. (119141, 119145, 0),
  183. (119149, 119170, 0),
  184. (119173, 119179, 0),
  185. (119210, 119213, 0),
  186. (119362, 119364, 0),
  187. (131070, 131071, 0),
  188. (131072, 196605, 2),
  189. (196606, 196607, 0),
  190. (196608, 262141, 2),
  191. (262142, 262143, 0),
  192. (327678, 327679, 0),
  193. (393214, 393215, 0),
  194. (458750, 458751, 0),
  195. (524286, 524287, 0),
  196. (589822, 589823, 0),
  197. (655358, 655359, 0),
  198. (720894, 720895, 0),
  199. (786430, 786431, 0),
  200. (851966, 851967, 0),
  201. (917502, 921599, 0),
  202. (983038, 983039, 0),
  203. (1048574, 1048575, 0),
  204. (1114110, 1114111, 0),
  205. ],
  206. frozenset(
  207. [
  208. "#",
  209. "*",
  210. "0",
  211. "1",
  212. "2",
  213. "3",
  214. "4",
  215. "5",
  216. "6",
  217. "7",
  218. "8",
  219. "9",
  220. "©",
  221. "®",
  222. "‼",
  223. "⁉",
  224. "™",
  225. "ℹ",
  226. "↔",
  227. "↕",
  228. "↖",
  229. "↗",
  230. "↘",
  231. "↙",
  232. "↩",
  233. "↪",
  234. "⌨",
  235. "⏏",
  236. "⏭",
  237. "⏮",
  238. "⏯",
  239. "⏱",
  240. "⏲",
  241. "⏸",
  242. "⏹",
  243. "⏺",
  244. "Ⓜ",
  245. "▪",
  246. "▫",
  247. "▶",
  248. "◀",
  249. "◻",
  250. "◼",
  251. "☀",
  252. "☁",
  253. "☂",
  254. "☃",
  255. "☄",
  256. "☎",
  257. "☑",
  258. "☘",
  259. "☝",
  260. "☠",
  261. "☢",
  262. "☣",
  263. "☦",
  264. "☪",
  265. "☮",
  266. "☯",
  267. "☸",
  268. "☹",
  269. "☺",
  270. "♀",
  271. "♂",
  272. "♟",
  273. "♠",
  274. "♣",
  275. "♥",
  276. "♦",
  277. "♨",
  278. "♻",
  279. "♾",
  280. "⚒",
  281. "⚔",
  282. "⚕",
  283. "⚖",
  284. "⚗",
  285. "⚙",
  286. "⚛",
  287. "⚜",
  288. "⚠",
  289. "⚧",
  290. "⚰",
  291. "⚱",
  292. "⛈",
  293. "⛏",
  294. "⛑",
  295. "⛓",
  296. "⛩",
  297. "⛰",
  298. "⛱",
  299. "⛴",
  300. "⛷",
  301. "⛸",
  302. "⛹",
  303. "✂",
  304. "✈",
  305. "✉",
  306. "✌",
  307. "✍",
  308. "✏",
  309. "✒",
  310. "✔",
  311. "✖",
  312. "✝",
  313. "✡",
  314. "✳",
  315. "✴",
  316. "❄",
  317. "❇",
  318. "❣",
  319. "❤",
  320. "➡",
  321. "⤴",
  322. "⤵",
  323. "⬅",
  324. "⬆",
  325. "⬇",
  326. "🅰",
  327. "🅱",
  328. "🅾",
  329. "🅿",
  330. "🌡",
  331. "🌤",
  332. "🌥",
  333. "🌦",
  334. "🌧",
  335. "🌨",
  336. "🌩",
  337. "🌪",
  338. "🌫",
  339. "🌬",
  340. "🌶",
  341. "🍽",
  342. "🎖",
  343. "🎗",
  344. "🎙",
  345. "🎚",
  346. "🎛",
  347. "🎞",
  348. "🎟",
  349. "🏋",
  350. "🏌",
  351. "🏍",
  352. "🏎",
  353. "🏔",
  354. "🏕",
  355. "🏖",
  356. "🏗",
  357. "🏘",
  358. "🏙",
  359. "🏚",
  360. "🏛",
  361. "🏜",
  362. "🏝",
  363. "🏞",
  364. "🏟",
  365. "🏳",
  366. "🏵",
  367. "🏷",
  368. "🐿",
  369. "👁",
  370. "📽",
  371. "🕉",
  372. "🕊",
  373. "🕯",
  374. "🕰",
  375. "🕳",
  376. "🕴",
  377. "🕵",
  378. "🕶",
  379. "🕷",
  380. "🕸",
  381. "🕹",
  382. "🖇",
  383. "🖊",
  384. "🖋",
  385. "🖌",
  386. "🖍",
  387. "🖐",
  388. "🖥",
  389. "🖨",
  390. "🖱",
  391. "🖲",
  392. "🖼",
  393. "🗂",
  394. "🗃",
  395. "🗄",
  396. "🗑",
  397. "🗒",
  398. "🗓",
  399. "🗜",
  400. "🗝",
  401. "🗞",
  402. "🗡",
  403. "🗣",
  404. "🗨",
  405. "🗯",
  406. "🗳",
  407. "🗺",
  408. "🛋",
  409. "🛍",
  410. "🛎",
  411. "🛏",
  412. "🛠",
  413. "🛡",
  414. "🛢",
  415. "🛣",
  416. "🛤",
  417. "🛥",
  418. "🛩",
  419. "🛰",
  420. "🛳",
  421. ]
  422. ),
  423. )