summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/tools/unicode.vim11
-rw-r--r--src/mbyte.c117
-rw-r--r--src/version.c2
3 files changed, 85 insertions, 45 deletions
diff --git a/runtime/tools/unicode.vim b/runtime/tools/unicode.vim
index 6da013ef8..aa260e6ea 100644
--- a/runtime/tools/unicode.vim
+++ b/runtime/tools/unicode.vim
@@ -462,8 +462,9 @@ let s:ambitable = []
call BuildWidthTable('A', 'ambiguous')
" Edit the emoji text file. Requires the netrw plugin.
-edit https://unicode.org/Public/emoji/12.1/emoji-data.txt
-
-" Build the emoji table. Ver. 1.0 - 6.0
-" Must come after the "ambiguous" and "doublewidth" tables
-call BuildEmojiTable()
+" commented out, because it drops too many characters
+"edit https://unicode.org/Public/15.0.0/ucd/emoji/emoji-data.txt
+"
+"" Build the emoji table. Ver. 1.0 - 6.0
+"" Must come after the "ambiguous" and "doublewidth" tables
+"call BuildEmojiTable()
diff --git a/src/mbyte.c b/src/mbyte.c
index d3a4644bf..226e21f08 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -1445,8 +1445,13 @@ utf_char2cells(int c)
{0x17000, 0x187f7},
{0x18800, 0x18cd5},
{0x18d00, 0x18d08},
- {0x1b000, 0x1b11e},
+ {0x1aff0, 0x1aff3},
+ {0x1aff5, 0x1affb},
+ {0x1affd, 0x1affe},
+ {0x1b000, 0x1b122},
+ {0x1b132, 0x1b132},
{0x1b150, 0x1b152},
+ {0x1b155, 0x1b155},
{0x1b164, 0x1b167},
{0x1b170, 0x1b2fb},
{0x1f004, 0x1f004},
@@ -1480,21 +1485,21 @@ utf_char2cells(int c)
{0x1f6cc, 0x1f6cc},
{0x1f6d0, 0x1f6d2},
{0x1f6d5, 0x1f6d7},
+ {0x1f6dc, 0x1f6df},
{0x1f6eb, 0x1f6ec},
{0x1f6f4, 0x1f6fc},
{0x1f7e0, 0x1f7eb},
+ {0x1f7f0, 0x1f7f0},
{0x1f90c, 0x1f93a},
{0x1f93c, 0x1f945},
- {0x1f947, 0x1f978},
- {0x1f97a, 0x1f9cb},
- {0x1f9cd, 0x1f9ff},
- {0x1fa70, 0x1fa74},
- {0x1fa78, 0x1fa7a},
- {0x1fa80, 0x1fa86},
- {0x1fa90, 0x1faa8},
- {0x1fab0, 0x1fab6},
- {0x1fac0, 0x1fac2},
- {0x1fad0, 0x1fad6},
+ {0x1f947, 0x1f9ff},
+ {0x1fa70, 0x1fa7c},
+ {0x1fa80, 0x1fa88},
+ {0x1fa90, 0x1fabd},
+ {0x1fabf, 0x1fac5},
+ {0x1face, 0x1fadb},
+ {0x1fae0, 0x1fae8},
+ {0x1faf0, 0x1faf8},
{0x20000, 0x2fffd},
{0x30000, 0x3fffd}
};
@@ -2331,7 +2336,8 @@ utf_iscomposing(int c)
{0x0825, 0x0827},
{0x0829, 0x082d},
{0x0859, 0x085b},
- {0x08d3, 0x08e1},
+ {0x0898, 0x089f},
+ {0x08ca, 0x08e1},
{0x08e3, 0x0903},
{0x093a, 0x093c},
{0x093e, 0x094f},
@@ -2373,6 +2379,7 @@ utf_iscomposing(int c)
{0x0bca, 0x0bcd},
{0x0bd7, 0x0bd7},
{0x0c00, 0x0c04},
+ {0x0c3c, 0x0c3c},
{0x0c3e, 0x0c44},
{0x0c46, 0x0c48},
{0x0c4a, 0x0c4d},
@@ -2385,6 +2392,7 @@ utf_iscomposing(int c)
{0x0cca, 0x0ccd},
{0x0cd5, 0x0cd6},
{0x0ce2, 0x0ce3},
+ {0x0cf3, 0x0cf3},
{0x0d00, 0x0d03},
{0x0d3b, 0x0d3c},
{0x0d3e, 0x0d44},
@@ -2403,7 +2411,7 @@ utf_iscomposing(int c)
{0x0e47, 0x0e4e},
{0x0eb1, 0x0eb1},
{0x0eb4, 0x0ebc},
- {0x0ec8, 0x0ecd},
+ {0x0ec8, 0x0ece},
{0x0f18, 0x0f19},
{0x0f35, 0x0f35},
{0x0f37, 0x0f37},
@@ -2424,13 +2432,14 @@ utf_iscomposing(int c)
{0x108f, 0x108f},
{0x109a, 0x109d},
{0x135d, 0x135f},
- {0x1712, 0x1714},
+ {0x1712, 0x1715},
{0x1732, 0x1734},
{0x1752, 0x1753},
{0x1772, 0x1773},
{0x17b4, 0x17d3},
{0x17dd, 0x17dd},
{0x180b, 0x180d},
+ {0x180f, 0x180f},
{0x1885, 0x1886},
{0x18a9, 0x18a9},
{0x1920, 0x192b},
@@ -2439,7 +2448,7 @@ utf_iscomposing(int c)
{0x1a55, 0x1a5e},
{0x1a60, 0x1a7c},
{0x1a7f, 0x1a7f},
- {0x1ab0, 0x1ac0},
+ {0x1ab0, 0x1ace},
{0x1b00, 0x1b04},
{0x1b34, 0x1b44},
{0x1b6b, 0x1b73},
@@ -2452,8 +2461,7 @@ utf_iscomposing(int c)
{0x1ced, 0x1ced},
{0x1cf4, 0x1cf4},
{0x1cf7, 0x1cf9},
- {0x1dc0, 0x1df9},
- {0x1dfb, 0x1dff},
+ {0x1dc0, 0x1dff},
{0x20d0, 0x20f0},
{0x2cef, 0x2cf1},
{0x2d7f, 0x2d7f},
@@ -2505,11 +2513,16 @@ utf_iscomposing(int c)
{0x10ae5, 0x10ae6},
{0x10d24, 0x10d27},
{0x10eab, 0x10eac},
+ {0x10efd, 0x10eff},
{0x10f46, 0x10f50},
+ {0x10f82, 0x10f85},
{0x11000, 0x11002},
{0x11038, 0x11046},
+ {0x11070, 0x11070},
+ {0x11073, 0x11074},
{0x1107f, 0x11082},
{0x110b0, 0x110ba},
+ {0x110c2, 0x110c2},
{0x11100, 0x11102},
{0x11127, 0x11134},
{0x11145, 0x11146},
@@ -2520,6 +2533,7 @@ utf_iscomposing(int c)
{0x111ce, 0x111cf},
{0x1122c, 0x11237},
{0x1123e, 0x1123e},
+ {0x11241, 0x11241},
{0x112df, 0x112ea},
{0x11300, 0x11303},
{0x1133b, 0x1133c},
@@ -2567,6 +2581,12 @@ utf_iscomposing(int c)
{0x11d90, 0x11d91},
{0x11d93, 0x11d97},
{0x11ef3, 0x11ef6},
+ {0x11f00, 0x11f01},
+ {0x11f03, 0x11f03},
+ {0x11f34, 0x11f3a},
+ {0x11f3e, 0x11f42},
+ {0x13440, 0x13440},
+ {0x13447, 0x13455},
{0x16af0, 0x16af4},
{0x16b30, 0x16b36},
{0x16f4f, 0x16f4f},
@@ -2575,6 +2595,8 @@ utf_iscomposing(int c)
{0x16fe4, 0x16fe4},
{0x16ff0, 0x16ff1},
{0x1bc9d, 0x1bc9e},
+ {0x1cf00, 0x1cf2d},
+ {0x1cf30, 0x1cf46},
{0x1d165, 0x1d169},
{0x1d16d, 0x1d172},
{0x1d17b, 0x1d182},
@@ -2592,8 +2614,11 @@ utf_iscomposing(int c)
{0x1e01b, 0x1e021},
{0x1e023, 0x1e024},
{0x1e026, 0x1e02a},
+ {0x1e08f, 0x1e08f},
{0x1e130, 0x1e136},
+ {0x1e2ae, 0x1e2ae},
{0x1e2ec, 0x1e2ef},
+ {0x1e4ec, 0x1e4ef},
{0x1e8d0, 0x1e8d6},
{0x1e944, 0x1e94a},
{0xe0100, 0xe01ef}
@@ -2763,24 +2788,23 @@ static struct interval emoji_all[] =
{0x1f680, 0x1f6c5},
{0x1f6cb, 0x1f6d2},
{0x1f6d5, 0x1f6d7},
- {0x1f6e0, 0x1f6e5},
+ {0x1f6dc, 0x1f6e5},
{0x1f6e9, 0x1f6e9},
{0x1f6eb, 0x1f6ec},
{0x1f6f0, 0x1f6f0},
{0x1f6f3, 0x1f6fc},
{0x1f7e0, 0x1f7eb},
+ {0x1f7f0, 0x1f7f0},
{0x1f90c, 0x1f93a},
{0x1f93c, 0x1f945},
- {0x1f947, 0x1f978},
- {0x1f97a, 0x1f9cb},
- {0x1f9cd, 0x1f9ff},
- {0x1fa70, 0x1fa74},
- {0x1fa78, 0x1fa7a},
- {0x1fa80, 0x1fa86},
- {0x1fa90, 0x1faa8},
- {0x1fab0, 0x1fab6},
- {0x1fac0, 0x1fac2},
- {0x1fad0, 0x1fad6}
+ {0x1f947, 0x1f9ff},
+ {0x1fa70, 0x1fa7c},
+ {0x1fa80, 0x1fa88},
+ {0x1fa90, 0x1fabd},
+ {0x1fabf, 0x1fac5},
+ {0x1face, 0x1fadb},
+ {0x1fae0, 0x1fae8},
+ {0x1faf0, 0x1faf8}
};
/*
@@ -3088,7 +3112,7 @@ static convertStruct foldCase[] =
{0x2160,0x216f,1,16},
{0x2183,0x2183,-1,1},
{0x24b6,0x24cf,1,26},
- {0x2c00,0x2c2e,1,48},
+ {0x2c00,0x2c2f,1,48},
{0x2c60,0x2c60,-1,1},
{0x2c62,0x2c62,-1,-10743},
{0x2c63,0x2c63,-1,-3814},
@@ -3123,17 +3147,21 @@ static convertStruct foldCase[] =
{0xa7b1,0xa7b1,-1,-42282},
{0xa7b2,0xa7b2,-1,-42261},
{0xa7b3,0xa7b3,-1,928},
- {0xa7b4,0xa7be,2,1},
- {0xa7c2,0xa7c2,-1,1},
+ {0xa7b4,0xa7c2,2,1},
{0xa7c4,0xa7c4,-1,-48},
{0xa7c5,0xa7c5,-1,-42307},
{0xa7c6,0xa7c6,-1,-35384},
{0xa7c7,0xa7c9,2,1},
- {0xa7f5,0xa7f5,-1,1},
+ {0xa7d0,0xa7d6,6,1},
+ {0xa7d8,0xa7f5,29,1},
{0xab70,0xabbf,1,-38864},
{0xff21,0xff3a,1,32},
{0x10400,0x10427,1,40},
{0x104b0,0x104d3,1,40},
+ {0x10570,0x1057a,1,39},
+ {0x1057c,0x1058a,1,39},
+ {0x1058c,0x10592,1,39},
+ {0x10594,0x10595,1,39},
{0x10c80,0x10cb2,1,64},
{0x118a0,0x118bf,1,32},
{0x16e40,0x16e5f,1,32},
@@ -3314,7 +3342,7 @@ static convertStruct toLower[] =
{0x2160,0x216f,1,16},
{0x2183,0x2183,-1,1},
{0x24b6,0x24cf,1,26},
- {0x2c00,0x2c2e,1,48},
+ {0x2c00,0x2c2f,1,48},
{0x2c60,0x2c60,-1,1},
{0x2c62,0x2c62,-1,-10743},
{0x2c63,0x2c63,-1,-3814},
@@ -3349,16 +3377,20 @@ static convertStruct toLower[] =
{0xa7b1,0xa7b1,-1,-42282},
{0xa7b2,0xa7b2,-1,-42261},
{0xa7b3,0xa7b3,-1,928},
- {0xa7b4,0xa7be,2,1},
- {0xa7c2,0xa7c2,-1,1},
+ {0xa7b4,0xa7c2,2,1},
{0xa7c4,0xa7c4,-1,-48},
{0xa7c5,0xa7c5,-1,-42307},
{0xa7c6,0xa7c6,-1,-35384},
{0xa7c7,0xa7c9,2,1},
- {0xa7f5,0xa7f5,-1,1},
+ {0xa7d0,0xa7d6,6,1},
+ {0xa7d8,0xa7f5,29,1},
{0xff21,0xff3a,1,32},
{0x10400,0x10427,1,40},
{0x104b0,0x104d3,1,40},
+ {0x10570,0x1057a,1,39},
+ {0x1057c,0x1058a,1,39},
+ {0x1058c,0x10592,1,39},
+ {0x10594,0x10595,1,39},
{0x10c80,0x10cb2,1,64},
{0x118a0,0x118bf,1,32},
{0x16e40,0x16e5f,1,32},
@@ -3522,7 +3554,7 @@ static convertStruct toUpper[] =
{0x2170,0x217f,1,-16},
{0x2184,0x2184,-1,-1},
{0x24d0,0x24e9,1,-26},
- {0x2c30,0x2c5e,1,-48},
+ {0x2c30,0x2c5f,1,-48},
{0x2c61,0x2c61,-1,-1},
{0x2c65,0x2c65,-1,-10795},
{0x2c66,0x2c66,-1,-10792},
@@ -3543,14 +3575,19 @@ static convertStruct toUpper[] =
{0xa793,0xa793,-1,-1},
{0xa794,0xa794,-1,48},
{0xa797,0xa7a9,2,-1},
- {0xa7b5,0xa7bf,2,-1},
- {0xa7c3,0xa7c8,5,-1},
- {0xa7ca,0xa7f6,44,-1},
+ {0xa7b5,0xa7c3,2,-1},
+ {0xa7c8,0xa7ca,2,-1},
+ {0xa7d1,0xa7d7,6,-1},
+ {0xa7d9,0xa7f6,29,-1},
{0xab53,0xab53,-1,-928},
{0xab70,0xabbf,1,-38864},
{0xff41,0xff5a,1,-32},
{0x10428,0x1044f,1,-40},
{0x104d8,0x104fb,1,-40},
+ {0x10597,0x105a1,1,-39},
+ {0x105a3,0x105b1,1,-39},
+ {0x105b3,0x105b9,1,-39},
+ {0x105bb,0x105bc,1,-39},
{0x10cc0,0x10cf2,1,-64},
{0x118c0,0x118df,1,-32},
{0x16e60,0x16e7f,1,-32},
diff --git a/src/version.c b/src/version.c
index 30fe48d9d..8c9cc5cd7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 587,
+/**/
586,
/**/
585,