fix potential concurrency bugs in port-for-each
[bpt/guile.git] / libguile / srfi-14.i.c
index ace61df..8047cdc 100644 (file)
@@ -561,6 +561,8 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0x0525, 0x0525}
   ,
+  {0x0527, 0x0527}
+  ,
   {0x0561, 0x0587}
   ,
   {0x1930, 0x1938}
@@ -913,6 +915,8 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0xa65f, 0xa65f}
   ,
+  {0xa661, 0xa661}
+  ,
   {0xa663, 0xa663}
   ,
   {0xa665, 0xa665}
@@ -1045,6 +1049,20 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0xa78c, 0xa78c}
   ,
+  {0xa78e, 0xa78e}
+  ,
+  {0xa791, 0xa791}
+  ,
+  {0xa7a1, 0xa7a1}
+  ,
+  {0xa7a3, 0xa7a3}
+  ,
+  {0xa7a5, 0xa7a5}
+  ,
+  {0xa7a7, 0xa7a7}
+  ,
+  {0xa7a9, 0xa7a9}
+  ,
   {0xfb00, 0xfb06}
   ,
   {0xfb13, 0xfb17}
@@ -1053,11 +1071,13 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0x10428, 0x1044f}
   ,
+  {0x1f521, 0x1f521}
+  ,
   {0xe0061, 0xe007a}
 };
 
 scm_t_char_set cs_lower_case = {
-  524,
+  534,
   cs_lower_case_ranges
 };
 
@@ -1590,6 +1610,8 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0x0524, 0x0524}
   ,
+  {0x0526, 0x0526}
+  ,
   {0x0531, 0x0556}
   ,
   {0x10a0, 0x10c5}
@@ -1914,6 +1936,8 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa65e, 0xa65e}
   ,
+  {0xa660, 0xa660}
+  ,
   {0xa662, 0xa662}
   ,
   {0xa664, 0xa664}
@@ -2042,39 +2066,39 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa78b, 0xa78b}
   ,
-  {0xff21, 0xff3a}
+  {0xa78d, 0xa78d}
   ,
-  {0x10400, 0x10427}
+  {0xa790, 0xa790}
   ,
-  {0x1f110, 0x1f12c}
+  {0xa7a0, 0xa7a0}
   ,
-  {0x1f131, 0x1f131}
+  {0xa7a2, 0xa7a2}
   ,
-  {0x1f13d, 0x1f13d}
+  {0xa7a4, 0xa7a4}
   ,
-  {0x1f13f, 0x1f13f}
+  {0xa7a6, 0xa7a6}
   ,
-  {0x1f142, 0x1f142}
+  {0xa7a8, 0xa7a8}
   ,
-  {0x1f146, 0x1f146}
+  {0xff21, 0xff3a}
   ,
-  {0x1f157, 0x1f157}
+  {0x10400, 0x10427}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f110, 0x1f12c}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f130, 0x1f149}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f150, 0x1f169}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f170, 0x1f18a}
   ,
-  {0x1f18a, 0x1f18a}
+  {0x1f520, 0x1f520}
   ,
   {0xe0041, 0xe005a}
 };
 
 scm_t_char_set cs_upper_case = {
-  505,
+  507,
   cs_upper_case_ranges
 };
 
@@ -2148,7 +2172,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0525}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -2160,7 +2184,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x066e, 0x066f}
   ,
@@ -2198,6 +2222,8 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0828, 0x0828}
   ,
+  {0x0840, 0x0858}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -2206,7 +2232,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0958, 0x0961}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -2344,16 +2370,18 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0ce0, 0x0ce1}
   ,
+  {0x0cf1, 0x0cf2}
+  ,
   {0x0d05, 0x0d0c}
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d3d}
   ,
+  {0x0d4e, 0x0d4e}
+  ,
   {0x0d60, 0x0d61}
   ,
   {0x0d7a, 0x0d7f}
@@ -2414,7 +2442,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -2534,6 +2562,8 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1bae, 0x1baf}
   ,
+  {0x1bc0, 0x1be5}
+  ,
   {0x1c00, 0x1c23}
   ,
   {0x1c4d, 0x1c4f}
@@ -2588,7 +2618,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -2670,7 +2700,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
@@ -2688,9 +2718,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xa62a, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
@@ -2700,9 +2728,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
+  ,
+  {0xa790, 0xa791}
+  ,
+  {0xa7a0, 0xa7a9}
   ,
-  {0xa7fb, 0xa801}
+  {0xa7fa, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -2752,6 +2784,16 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xaadb, 0xaadd}
   ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabe2}
   ,
   {0xac00, 0xd7a3}
@@ -2878,12 +2920,18 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10c00, 0x10c48}
   ,
+  {0x11003, 0x11037}
+  ,
   {0x11083, 0x110af}
   ,
   {0x12000, 0x1236e}
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d400, 0x1d454}
   ,
   {0x1d456, 0x1d49c}
@@ -2948,11 +2996,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
 };
 
 scm_t_char_set cs_letter = {
-  422,
+  435,
   cs_letter_ranges
 };
 
@@ -2999,7 +3049,7 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0x1946, 0x194f}
   ,
-  {0x19d0, 0x19da}
+  {0x19d0, 0x19d9}
   ,
   {0x1a80, 0x1a89}
   ,
@@ -3029,11 +3079,13 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0x104a0, 0x104a9}
   ,
+  {0x11066, 0x1106f}
+  ,
   {0x1d7ce, 0x1d7ff}
 };
 
 scm_t_char_set cs_digit = {
-  37,
+  38,
   cs_digit_ranges
 };
 
@@ -3095,7 +3147,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0525}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -3107,7 +3159,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x0660, 0x0669}
   ,
@@ -3145,6 +3197,8 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0828, 0x0828}
   ,
+  {0x0840, 0x0858}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -3155,7 +3209,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0966, 0x096f}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -3305,16 +3359,18 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0ce6, 0x0cef}
   ,
+  {0x0cf1, 0x0cf2}
+  ,
   {0x0d05, 0x0d0c}
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d3d}
   ,
+  {0x0d4e, 0x0d4e}
+  ,
   {0x0d60, 0x0d61}
   ,
   {0x0d66, 0x0d6f}
@@ -3383,7 +3439,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -3495,7 +3551,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x19c1, 0x19c7}
   ,
-  {0x19d0, 0x19da}
+  {0x19d0, 0x19d9}
   ,
   {0x1a00, 0x1a16}
   ,
@@ -3517,6 +3573,8 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1bae, 0x1bb9}
   ,
+  {0x1bc0, 0x1be5}
+  ,
   {0x1c00, 0x1c23}
   ,
   {0x1c40, 0x1c49}
@@ -3571,7 +3629,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -3653,7 +3711,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
@@ -3669,9 +3727,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xa610, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
@@ -3681,9 +3737,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
+  ,
+  {0xa790, 0xa791}
+  ,
+  {0xa7a0, 0xa7a9}
   ,
-  {0xa7fb, 0xa801}
+  {0xa7fa, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -3737,6 +3797,16 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xaadb, 0xaadd}
   ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabe2}
   ,
   {0xabf0, 0xabf9}
@@ -3869,12 +3939,20 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10c00, 0x10c48}
   ,
+  {0x11003, 0x11037}
+  ,
+  {0x11066, 0x1106f}
+  ,
   {0x11083, 0x110af}
   ,
   {0x12000, 0x1236e}
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d400, 0x1d454}
   ,
   {0x1d456, 0x1d49c}
@@ -3941,11 +4019,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
 };
 
 scm_t_char_set cs_letter_plus_digit = {
-  446,
+  460,
   cs_letter_plus_digit_ranges
 };
 
@@ -3964,7 +4044,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -3982,11 +4062,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x06dc}
+  {0x061e, 0x06dc}
   ,
   {0x06de, 0x070d}
   ,
@@ -4000,13 +4076,11 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
+  {0x0840, 0x085b}
   ,
-  {0x093c, 0x094e}
+  {0x085e, 0x085e}
   ,
-  {0x0950, 0x0955}
-  ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -4124,7 +4198,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -4220,15 +4294,13 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d44}
   ,
   {0x0d46, 0x0d48}
   ,
-  {0x0d4a, 0x0d4d}
+  {0x0d4a, 0x0d4e}
   ,
   {0x0d57, 0x0d57}
   ,
@@ -4304,15 +4376,13 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
@@ -4350,7 +4420,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -4432,7 +4502,9 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1bae, 0x1bb9}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bc0, 0x1bf3}
+  ,
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
@@ -4442,7 +4514,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -4482,53 +4554,27 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20b9}
   ,
   {0x20d0, 0x20f0}
   ,
   {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e8}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x26cd}
-  ,
-  {0x26cf, 0x26e1}
-  ,
-  {0x26e3, 0x26e3}
-  ,
-  {0x26e8, 0x26ff}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
+  {0x2460, 0x26ff}
   ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
+  {0x2701, 0x27ca}
   ,
   {0x27cc, 0x27cc}
   ,
-  {0x27d0, 0x2b4c}
+  {0x27ce, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -4542,9 +4588,9 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2d30, 0x2d65}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -4582,7 +4628,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -4600,17 +4646,19 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa673}
+  {0xa640, 0xa673}
   ,
   {0xa67c, 0xa697}
   ,
   {0xa6a0, 0xa6f7}
   ,
-  {0xa700, 0xa78c}
+  {0xa700, 0xa78e}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa790, 0xa791}
+  ,
+  {0xa7a0, 0xa7a9}
+  ,
+  {0xa7fa, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -4644,6 +4692,16 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xaadb, 0xaadf}
   ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabed}
   ,
   {0xabf0, 0xabf9}
@@ -4674,7 +4732,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -4808,6 +4866,10 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110bc}
   ,
   {0x110be, 0x110c1}
@@ -4820,6 +4882,10 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -4880,53 +4946,99 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f100, 0x1f10a}
   ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f169}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f442, 0x1f4f7}
+  ,
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f5ff}
+  ,
+  {0x1f601, 0x1f610}
+  ,
+  {0x1f612, 0x1f614}
+  ,
+  {0x1f616, 0x1f616}
+  ,
+  {0x1f618, 0x1f618}
+  ,
+  {0x1f61a, 0x1f61a}
+  ,
+  {0x1f61c, 0x1f61e}
+  ,
+  {0x1f620, 0x1f625}
+  ,
+  {0x1f628, 0x1f62b}
+  ,
+  {0x1f62d, 0x1f62d}
+  ,
+  {0x1f630, 0x1f633}
+  ,
+  {0x1f635, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0100, 0xe01ef}
 };
 
 scm_t_char_set cs_graphic = {
-  487,
+  503,
   cs_graphic_ranges
 };
 
@@ -4974,7 +5086,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -4992,11 +5104,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x06dc}
+  {0x061e, 0x06dc}
   ,
   {0x06de, 0x070d}
   ,
@@ -5010,13 +5118,11 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
-  ,
-  {0x093c, 0x094e}
+  {0x0840, 0x085b}
   ,
-  {0x0950, 0x0955}
+  {0x085e, 0x085e}
   ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -5134,7 +5240,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -5230,15 +5336,13 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d44}
   ,
   {0x0d46, 0x0d48}
   ,
-  {0x0d4a, 0x0d4d}
+  {0x0d4a, 0x0d4e}
   ,
   {0x0d57, 0x0d57}
   ,
@@ -5314,15 +5418,13 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
@@ -5360,7 +5462,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -5440,7 +5542,9 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1bae, 0x1bb9}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bc0, 0x1bf3}
+  ,
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
@@ -5450,7 +5554,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -5492,53 +5596,27 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20b9}
   ,
   {0x20d0, 0x20f0}
   ,
   {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e8}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x26cd}
-  ,
-  {0x26cf, 0x26e1}
+  {0x2460, 0x26ff}
   ,
-  {0x26e3, 0x26e3}
-  ,
-  {0x26e8, 0x26ff}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
+  {0x2701, 0x27ca}
   ,
   {0x27cc, 0x27cc}
   ,
-  {0x27d0, 0x2b4c}
+  {0x27ce, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -5552,9 +5630,9 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2d30, 0x2d65}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -5592,7 +5670,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -5610,17 +5688,19 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa673}
+  {0xa640, 0xa673}
   ,
   {0xa67c, 0xa697}
   ,
   {0xa6a0, 0xa6f7}
   ,
-  {0xa700, 0xa78c}
+  {0xa700, 0xa78e}
+  ,
+  {0xa790, 0xa791}
+  ,
+  {0xa7a0, 0xa7a9}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7fa, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -5654,6 +5734,16 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xaadb, 0xaadf}
   ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabed}
   ,
   {0xabf0, 0xabf9}
@@ -5684,7 +5774,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -5818,6 +5908,10 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110bc}
   ,
   {0x110be, 0x110c1}
@@ -5830,6 +5924,10 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -5890,53 +5988,99 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f100, 0x1f10a}
   ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f169}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f442, 0x1f4f7}
+  ,
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f5ff}
+  ,
+  {0x1f601, 0x1f610}
+  ,
+  {0x1f612, 0x1f614}
+  ,
+  {0x1f616, 0x1f616}
+  ,
+  {0x1f618, 0x1f618}
+  ,
+  {0x1f61a, 0x1f61a}
+  ,
+  {0x1f61c, 0x1f61e}
+  ,
+  {0x1f620, 0x1f625}
+  ,
+  {0x1f628, 0x1f62b}
+  ,
+  {0x1f62d, 0x1f62d}
+  ,
+  {0x1f630, 0x1f633}
+  ,
+  {0x1f635, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0100, 0xe01ef}
 };
 
 scm_t_char_set cs_printing = {
-  488,
+  504,
   cs_printing_ranges
 };
 
@@ -6016,6 +6160,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
+  {0x085e, 0x085e}
+  ,
   {0x0964, 0x0965}
   ,
   {0x0970, 0x0970}
@@ -6034,6 +6180,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x0fd0, 0x0fd4}
   ,
+  {0x0fd9, 0x0fda}
+  ,
   {0x104a, 0x104f}
   ,
   {0x10fb, 0x10fb}
@@ -6058,8 +6206,6 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x1944, 0x1945}
   ,
-  {0x19de, 0x19df}
-  ,
   {0x1a1e, 0x1a1f}
   ,
   {0x1aa0, 0x1aa6}
@@ -6068,6 +6214,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x1b5a, 0x1b60}
   ,
+  {0x1bfc, 0x1bff}
+  ,
   {0x1c3b, 0x1c3f}
   ,
   {0x1c7e, 0x1c7f}
@@ -6104,6 +6252,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x2cfe, 0x2cff}
   ,
+  {0x2d70, 0x2d70}
+  ,
   {0x2e00, 0x2e2e}
   ,
   {0x2e30, 0x2e31}
@@ -6204,6 +6354,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x10b39, 0x10b3f}
   ,
+  {0x11047, 0x1104d}
+  ,
   {0x110bb, 0x110bc}
   ,
   {0x110be, 0x110c1}
@@ -6212,7 +6364,7 @@ scm_t_char_range cs_punctuation_ranges[] = {
 };
 
 scm_t_char_set cs_punctuation = {
-  129,
+  133,
   cs_punctuation_ranges
 };
 
@@ -6271,6 +6423,8 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x060e, 0x060f}
   ,
+  {0x06de, 0x06de}
+  ,
   {0x06e9, 0x06e9}
   ,
   {0x06fd, 0x06fe}
@@ -6289,8 +6443,6 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x0c7f, 0x0c7f}
   ,
-  {0x0cf1, 0x0cf2}
-  ,
   {0x0d79, 0x0d79}
   ,
   {0x0e3f, 0x0e3f}
@@ -6325,7 +6477,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x1940, 0x1940}
   ,
-  {0x19e0, 0x19ff}
+  {0x19de, 0x19ff}
   ,
   {0x1b61, 0x1b6a}
   ,
@@ -6351,7 +6503,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x208a, 0x208c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20b9}
   ,
   {0x2100, 0x2101}
   ,
@@ -6383,7 +6535,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x2190, 0x2328}
   ,
-  {0x232b, 0x23e8}
+  {0x232b, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
@@ -6391,43 +6543,17 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x249c, 0x24e9}
   ,
-  {0x2500, 0x26cd}
-  ,
-  {0x26cf, 0x26e1}
-  ,
-  {0x26e3, 0x26e3}
-  ,
-  {0x26e8, 0x26ff}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
+  {0x2500, 0x26ff}
   ,
-  {0x2761, 0x2767}
+  {0x2701, 0x2767}
   ,
-  {0x2794, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27c4}
+  {0x2794, 0x27c4}
   ,
   {0x27c7, 0x27ca}
   ,
   {0x27cc, 0x27cc}
   ,
-  {0x27d0, 0x27e5}
+  {0x27ce, 0x27e5}
   ,
   {0x27f0, 0x2982}
   ,
@@ -6497,6 +6623,8 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0xfb29, 0xfb29}
   ,
+  {0xfbb2, 0xfbc1}
+  ,
   {0xfdfc, 0xfdfd}
   ,
   {0xfe62, 0xfe62}
@@ -6579,43 +6707,87 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f169}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f442, 0x1f4f7}
+  ,
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f5ff}
+  ,
+  {0x1f601, 0x1f610}
+  ,
+  {0x1f612, 0x1f614}
+  ,
+  {0x1f616, 0x1f616}
+  ,
+  {0x1f618, 0x1f618}
+  ,
+  {0x1f61a, 0x1f61a}
+  ,
+  {0x1f61c, 0x1f61e}
+  ,
+  {0x1f620, 0x1f625}
+  ,
+  {0x1f628, 0x1f62b}
+  ,
+  {0x1f62d, 0x1f62d}
+  ,
+  {0x1f630, 0x1f633}
+  ,
+  {0x1f635, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
 };
 
 scm_t_char_set cs_symbol = {
-  198,
+  208,
   cs_symbol_ranges
 };
 
@@ -6672,7 +6844,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -6692,11 +6864,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x070d}
+  {0x061e, 0x070d}
   ,
   {0x070f, 0x074a}
   ,
@@ -6708,13 +6876,11 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
+  {0x0840, 0x085b}
   ,
-  {0x093c, 0x094e}
+  {0x085e, 0x085e}
   ,
-  {0x0950, 0x0955}
-  ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -6832,7 +6998,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -6928,15 +7094,13 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d44}
   ,
   {0x0d46, 0x0d48}
   ,
-  {0x0d4a, 0x0d4d}
+  {0x0d4a, 0x0d4e}
   ,
   {0x0d57, 0x0d57}
   ,
@@ -7012,15 +7176,13 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
@@ -7058,7 +7220,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -7136,7 +7298,9 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1bae, 0x1bb9}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bc0, 0x1bf3}
+  ,
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
@@ -7146,7 +7310,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -7184,53 +7348,27 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20b9}
   ,
   {0x20d0, 0x20f0}
   ,
   {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e8}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x26cd}
+  {0x2460, 0x26ff}
   ,
-  {0x26cf, 0x26e1}
-  ,
-  {0x26e3, 0x26e3}
-  ,
-  {0x26e8, 0x26ff}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
+  {0x2701, 0x27ca}
   ,
   {0x27cc, 0x27cc}
   ,
-  {0x27d0, 0x2b4c}
+  {0x27ce, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -7244,9 +7382,9 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x2d30, 0x2d65}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -7284,7 +7422,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -7302,17 +7440,19 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa673}
+  {0xa640, 0xa673}
   ,
   {0xa67c, 0xa697}
   ,
   {0xa6a0, 0xa6f7}
   ,
-  {0xa700, 0xa78c}
+  {0xa700, 0xa78e}
+  ,
+  {0xa790, 0xa791}
+  ,
+  {0xa7a0, 0xa7a9}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7fa, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -7346,6 +7486,16 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xaadb, 0xaadf}
   ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabed}
   ,
   {0xabf0, 0xabf9}
@@ -7376,7 +7526,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -7512,6 +7662,10 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110c1}
   ,
   {0x12000, 0x1236e}
@@ -7522,6 +7676,10 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -7580,46 +7738,92 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f100, 0x1f10a}
   ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f169}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f442, 0x1f4f7}
+  ,
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f5ff}
+  ,
+  {0x1f601, 0x1f610}
+  ,
+  {0x1f612, 0x1f614}
+  ,
+  {0x1f616, 0x1f616}
+  ,
+  {0x1f618, 0x1f618}
+  ,
+  {0x1f61a, 0x1f61a}
+  ,
+  {0x1f61c, 0x1f61e}
+  ,
+  {0x1f620, 0x1f625}
+  ,
+  {0x1f628, 0x1f62b}
+  ,
+  {0x1f62d, 0x1f62d}
+  ,
+  {0x1f630, 0x1f633}
+  ,
+  {0x1f635, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0001, 0xe0001}
@@ -7634,6 +7838,6 @@ scm_t_char_range cs_designated_ranges[] = {
 };
 
 scm_t_char_set cs_designated = {
-  485,
+  501,
   cs_designated_ranges
 };