nixos-config/extra/kitty.patch

201 lines
152 KiB
Diff
Raw Normal View History

diff --git a/gen-wcwidth.py b/gen-wcwidth.py
2022-06-14 09:02:11 +00:00
index 09f4b9a6..083714b4 100755
--- a/gen-wcwidth.py
+++ b/gen-wcwidth.py
2022-06-14 09:02:11 +00:00
@@ -56,6 +56,9 @@ def get_data(fname: str, folder: str = 'UCD') -> Iterable[str]:
not_assigned = set(range(0, sys.maxunicode))
property_maps: Dict[str, Set[int]] = defaultdict(set)
+marks |= {0xF1992}
+marks |= set(range(0xF1994, 0xF199C))
+
def parse_prop_list() -> None:
global marks
@@ -242,6 +245,13 @@ def parse_eaw() -> None:
2022-06-14 08:50:12 +00:00
doublewidth |= set(range(0x20000, 0x2FFFD + 1)) - seen
doublewidth |= set(range(0x30000, 0x3FFFD + 1)) - seen
2022-06-14 08:50:12 +00:00
+ doublewidth |= set(range(0xF1900, 0xF1990)) # nimi pu and nimi ku suli
+ doublewidth |= set(range(0xf19A0, 0xF1a00)) # nimi ku lili
+ for f in range(0xF1900, 0xF1990):
+ ambiguous.discard(f)
+ for f in range(0xF19A0, 0xF1A00):
+ ambiguous.discard(f)
+
2022-06-14 08:50:12 +00:00
def get_ranges(items: List[int]) -> Generator[Union[int, Tuple[int, int]], None, None]:
items.sort()
2022-06-14 09:02:11 +00:00
@@ -543,6 +553,8 @@ def add(p: Callable[..., None], comment: str, chars_: Union[Set[int], FrozenSet[
2022-06-14 08:50:12 +00:00
add(p, 'Flags', flag_codepoints, 2)
add(p, 'Marks', marks | {0}, 0)
add(p, 'Non-printing characters', non_printing, -1)
+ for c in range(0xF1900, 0xF1A00):
+ class_maps['Co'].discard(c)
add(p, 'Private use', class_maps['Co'], -3)
add(p, 'Text Presentation', narrow_emoji, 1)
add(p, 'East Asian ambiguous width', ambiguous, -2)
diff --git a/kittens/unicode_input/names.h b/kittens/unicode_input/names.h
index 8d940865..5bc00b30 100644
--- a/kittens/unicode_input/names.h
+++ b/kittens/unicode_input/names.h
@@ -1,4 +1,4 @@
-// unicode data, built from the unicode standard on: 2022-03-03
+// unicode data, built from the unicode standard on: 2022-06-14
// see gen-wcwidth.py
#pragma once
#include "data-types.h"
diff --git a/kitty/emoji.h b/kitty/emoji.h
index 433876c5..f0e1d376 100644
--- a/kitty/emoji.h
+++ b/kitty/emoji.h
@@ -1,4 +1,4 @@
-// unicode data, built from the unicode standard on: 2022-01-05
+// unicode data, built from the unicode standard on: 2022-06-14
// see gen-wcwidth.py
#pragma once
#include "data-types.h"
diff --git a/kitty/unicode-data.c b/kitty/unicode-data.c
2022-06-14 09:02:11 +00:00
index 16b1fd7a..abc8e94c 100644
2022-06-14 08:50:12 +00:00
--- a/kitty/unicode-data.c
+++ b/kitty/unicode-data.c
@@ -1,4 +1,4 @@
-// unicode data, built from the unicode standard on: 2022-01-05
+// unicode data, built from the unicode standard on: 2022-06-14
// see gen-wcwidth.py
#include "data-types.h"
2022-06-14 09:02:11 +00:00
@@ -7,7 +7,7 @@ START_ALLOW_CASE_RANGE
#include "unicode-data.h"
bool
is_combining_char(char_type code) {
- // Combining and default ignored characters (6375 codepoints) {{{
+ // Combining and default ignored characters (6384 codepoints) {{{
if (LIKELY(code < 173)) return false;
switch(code) {
case 0xad:
@@ -640,6 +640,10 @@ is_combining_char(char_type code) {
return true;
case 0xe0000 ... 0xe0fff:
return true;
+ case 0xf1992:
+ return true;
+ case 0xf1994 ... 0xf199b:
+ return true;
} // }}}
return false;
@@ -2693,7 +2697,7 @@ is_P_category(char_type code) {
}
char_type codepoint_for_mark(combining_type m) {
- static char_type map[6376] = { 0, 173, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1471, 1473, 1474, 1476, 1477, 1479, 1536, 1537, 1538, 1539, 1540, 1541, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1564, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1648, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1759, 1760, 1761, 1762, 1763, 1764, 1767, 1768, 1770, 1771, 1772, 1773, 1807, 1809, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2045, 2070, 2071, 2072, 2073, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2085, 2086, 2087, 2089, 2090, 2091, 2092, 2093, 2137, 2138, 2139, 2192, 2193, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2362, 2363, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2402, 2403, 2433, 2434, 2435, 2492, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2507, 2508, 2509, 2519, 2530, 2531, 2558, 2561, 2562, 2563, 2620, 2622, 2623, 2624, 2625, 2626, 2631, 2632, 2635, 2636, 2637, 2641, 2672, 2673, 2677, 2689, 2690, 2691, 2748, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2763, 2764, 2765, 2786, 2787, 2810, 2811, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2876, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2887, 2888, 2891, 2892, 2893, 2901, 2902, 2903, 2914, 2915, 2946, 3006, 3007, 3008, 3009, 3010, 3014, 3015, 3016, 3018, 3019, 3020, 3021, 3031, 3072, 3073, 3074, 3075, 3076, 3132, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3142, 3143, 3144, 3146, 3147, 3148, 3149, 3157, 3158, 3170, 3171, 3201, 3202, 3203, 3260, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3270, 3271, 3272, 3274, 3275, 3276, 3277, 3285, 3286, 3298, 3299, 3328, 3329, 3330, 3331, 3387, 3388, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3399, 3400, 3402, 3403, 3404, 3405, 3415, 3426, 3427, 3457, 3458, 3459, 3530, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3570, 3571, 3633, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3761, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3784, 3785, 3786, 3787, 3788, 3789, 3864, 3865, 3893, 3895, 3897, 3902, 3903, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3974, 3975, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 40
+ static char_type map[6385] = { 0, 173, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1471, 1473, 1474, 1476, 1477, 1479, 1536, 1537, 1538, 1539, 1540, 1541, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1564, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1648, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1759, 1760, 1761, 1762, 1763, 1764, 1767, 1768, 1770, 1771, 1772, 1773, 1807, 1809, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2045, 2070, 2071, 2072, 2073, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2085, 2086, 2087, 2089, 2090, 2091, 2092, 2093, 2137, 2138, 2139, 2192, 2193, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2362, 2363, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2402, 2403, 2433, 2434, 2435, 2492, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2503, 2504, 2507, 2508, 2509, 2519, 2530, 2531, 2558, 2561, 2562, 2563, 2620, 2622, 2623, 2624, 2625, 2626, 2631, 2632, 2635, 2636, 2637, 2641, 2672, 2673, 2677, 2689, 2690, 2691, 2748, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2763, 2764, 2765, 2786, 2787, 2810, 2811, 2812, 2813, 2814, 2815, 2817, 2818, 2819, 2876, 2878, 2879, 2880, 2881, 2882, 2883, 2884, 2887, 2888, 2891, 2892, 2893, 2901, 2902, 2903, 2914, 2915, 2946, 3006, 3007, 3008, 3009, 3010, 3014, 3015, 3016, 3018, 3019, 3020, 3021, 3031, 3072, 3073, 3074, 3075, 3076, 3132, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3142, 3143, 3144, 3146, 3147, 3148, 3149, 3157, 3158, 3170, 3171, 3201, 3202, 3203, 3260, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3270, 3271, 3272, 3274, 3275, 3276, 3277, 3285, 3286, 3298, 3299, 3328, 3329, 3330, 3331, 3387, 3388, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3398, 3399, 3400, 3402, 3403, 3404, 3405, 3415, 3426, 3427, 3457, 3458, 3459, 3530, 3535, 3536, 3537, 3538, 3539, 3540, 3542, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3570, 3571, 3633, 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3761, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3784, 3785, 3786, 3787, 3788, 3789, 3864, 3865, 3893, 3895, 3897, 3902, 3903, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3974, 3975, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 40
if (m < arraysz(map)) return map[m];
return 0;
}
@@ -3016,6 +3020,8 @@ combining_type mark_for_codepoint(char_type c) {
case 127462: case 127463: case 127464: case 127465: case 127466: case 127467: case 127468: case 127469: case 127470: case 127471: case 127472: case 127473: case 127474: case 127475: case 127476: case 127477: case 127478: case 127479: case 127480: case 127481: case 127482: case 127483: case 127484: case 127485: case 127486: case 127487: return 2249 + c - 127462;
case 127995: case 127996: case 127997: case 127998: case 127999: return 2275 + c - 127995;
case 917504: case 917505: case 917506: case 917507: case 917508: case 917509: case 917510: case 917511: case 917512: case 917513: case 917514: case 917515: case 917516: case 917517: case 917518: case 917519: case 917520: case 917521: case 917522: case 917523: case 917524: case 917525: case 917526: case 917527: case 917528: case 917529: case 917530: case 917531: case 917532: case 917533: case 917534: case 917535: case 917536: case 917537: case 917538: case 917539: case 917540: case 917541: case 917542: case 917543: case 917544: case 917545: case 917546: case 917547: case 917548: case 917549: case 917550: case 917551: case 917552: case 917553: case 917554: case 917555: case 917556: case 917557: case 917558: case 917559: case 917560: case 917561: case 917562: case 917563: case 917564: case 917565: case 917566: case 917567: case 917568: case 917569: case 917570: case 917571: case 917572: case 917573: case 917574: case 917575: case 917576: case 917577: case 917578: case 917579: case 917580: case 917581: case 917582: case 917583: case 917584: case 917585: case 917586: case 917587: case 917588: case 917589: case 917590: case 917591: case 917592: case 917593: case 917594: case 917595: case 917596: case 917597: case 917598: case 917599: case 917600: case 917601: case 917602: case 917603: case 917604: case 917605: case 917606: case 917607: case 917608: case 917609: case 917610: case 917611: case 917612: case 917613: case 917614: case 917615: case 917616: case 917617: case 917618: case 917619: case 917620: case 917621: case 917622: case 917623: case 917624: case 917625: case 917626: case 917627: case 917628: case 917629: case 917630: case 917631: case 917632: case 917633: case 917634: case 917635: case 917636: case 917637: case 917638: case 917639: case 917640: case 917641: case 917642: case 917643: case 917644: case 917645: case 917646: case 917647: case 917648: case 917649: case 917650: case 917651: case 917652: case 917653: case 917654: case 917655: case 917656: case 917657: case 917658: case 917659: case 917660: case 917661: case 917662: case 917663: case 917664: case 917665: case 917666: case 917667: case 917668: case 917669: case 917670: case 917671: case 917672: case 917673: case 917674: case 917675: case 917676: case 917677: case 917678: case 917679: case 917680: case 917681: case 917682: case 917683: case 917684: case 917685: case 917686: case 917687: case 917688: case 917689: case 917690: case 917691: case 917692: case 917693: case 917694: case 917695: case 917696: case 917697: case 917698: case 917699: case 917700: case 917701: case 917702: case 917703: case 917704: case 917705: case 917706: case 917707: case 917708: case 917709: case 917710: case 917711: case 917712: case 917713: case 917714: case 917715: case 917716: case 917717: case 917718: case 917719: case 917720: case 917721: case 917722: case 917723: case 917724: case 917725: case 917726: case 917727: case 917728: case 917729: case 917730: case 917731: case 917732: case 917733: case 917734: case 917735: case 917736: case 917737: case 917738: case 917739: case 917740: case 917741: case 917742: case 917743: case 917744: case 917745: case 917746: case 917747: case 917748: case 917749: case 917750: case 917751: case 917752: case 917753: case 917754: case 917755: case 917756: case 917757: case 917758: case 917759: case 917760: case 917761: case 917762: case 917763: case 917764: case 917765: case 917766: case 917767: case 917768: case 917769: case 917770: case 917771: case 917772: case 917773: case 917774: case 917775: case 917776: case 917777: case 917778: case 917779: case 917780: case 917781: case 917782: case 917783: case 917784: case 917785: case 917786: case 917787: case 917788: case 917789: case 917790: case 917791: case 917792: case 917793: case 917794: case 917795: case 917796: case 917797: case 917798: case 917799: case 917800: case 917801: case 917802: case 917803: case 917804: case 917805: case 917806: case 917807: case 917808: case 917809: case 917810: case 917811: case 917812: case 917813: case 917814: case 917815: case 917816: case 917817: case 91781
+ case 989586: return 6376;
+ case 989588: case 989589: case 989590: case 989591: case 989592: case 989593: case 989594: case 989595: return 6377 + c - 989588;
default: return 0;
} // }}}
}
2022-06-14 08:16:59 +00:00
diff --git a/kitty/unicode-data.h b/kitty/unicode-data.h
index ba4f4d40..c945a293 100644
--- a/kitty/unicode-data.h
+++ b/kitty/unicode-data.h
@@ -37,7 +37,7 @@ can_strip_from_end_of_url(uint32_t ch) {
static inline bool
is_private_use(char_type ch) {
- return (0xe000 <= ch && ch <= 0xf8ff) || (0xF0000 <= ch && ch <= 0xFFFFF) || (0x100000 <= ch && ch <= 0x10FFFF);
+ return ((0xe000 <= ch && ch <= 0xf8ff) || (0xF0000 <= ch && ch <= 0xFFFFF) || (0x100000 <= ch && ch <= 0x10FFFF)) && !(0xF1900 >= ch && ch <= 0xF19FF);
}
2022-06-14 08:50:12 +00:00
diff --git a/kitty/wcwidth-std.h b/kitty/wcwidth-std.h
2022-06-14 09:02:11 +00:00
index 12021233..a991e11a 100644
2022-06-14 08:50:12 +00:00
--- a/kitty/wcwidth-std.h
+++ b/kitty/wcwidth-std.h
@@ -1,4 +1,4 @@
-// unicode data, built from the unicode standard on: 2022-01-05
+// unicode data, built from the unicode standard on: 2022-06-14
// see gen-wcwidth.py
#pragma once
#include "data-types.h"
2022-06-14 09:02:11 +00:00
@@ -14,7 +14,7 @@ wcwidth_std(int32_t code) {
return 2;
// }}}
- // Marks (6350 codepoints) {{{
+ // Marks (6359 codepoints) {{{
case 0x0:
return 0;
case 0xad:
@@ -645,6 +645,10 @@ wcwidth_std(int32_t code) {
return 0;
case 0xe0000 ... 0xe0fff:
return 0;
+ case 0xf1992:
+ return 0;
+ case 0xf1994 ... 0xf199b:
+ return 0;
// }}}
// Non-printing characters (2112 codepoints) {{{
@@ -656,10 +660,12 @@ wcwidth_std(int32_t code) {
2022-06-14 08:50:12 +00:00
return -1;
// }}}
- // Private use (137468 codepoints) {{{
+ // Private use (137212 codepoints) {{{
case 0xe000 ... 0xf8ff:
return -3;
- case 0xf0000 ... 0xffffd:
+ case 0xf0000 ... 0xf18ff:
+ return -3;
+ case 0xf1a00 ... 0xffffd:
return -3;
case 0x100000 ... 0x10fffd:
return -3;
2022-06-14 09:02:11 +00:00
@@ -906,7 +912,7 @@ wcwidth_std(int32_t code) {
2022-06-14 08:50:12 +00:00
return 1;
// }}}
- // East Asian ambiguous width (869 codepoints) {{{
2022-06-14 09:02:11 +00:00
+ // East Asian ambiguous width (876 codepoints) {{{
2022-06-14 08:50:12 +00:00
case 0xa1:
return -2;
case 0xa4:
2022-06-14 09:02:11 +00:00
@@ -1255,9 +1261,15 @@ wcwidth_std(int32_t code) {
2022-06-14 08:50:12 +00:00
return -2;
case 0x1f19b ... 0x1f1ac:
return -2;
2022-06-14 09:02:11 +00:00
+ case 0xf1990 ... 0xf1991:
+ return -2;
+ case 0xf1993:
+ return -2;
+ case 0xf199c ... 0xf199f:
2022-06-14 08:50:12 +00:00
+ return -2;
// }}}
- // East Asian double width (182470 codepoints) {{{
+ // East Asian double width (182710 codepoints) {{{
case 0x1100 ... 0x115e:
return 2;
case 0x231a ... 0x231b:
2022-06-14 09:02:11 +00:00
@@ -1512,6 +1524,10 @@ wcwidth_std(int32_t code) {
2022-06-14 08:50:12 +00:00
return 2;
case 0x30000 ... 0x3fffd:
return 2;
+ case 0xf1900 ... 0xf198f:
+ return 2;
+ case 0xf19a0 ... 0xf19ff:
+ return 2;
// }}}
// Emoji Presentation (0 codepoints) {{{