changeset 9357:f9524b765095 v7.4.1960

commit https://github.com/vim/vim/commit/04e2b4b0c4866586ecce3d1567f9b0bdeeb31f15 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 26 17:53:07 2016 +0200 patch 7.4.1960 Problem: Unicode standard 9 was released. Solution: Update the character property tables. (Christian Brabandt)
author Christian Brabandt <cb@256bit.org>
date Sun, 26 Jun 2016 18:00:05 +0200
parents c37b7f6f97a9
children b9f817fb4622
files src/mbyte.c src/version.c
diffstat 2 files changed, 132 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -1356,7 +1356,6 @@ static struct interval ambiguous[] =
     {0x2605, 0x2606},
     {0x2609, 0x2609},
     {0x260e, 0x260f},
-    {0x2614, 0x2615},
     {0x261c, 0x261c},
     {0x261e, 0x261e},
     {0x2640, 0x2640},
@@ -1367,15 +1366,20 @@ static struct interval ambiguous[] =
     {0x266c, 0x266d},
     {0x266f, 0x266f},
     {0x269e, 0x269f},
-    {0x26be, 0x26bf},
-    {0x26c4, 0x26cd},
-    {0x26cf, 0x26e1},
+    {0x26bf, 0x26bf},
+    {0x26c6, 0x26cd},
+    {0x26cf, 0x26d3},
+    {0x26d5, 0x26e1},
     {0x26e3, 0x26e3},
-    {0x26e8, 0x26ff},
+    {0x26e8, 0x26e9},
+    {0x26eb, 0x26f1},
+    {0x26f4, 0x26f4},
+    {0x26f6, 0x26f9},
+    {0x26fb, 0x26fc},
+    {0x26fe, 0x26ff},
     {0x273d, 0x273d},
-    {0x2757, 0x2757},
     {0x2776, 0x277f},
-    {0x2b55, 0x2b59},
+    {0x2b56, 0x2b59},
     {0x3248, 0x324f},
     {0xe000, 0xf8ff},
     {0xfe00, 0xfe0f},
@@ -1383,7 +1387,9 @@ static struct interval ambiguous[] =
     {0x1f100, 0x1f10a},
     {0x1f110, 0x1f12d},
     {0x1f130, 0x1f169},
-    {0x1f170, 0x1f19a},
+    {0x1f170, 0x1f18d},
+    {0x1f18f, 0x1f190},
+    {0x1f19b, 0x1f1ac},
     {0xe0100, 0xe01ef},
     {0xf0000, 0xffffd},
     {0x100000, 0x10fffd}
@@ -1404,7 +1410,40 @@ utf_char2cells(int c)
     static struct interval doublewidth[] =
     {
 	{0x1100, 0x115f},
+	{0x231a, 0x231b},
 	{0x2329, 0x232a},
+	{0x23e9, 0x23ec},
+	{0x23f0, 0x23f0},
+	{0x23f3, 0x23f3},
+	{0x25fd, 0x25fe},
+	{0x2614, 0x2615},
+	{0x2648, 0x2653},
+	{0x267f, 0x267f},
+	{0x2693, 0x2693},
+	{0x26a1, 0x26a1},
+	{0x26aa, 0x26ab},
+	{0x26bd, 0x26be},
+	{0x26c4, 0x26c5},
+	{0x26ce, 0x26ce},
+	{0x26d4, 0x26d4},
+	{0x26ea, 0x26ea},
+	{0x26f2, 0x26f3},
+	{0x26f5, 0x26f5},
+	{0x26fa, 0x26fa},
+	{0x26fd, 0x26fd},
+	{0x2705, 0x2705},
+	{0x270a, 0x270b},
+	{0x2728, 0x2728},
+	{0x274c, 0x274c},
+	{0x274e, 0x274e},
+	{0x2753, 0x2755},
+	{0x2757, 0x2757},
+	{0x2795, 0x2797},
+	{0x27b0, 0x27b0},
+	{0x27bf, 0x27bf},
+	{0x2b1b, 0x2b1c},
+	{0x2b50, 0x2b50},
+	{0x2b55, 0x2b55},
 	{0x2e80, 0x2e99},
 	{0x2e9b, 0x2ef3},
 	{0x2f00, 0x2fd5},
@@ -1431,11 +1470,49 @@ utf_char2cells(int c)
 	{0xfe68, 0xfe6b},
 	{0xff01, 0xff60},
 	{0xffe0, 0xffe6},
+	{0x16fe0, 0x16fe0},
+	{0x17000, 0x187ec},
+	{0x18800, 0x18af2},
 	{0x1b000, 0x1b001},
+	{0x1f004, 0x1f004},
+	{0x1f0cf, 0x1f0cf},
+	{0x1f18e, 0x1f18e},
+	{0x1f191, 0x1f19a},
 	{0x1f200, 0x1f202},
-	{0x1f210, 0x1f23a},
+	{0x1f210, 0x1f23b},
 	{0x1f240, 0x1f248},
 	{0x1f250, 0x1f251},
+	{0x1f300, 0x1f320},
+	{0x1f32d, 0x1f335},
+	{0x1f337, 0x1f37c},
+	{0x1f37e, 0x1f393},
+	{0x1f3a0, 0x1f3ca},
+	{0x1f3cf, 0x1f3d3},
+	{0x1f3e0, 0x1f3f0},
+	{0x1f3f4, 0x1f3f4},
+	{0x1f3f8, 0x1f43e},
+	{0x1f440, 0x1f440},
+	{0x1f442, 0x1f4fc},
+	{0x1f4ff, 0x1f53d},
+	{0x1f54b, 0x1f54e},
+	{0x1f550, 0x1f567},
+	{0x1f57a, 0x1f57a},
+	{0x1f595, 0x1f596},
+	{0x1f5a4, 0x1f5a4},
+	{0x1f5fb, 0x1f64f},
+	{0x1f680, 0x1f6c5},
+	{0x1f6cc, 0x1f6cc},
+	{0x1f6d0, 0x1f6d2},
+	{0x1f6eb, 0x1f6ec},
+	{0x1f6f4, 0x1f6f6},
+	{0x1f910, 0x1f91e},
+	{0x1f920, 0x1f927},
+	{0x1f930, 0x1f930},
+	{0x1f933, 0x1f93e},
+	{0x1f940, 0x1f94b},
+	{0x1f950, 0x1f95e},
+	{0x1f980, 0x1f991},
+	{0x1f9c0, 0x1f9c0},
 	{0x20000, 0x2fffd},
 	{0x30000, 0x3fffd}
     };
@@ -2234,6 +2311,7 @@ utf_iscomposing(int c)
 	{0x0825, 0x0827},
 	{0x0829, 0x082d},
 	{0x0859, 0x085b},
+	{0x08d4, 0x08e1},
 	{0x08e3, 0x0903},
 	{0x093a, 0x093c},
 	{0x093e, 0x094f},
@@ -2331,6 +2409,7 @@ utf_iscomposing(int c)
 	{0x17b4, 0x17d3},
 	{0x17dd, 0x17dd},
 	{0x180b, 0x180d},
+	{0x1885, 0x1886},
 	{0x18a9, 0x18a9},
 	{0x1920, 0x192b},
 	{0x1930, 0x193b},
@@ -2352,7 +2431,7 @@ utf_iscomposing(int c)
 	{0x1cf2, 0x1cf4},
 	{0x1cf8, 0x1cf9},
 	{0x1dc0, 0x1df5},
-	{0x1dfc, 0x1dff},
+	{0x1dfb, 0x1dff},
 	{0x20d0, 0x20f0},
 	{0x2cef, 0x2cf1},
 	{0x2d7f, 0x2d7f},
@@ -2368,7 +2447,7 @@ utf_iscomposing(int c)
 	{0xa80b, 0xa80b},
 	{0xa823, 0xa827},
 	{0xa880, 0xa881},
-	{0xa8b4, 0xa8c4},
+	{0xa8b4, 0xa8c5},
 	{0xa8e0, 0xa8f1},
 	{0xa926, 0xa92d},
 	{0xa947, 0xa953},
@@ -2411,6 +2490,7 @@ utf_iscomposing(int c)
 	{0x111b3, 0x111c0},
 	{0x111ca, 0x111cc},
 	{0x1122c, 0x11237},
+	{0x1123e, 0x1123e},
 	{0x112df, 0x112ea},
 	{0x11300, 0x11303},
 	{0x1133c, 0x1133c},
@@ -2421,6 +2501,7 @@ utf_iscomposing(int c)
 	{0x11362, 0x11363},
 	{0x11366, 0x1136c},
 	{0x11370, 0x11374},
+	{0x11435, 0x11446},
 	{0x114b0, 0x114c3},
 	{0x115af, 0x115b5},
 	{0x115b8, 0x115c0},
@@ -2428,6 +2509,10 @@ utf_iscomposing(int c)
 	{0x11630, 0x11640},
 	{0x116ab, 0x116b7},
 	{0x1171d, 0x1172b},
+	{0x11c2f, 0x11c36},
+	{0x11c38, 0x11c3f},
+	{0x11c92, 0x11ca7},
+	{0x11ca9, 0x11cb6},
 	{0x16af0, 0x16af4},
 	{0x16b30, 0x16b36},
 	{0x16f51, 0x16f7e},
@@ -2445,7 +2530,13 @@ utf_iscomposing(int c)
 	{0x1da84, 0x1da84},
 	{0x1da9b, 0x1da9f},
 	{0x1daa1, 0x1daaf},
+	{0x1e000, 0x1e006},
+	{0x1e008, 0x1e018},
+	{0x1e01b, 0x1e021},
+	{0x1e023, 0x1e024},
+	{0x1e026, 0x1e02a},
 	{0x1e8d0, 0x1e8d6},
+	{0x1e944, 0x1e94a},
 	{0xe0100, 0xe01ef}
     };
 
@@ -2844,6 +2935,14 @@ static convertStruct foldCase[] =
 	{0x10a0,0x10c5,1,7264},
 	{0x10c7,0x10cd,6,7264},
 	{0x13f8,0x13fd,1,-8},
+	{0x1c80,0x1c80,-1,-6222},
+	{0x1c81,0x1c81,-1,-6221},
+	{0x1c82,0x1c82,-1,-6212},
+	{0x1c83,0x1c84,1,-6210},
+	{0x1c85,0x1c85,-1,-6211},
+	{0x1c86,0x1c86,-1,-6204},
+	{0x1c87,0x1c87,-1,-6180},
+	{0x1c88,0x1c88,-1,35267},
 	{0x1e00,0x1e94,2,1},
 	{0x1e9b,0x1e9b,-1,-58},
 	{0x1e9e,0x1e9e,-1,-7615},
@@ -2909,6 +3008,7 @@ static convertStruct foldCase[] =
 	{0xa7ab,0xa7ab,-1,-42319},
 	{0xa7ac,0xa7ac,-1,-42315},
 	{0xa7ad,0xa7ad,-1,-42305},
+	{0xa7ae,0xa7ae,-1,-42308},
 	{0xa7b0,0xa7b0,-1,-42258},
 	{0xa7b1,0xa7b1,-1,-42282},
 	{0xa7b2,0xa7b2,-1,-42261},
@@ -2917,8 +3017,10 @@ static convertStruct foldCase[] =
 	{0xab70,0xabbf,1,-38864},
 	{0xff21,0xff3a,1,32},
 	{0x10400,0x10427,1,40},
+	{0x104b0,0x104d3,1,40},
 	{0x10c80,0x10cb2,1,64},
-	{0x118a0,0x118bf,1,32}
+	{0x118a0,0x118bf,1,32},
+	{0x1e900,0x1e921,1,34}
 };
 
 static int utf_convert(int a, convertStruct table[], int tableSize);
@@ -3123,6 +3225,7 @@ static convertStruct toLower[] =
 	{0xa7ab,0xa7ab,-1,-42319},
 	{0xa7ac,0xa7ac,-1,-42315},
 	{0xa7ad,0xa7ad,-1,-42305},
+	{0xa7ae,0xa7ae,-1,-42308},
 	{0xa7b0,0xa7b0,-1,-42258},
 	{0xa7b1,0xa7b1,-1,-42282},
 	{0xa7b2,0xa7b2,-1,-42261},
@@ -3130,8 +3233,10 @@ static convertStruct toLower[] =
 	{0xa7b4,0xa7b6,2,1},
 	{0xff21,0xff3a,1,32},
 	{0x10400,0x10427,1,40},
+	{0x104b0,0x104d3,1,40},
 	{0x10c80,0x10cb2,1,64},
-	{0x118a0,0x118bf,1,32}
+	{0x118a0,0x118bf,1,32},
+	{0x1e900,0x1e921,1,34}
 };
 
 static convertStruct toUpper[] =
@@ -3196,6 +3301,7 @@ static convertStruct toUpper[] =
 	{0x266,0x266,-1,42308},
 	{0x268,0x268,-1,-209},
 	{0x269,0x269,-1,-211},
+	{0x26a,0x26a,-1,42308},
 	{0x26b,0x26b,-1,10743},
 	{0x26c,0x26c,-1,42305},
 	{0x26f,0x26f,-1,-211},
@@ -3244,6 +3350,14 @@ static convertStruct toUpper[] =
 	{0x4d1,0x52f,2,-1},
 	{0x561,0x586,1,-48},
 	{0x13f8,0x13fd,1,-8},
+	{0x1c80,0x1c80,-1,-6254},
+	{0x1c81,0x1c81,-1,-6253},
+	{0x1c82,0x1c82,-1,-6244},
+	{0x1c83,0x1c84,1,-6242},
+	{0x1c85,0x1c85,-1,-6243},
+	{0x1c86,0x1c86,-1,-6236},
+	{0x1c87,0x1c87,-1,-6181},
+	{0x1c88,0x1c88,-1,35266},
 	{0x1d79,0x1d79,-1,35332},
 	{0x1d7d,0x1d7d,-1,3814},
 	{0x1e01,0x1e95,2,-1},
@@ -3302,8 +3416,10 @@ static convertStruct toUpper[] =
 	{0xab70,0xabbf,1,-38864},
 	{0xff41,0xff5a,1,-32},
 	{0x10428,0x1044f,1,-40},
+	{0x104d8,0x104fb,1,-40},
 	{0x10cc0,0x10cf2,1,-64},
-	{0x118c0,0x118df,1,-32}
+	{0x118c0,0x118df,1,-32},
+	{0x1e922,0x1e943,1,-34}
 };
 
 /*
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1960,
+/**/
     1959,
 /**/
     1958,