degenerate let forms
[bpt/guile.git] / libguile / srfi-14.i.c
index ace61df..42a1c2c 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,24 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0xa78c, 0xa78c}
   ,
+  {0xa78e, 0xa78e}
+  ,
+  {0xa791, 0xa791}
+  ,
+  {0xa793, 0xa793}
+  ,
+  {0xa7a1, 0xa7a1}
+  ,
+  {0xa7a3, 0xa7a3}
+  ,
+  {0xa7a5, 0xa7a5}
+  ,
+  {0xa7a7, 0xa7a7}
+  ,
+  {0xa7a9, 0xa7a9}
+  ,
+  {0xa7f9, 0xa7f9}
+  ,
   {0xfb00, 0xfb06}
   ,
   {0xfb13, 0xfb17}
@@ -1053,11 +1075,13 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0x10428, 0x1044f}
   ,
+  {0x1f521, 0x1f521}
+  ,
   {0xe0061, 0xe007a}
 };
 
 scm_t_char_set cs_lower_case = {
-  524,
+  536,
   cs_lower_case_ranges
 };
 
@@ -1590,10 +1614,16 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0x0524, 0x0524}
   ,
+  {0x0526, 0x0526}
+  ,
   {0x0531, 0x0556}
   ,
   {0x10a0, 0x10c5}
   ,
+  {0x10c7, 0x10c7}
+  ,
+  {0x10cd, 0x10cd}
+  ,
   {0x1d7b, 0x1d7b}
   ,
   {0x1d7e, 0x1d7e}
@@ -1914,6 +1944,8 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa65e, 0xa65e}
   ,
+  {0xa660, 0xa660}
+  ,
   {0xa662, 0xa662}
   ,
   {0xa664, 0xa664}
@@ -2042,39 +2074,43 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa78b, 0xa78b}
   ,
-  {0xff21, 0xff3a}
+  {0xa78d, 0xa78d}
   ,
-  {0x10400, 0x10427}
+  {0xa790, 0xa790}
   ,
-  {0x1f110, 0x1f12c}
+  {0xa792, 0xa792}
+  ,
+  {0xa7a0, 0xa7a0}
   ,
-  {0x1f131, 0x1f131}
+  {0xa7a2, 0xa7a2}
   ,
-  {0x1f13d, 0x1f13d}
+  {0xa7a4, 0xa7a4}
   ,
-  {0x1f13f, 0x1f13f}
+  {0xa7a6, 0xa7a6}
   ,
-  {0x1f142, 0x1f142}
+  {0xa7a8, 0xa7a8}
   ,
-  {0x1f146, 0x1f146}
+  {0xa7aa, 0xa7aa}
   ,
-  {0x1f157, 0x1f157}
+  {0xff21, 0xff3a}
+  ,
+  {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,
+  511,
   cs_upper_case_ranges
 };
 
@@ -2148,7 +2184,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0525}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -2160,7 +2196,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x066e, 0x066f}
   ,
@@ -2198,6 +2234,12 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0828, 0x0828}
   ,
+  {0x0840, 0x0858}
+  ,
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -2206,7 +2248,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0958, 0x0961}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -2344,16 +2386,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}
@@ -2406,7 +2450,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0ec6, 0x0ec6}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f00}
   ,
@@ -2414,7 +2458,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -2436,11 +2480,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10a0, 0x10c5}
   ,
-  {0x10d0, 0x10fa}
+  {0x10c7, 0x10c7}
   ,
-  {0x10fc, 0x10fc}
+  {0x10cd, 0x10cd}
   ,
-  {0x1100, 0x1248}
+  {0x10d0, 0x10fa}
+  ,
+  {0x10fc, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -2534,6 +2580,8 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1bae, 0x1baf}
   ,
+  {0x1bba, 0x1be5}
+  ,
   {0x1c00, 0x1c23}
   ,
   {0x1c4d, 0x1c4f}
@@ -2544,6 +2592,8 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1cee, 0x1cf1}
   ,
+  {0x1cf5, 0x1cf6}
+  ,
   {0x1d00, 0x1dbf}
   ,
   {0x1e00, 0x1f15}
@@ -2588,7 +2638,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -2626,9 +2676,15 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x2ceb, 0x2cee}
   ,
+  {0x2cf2, 0x2cf3}
+  ,
   {0x2d00, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
+  ,
+  {0x2d2d, 0x2d2d}
+  ,
+  {0x2d30, 0x2d67}
   ,
   {0x2d6f, 0x2d6f}
   ,
@@ -2670,13 +2726,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
   {0x3400, 0x4db5}
   ,
-  {0x4e00, 0x9fcb}
+  {0x4e00, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
@@ -2688,9 +2744,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xa62a, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
@@ -2700,9 +2754,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
   ,
-  {0xa7fb, 0xa801}
+  {0xa790, 0xa793}
+  ,
+  {0xa7a0, 0xa7aa}
+  ,
+  {0xa7f8, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -2752,6 +2810,20 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xaadb, 0xaadd}
   ,
+  {0xaae0, 0xaaea}
+  ,
+  {0xaaf2, 0xaaf4}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabe2}
   ,
   {0xac00, 0xd7a3}
@@ -2760,9 +2832,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xd7cb, 0xd7fb}
   ,
-  {0xf900, 0xfa2d}
-  ,
-  {0xfa30, 0xfa6d}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -2860,6 +2930,10 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10920, 0x10939}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a00}
   ,
   {0x10a10, 0x10a13}
@@ -2878,12 +2952,34 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10c00, 0x10c48}
   ,
+  {0x11003, 0x11037}
+  ,
   {0x11083, 0x110af}
   ,
+  {0x110d0, 0x110e8}
+  ,
+  {0x11103, 0x11126}
+  ,
+  {0x11183, 0x111b2}
+  ,
+  {0x111c1, 0x111c4}
+  ,
+  {0x11680, 0x116aa}
+  ,
   {0x12000, 0x1236e}
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f50}
+  ,
+  {0x16f93, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d400, 0x1d454}
   ,
   {0x1d456, 0x1d49c}
@@ -2944,15 +3040,83 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1d7c4, 0x1d7cb}
   ,
+  {0x1ee00, 0x1ee03}
+  ,
+  {0x1ee05, 0x1ee1f}
+  ,
+  {0x1ee21, 0x1ee22}
+  ,
+  {0x1ee24, 0x1ee24}
+  ,
+  {0x1ee27, 0x1ee27}
+  ,
+  {0x1ee29, 0x1ee32}
+  ,
+  {0x1ee34, 0x1ee37}
+  ,
+  {0x1ee39, 0x1ee39}
+  ,
+  {0x1ee3b, 0x1ee3b}
+  ,
+  {0x1ee42, 0x1ee42}
+  ,
+  {0x1ee47, 0x1ee47}
+  ,
+  {0x1ee49, 0x1ee49}
+  ,
+  {0x1ee4b, 0x1ee4b}
+  ,
+  {0x1ee4d, 0x1ee4f}
+  ,
+  {0x1ee51, 0x1ee52}
+  ,
+  {0x1ee54, 0x1ee54}
+  ,
+  {0x1ee57, 0x1ee57}
+  ,
+  {0x1ee59, 0x1ee59}
+  ,
+  {0x1ee5b, 0x1ee5b}
+  ,
+  {0x1ee5d, 0x1ee5d}
+  ,
+  {0x1ee5f, 0x1ee5f}
+  ,
+  {0x1ee61, 0x1ee62}
+  ,
+  {0x1ee64, 0x1ee64}
+  ,
+  {0x1ee67, 0x1ee6a}
+  ,
+  {0x1ee6c, 0x1ee72}
+  ,
+  {0x1ee74, 0x1ee77}
+  ,
+  {0x1ee79, 0x1ee7c}
+  ,
+  {0x1ee7e, 0x1ee7e}
+  ,
+  {0x1ee80, 0x1ee89}
+  ,
+  {0x1ee8b, 0x1ee9b}
+  ,
+  {0x1eea1, 0x1eea3}
+  ,
+  {0x1eea5, 0x1eea9}
+  ,
+  {0x1eeab, 0x1eebb}
+  ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
 };
 
 scm_t_char_set cs_letter = {
-  422,
+  486,
   cs_letter_ranges
 };
 
@@ -2999,7 +3163,7 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0x1946, 0x194f}
   ,
-  {0x19d0, 0x19da}
+  {0x19d0, 0x19d9}
   ,
   {0x1a80, 0x1a89}
   ,
@@ -3029,11 +3193,21 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0x104a0, 0x104a9}
   ,
+  {0x11066, 0x1106f}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11136, 0x1113f}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x1d7ce, 0x1d7ff}
 };
 
 scm_t_char_set cs_digit = {
-  37,
+  42,
   cs_digit_ranges
 };
 
@@ -3095,7 +3269,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0525}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -3107,7 +3281,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x0660, 0x0669}
   ,
@@ -3145,6 +3319,12 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0828, 0x0828}
   ,
+  {0x0840, 0x0858}
+  ,
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -3155,7 +3335,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0966, 0x096f}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -3305,16 +3485,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}
@@ -3373,7 +3555,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f00}
   ,
@@ -3383,7 +3565,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -3407,11 +3589,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10a0, 0x10c5}
   ,
-  {0x10d0, 0x10fa}
+  {0x10c7, 0x10c7}
+  ,
+  {0x10cd, 0x10cd}
   ,
-  {0x10fc, 0x10fc}
+  {0x10d0, 0x10fa}
   ,
-  {0x1100, 0x1248}
+  {0x10fc, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -3495,7 +3679,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x19c1, 0x19c7}
   ,
-  {0x19d0, 0x19da}
+  {0x19d0, 0x19d9}
   ,
   {0x1a00, 0x1a16}
   ,
@@ -3515,7 +3699,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1b83, 0x1ba0}
   ,
-  {0x1bae, 0x1bb9}
+  {0x1bae, 0x1be5}
   ,
   {0x1c00, 0x1c23}
   ,
@@ -3527,6 +3711,8 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1cee, 0x1cf1}
   ,
+  {0x1cf5, 0x1cf6}
+  ,
   {0x1d00, 0x1dbf}
   ,
   {0x1e00, 0x1f15}
@@ -3571,7 +3757,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -3609,9 +3795,15 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x2ceb, 0x2cee}
   ,
+  {0x2cf2, 0x2cf3}
+  ,
   {0x2d00, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
+  ,
+  {0x2d2d, 0x2d2d}
+  ,
+  {0x2d30, 0x2d67}
   ,
   {0x2d6f, 0x2d6f}
   ,
@@ -3653,13 +3845,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
   {0x3400, 0x4db5}
   ,
-  {0x4e00, 0x9fcb}
+  {0x4e00, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
@@ -3669,9 +3861,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xa610, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
@@ -3681,9 +3871,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
+  ,
+  {0xa790, 0xa793}
   ,
-  {0xa7fb, 0xa801}
+  {0xa7a0, 0xa7aa}
+  ,
+  {0xa7f8, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -3737,6 +3931,20 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xaadb, 0xaadd}
   ,
+  {0xaae0, 0xaaea}
+  ,
+  {0xaaf2, 0xaaf4}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
   {0xabc0, 0xabe2}
   ,
   {0xabf0, 0xabf9}
@@ -3747,9 +3955,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xd7cb, 0xd7fb}
   ,
-  {0xf900, 0xfa2d}
-  ,
-  {0xfa30, 0xfa6d}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -3851,6 +4057,10 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10920, 0x10939}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a00}
   ,
   {0x10a10, 0x10a13}
@@ -3869,12 +4079,44 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10c00, 0x10c48}
   ,
+  {0x11003, 0x11037}
+  ,
+  {0x11066, 0x1106f}
+  ,
   {0x11083, 0x110af}
   ,
+  {0x110d0, 0x110e8}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11103, 0x11126}
+  ,
+  {0x11136, 0x1113f}
+  ,
+  {0x11183, 0x111b2}
+  ,
+  {0x111c1, 0x111c4}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x11680, 0x116aa}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x12000, 0x1236e}
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f50}
+  ,
+  {0x16f93, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d400, 0x1d454}
   ,
   {0x1d456, 0x1d49c}
@@ -3937,15 +4179,83 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1d7ce, 0x1d7ff}
   ,
+  {0x1ee00, 0x1ee03}
+  ,
+  {0x1ee05, 0x1ee1f}
+  ,
+  {0x1ee21, 0x1ee22}
+  ,
+  {0x1ee24, 0x1ee24}
+  ,
+  {0x1ee27, 0x1ee27}
+  ,
+  {0x1ee29, 0x1ee32}
+  ,
+  {0x1ee34, 0x1ee37}
+  ,
+  {0x1ee39, 0x1ee39}
+  ,
+  {0x1ee3b, 0x1ee3b}
+  ,
+  {0x1ee42, 0x1ee42}
+  ,
+  {0x1ee47, 0x1ee47}
+  ,
+  {0x1ee49, 0x1ee49}
+  ,
+  {0x1ee4b, 0x1ee4b}
+  ,
+  {0x1ee4d, 0x1ee4f}
+  ,
+  {0x1ee51, 0x1ee52}
+  ,
+  {0x1ee54, 0x1ee54}
+  ,
+  {0x1ee57, 0x1ee57}
+  ,
+  {0x1ee59, 0x1ee59}
+  ,
+  {0x1ee5b, 0x1ee5b}
+  ,
+  {0x1ee5d, 0x1ee5d}
+  ,
+  {0x1ee5f, 0x1ee5f}
+  ,
+  {0x1ee61, 0x1ee62}
+  ,
+  {0x1ee64, 0x1ee64}
+  ,
+  {0x1ee67, 0x1ee6a}
+  ,
+  {0x1ee6c, 0x1ee72}
+  ,
+  {0x1ee74, 0x1ee77}
+  ,
+  {0x1ee79, 0x1ee7c}
+  ,
+  {0x1ee7e, 0x1ee7e}
+  ,
+  {0x1ee80, 0x1ee89}
+  ,
+  {0x1ee8b, 0x1ee9b}
+  ,
+  {0x1eea1, 0x1eea3}
+  ,
+  {0x1eea5, 0x1eea9}
+  ,
+  {0x1eeab, 0x1eebb}
+  ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
 };
 
 scm_t_char_set cs_letter_plus_digit = {
-  446,
+  514,
   cs_letter_plus_digit_ranges
 };
 
@@ -3964,7 +4274,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -3974,6 +4284,8 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0589, 0x058a}
   ,
+  {0x058f, 0x058f}
+  ,
   {0x0591, 0x05c7}
   ,
   {0x05d0, 0x05ea}
@@ -3982,11 +4294,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x06dc}
+  {0x061e, 0x06dc}
   ,
   {0x06de, 0x070d}
   ,
@@ -4000,13 +4308,17 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
+  {0x0840, 0x085b}
+  ,
+  {0x085e, 0x085e}
   ,
-  {0x093c, 0x094e}
+  {0x08a0, 0x08a0}
   ,
-  {0x0950, 0x0955}
+  {0x08a2, 0x08ac}
   ,
-  {0x0958, 0x0972}
+  {0x08e4, 0x08fe}
+  ,
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -4094,9 +4406,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -4124,7 +4434,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -4220,15 +4530,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}
   ,
@@ -4298,27 +4606,27 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f47}
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
-  {0x10d0, 0x10fc}
+  {0x10c7, 0x10c7}
   ,
-  {0x1100, 0x1248}
+  {0x10cd, 0x10cd}
+  ,
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -4350,7 +4658,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -4376,9 +4684,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1772, 0x1773}
   ,
-  {0x1780, 0x17b3}
-  ,
-  {0x17b6, 0x17dd}
+  {0x1780, 0x17dd}
   ,
   {0x17e0, 0x17e9}
   ,
@@ -4428,21 +4734,21 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1bae, 0x1bb9}
-  ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
-  {0x1cd0, 0x1cf2}
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -4482,53 +4788,23 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20ba}
   ,
   {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}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
+  {0x2460, 0x26ff}
   ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x2b4c}
+  {0x2701, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -4536,15 +4812,19 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2cf1}
+  {0x2c60, 0x2cf3}
   ,
   {0x2cf9, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d30, 0x2d67}
+  ,
+  {0x2d6f, 0x2d70}
+  ,
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -4562,7 +4842,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e31}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -4582,7 +4862,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -4592,7 +4872,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fcb}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
@@ -4600,17 +4880,17 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
+  {0xa640, 0xa697}
   ,
-  {0xa662, 0xa673}
+  {0xa69f, 0xa6f7}
   ,
-  {0xa67c, 0xa697}
+  {0xa700, 0xa78e}
   ,
-  {0xa6a0, 0xa6f7}
+  {0xa790, 0xa793}
   ,
-  {0xa700, 0xa78c}
+  {0xa7a0, 0xa7aa}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7f8, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -4642,7 +4922,17 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xaa80, 0xaac2}
   ,
-  {0xaadb, 0xaadf}
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
   ,
   {0xabc0, 0xabed}
   ,
@@ -4654,9 +4944,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xd7cb, 0xd7fb}
   ,
-  {0xf900, 0xfa2d}
-  ,
-  {0xfa30, 0xfa6d}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -4674,7 +4962,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -4778,6 +5066,10 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -4808,10 +5100,30 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110bc}
   ,
   {0x110be, 0x110c1}
   ,
+  {0x110d0, 0x110e8}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11100, 0x11134}
+  ,
+  {0x11136, 0x11143}
+  ,
+  {0x11180, 0x111c8}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x11680, 0x116b7}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x12000, 0x1236e}
   ,
   {0x12400, 0x12462}
@@ -4820,6 +5132,16 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -4876,60 +5198,154 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1d7ce, 0x1d7ff}
   ,
-  {0x1f000, 0x1f02b}
+  {0x1ee00, 0x1ee03}
   ,
-  {0x1f030, 0x1f093}
+  {0x1ee05, 0x1ee1f}
   ,
-  {0x1f100, 0x1f10a}
+  {0x1ee21, 0x1ee22}
   ,
-  {0x1f110, 0x1f12e}
+  {0x1ee24, 0x1ee24}
   ,
-  {0x1f131, 0x1f131}
+  {0x1ee27, 0x1ee27}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1ee29, 0x1ee32}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1ee34, 0x1ee37}
   ,
-  {0x1f142, 0x1f142}
+  {0x1ee39, 0x1ee39}
   ,
-  {0x1f146, 0x1f146}
+  {0x1ee3b, 0x1ee3b}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1ee42, 0x1ee42}
   ,
-  {0x1f157, 0x1f157}
+  {0x1ee47, 0x1ee47}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1ee49, 0x1ee49}
   ,
-  {0x1f179, 0x1f179}
+  {0x1ee4b, 0x1ee4b}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1ee4d, 0x1ee4f}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1ee51, 0x1ee52}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1ee54, 0x1ee54}
   ,
-  {0x1f190, 0x1f190}
+  {0x1ee57, 0x1ee57}
   ,
-  {0x1f200, 0x1f200}
+  {0x1ee59, 0x1ee59}
   ,
-  {0x1f210, 0x1f231}
+  {0x1ee5b, 0x1ee5b}
   ,
-  {0x1f240, 0x1f248}
+  {0x1ee5d, 0x1ee5d}
   ,
-  {0x20000, 0x2a6d6}
+  {0x1ee5f, 0x1ee5f}
   ,
-  {0x2a700, 0x2b734}
+  {0x1ee61, 0x1ee62}
   ,
-  {0x2f800, 0x2fa1d}
+  {0x1ee64, 0x1ee64}
   ,
-  {0xe0100, 0xe01ef}
-};
-
-scm_t_char_set cs_graphic = {
-  487,
-  cs_graphic_ranges
-};
-
+  {0x1ee67, 0x1ee6a}
+  ,
+  {0x1ee6c, 0x1ee72}
+  ,
+  {0x1ee74, 0x1ee77}
+  ,
+  {0x1ee79, 0x1ee7c}
+  ,
+  {0x1ee7e, 0x1ee7e}
+  ,
+  {0x1ee80, 0x1ee89}
+  ,
+  {0x1ee8b, 0x1ee9b}
+  ,
+  {0x1eea1, 0x1eea3}
+  ,
+  {0x1eea5, 0x1eea9}
+  ,
+  {0x1eeab, 0x1eebb}
+  ,
+  {0x1eef0, 0x1eef1}
+  ,
+  {0x1f000, 0x1f02b}
+  ,
+  {0x1f030, 0x1f093}
+  ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
+  {0x1f100, 0x1f10a}
+  ,
+  {0x1f110, 0x1f12e}
+  ,
+  {0x1f130, 0x1f16b}
+  ,
+  {0x1f170, 0x1f19a}
+  ,
+  {0x1f1e6, 0x1f202}
+  ,
+  {0x1f210, 0x1f23a}
+  ,
+  {0x1f240, 0x1f248}
+  ,
+  {0x1f250, 0x1f251}
+  ,
+  {0x1f300, 0x1f320}
+  ,
+  {0x1f330, 0x1f335}
+  ,
+  {0x1f337, 0x1f37c}
+  ,
+  {0x1f380, 0x1f393}
+  ,
+  {0x1f3a0, 0x1f3c4}
+  ,
+  {0x1f3c6, 0x1f3ca}
+  ,
+  {0x1f3e0, 0x1f3f0}
+  ,
+  {0x1f400, 0x1f43e}
+  ,
+  {0x1f440, 0x1f440}
+  ,
+  {0x1f442, 0x1f4f7}
+  ,
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f540, 0x1f543}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
+  ,
+  {0x20000, 0x2a6d6}
+  ,
+  {0x2a700, 0x2b734}
+  ,
+  {0x2b740, 0x2b81d}
+  ,
+  {0x2f800, 0x2fa1d}
+  ,
+  {0xe0100, 0xe01ef}
+};
+
+scm_t_char_set cs_graphic = {
+  540,
+  cs_graphic_ranges
+};
+
 scm_t_char_range cs_whitespace_ranges[] = {
   {0x0009, 0x000d}
   ,
@@ -4974,7 +5390,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -4984,6 +5400,8 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0589, 0x058a}
   ,
+  {0x058f, 0x058f}
+  ,
   {0x0591, 0x05c7}
   ,
   {0x05d0, 0x05ea}
@@ -4992,11 +5410,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x06dc}
+  {0x061e, 0x06dc}
   ,
   {0x06de, 0x070d}
   ,
@@ -5010,13 +5424,17 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
+  {0x0840, 0x085b}
+  ,
+  {0x085e, 0x085e}
+  ,
+  {0x08a0, 0x08a0}
   ,
-  {0x093c, 0x094e}
+  {0x08a2, 0x08ac}
   ,
-  {0x0950, 0x0955}
+  {0x08e4, 0x08fe}
   ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -5104,9 +5522,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -5134,7 +5550,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -5230,15 +5646,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}
   ,
@@ -5308,27 +5722,27 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f47}
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
-  {0x10d0, 0x10fc}
+  {0x10c7, 0x10c7}
   ,
-  {0x1100, 0x1248}
+  {0x10cd, 0x10cd}
+  ,
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -5360,7 +5774,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -5384,9 +5798,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1772, 0x1773}
   ,
-  {0x1780, 0x17b3}
-  ,
-  {0x17b6, 0x17dd}
+  {0x1780, 0x17dd}
   ,
   {0x17e0, 0x17e9}
   ,
@@ -5436,21 +5848,21 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
-  ,
-  {0x1bae, 0x1bb9}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
-  {0x1cd0, 0x1cf2}
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -5492,53 +5904,23 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20ba}
   ,
   {0x20d0, 0x20f0}
   ,
   {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e8}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x26cd}
-  ,
-  {0x26cf, 0x26e1}
-  ,
-  {0x26e3, 0x26e3}
-  ,
-  {0x26e8, 0x26ff}
-  ,
-  {0x2701, 0x2704}
+  {0x2460, 0x26ff}
   ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x2b4c}
+  {0x2701, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -5546,15 +5928,19 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2cf1}
+  {0x2c60, 0x2cf3}
   ,
   {0x2cf9, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d30, 0x2d67}
+  ,
+  {0x2d6f, 0x2d70}
+  ,
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -5572,7 +5958,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e31}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -5592,7 +5978,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -5602,7 +5988,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fcb}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
@@ -5610,17 +5996,17 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
+  {0xa640, 0xa697}
   ,
-  {0xa662, 0xa673}
+  {0xa69f, 0xa6f7}
   ,
-  {0xa67c, 0xa697}
+  {0xa700, 0xa78e}
   ,
-  {0xa6a0, 0xa6f7}
+  {0xa790, 0xa793}
   ,
-  {0xa700, 0xa78c}
+  {0xa7a0, 0xa7aa}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7f8, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -5652,7 +6038,17 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xaa80, 0xaac2}
   ,
-  {0xaadb, 0xaadf}
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
   ,
   {0xabc0, 0xabed}
   ,
@@ -5664,9 +6060,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xd7cb, 0xd7fb}
   ,
-  {0xf900, 0xfa2d}
-  ,
-  {0xfa30, 0xfa6d}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -5684,7 +6078,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -5788,6 +6182,10 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -5818,10 +6216,30 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110bc}
   ,
   {0x110be, 0x110c1}
   ,
+  {0x110d0, 0x110e8}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11100, 0x11134}
+  ,
+  {0x11136, 0x11143}
+  ,
+  {0x11180, 0x111c8}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x11680, 0x116b7}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x12000, 0x1236e}
   ,
   {0x12400, 0x12462}
@@ -5830,6 +6248,16 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -5886,57 +6314,151 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1d7ce, 0x1d7ff}
   ,
+  {0x1ee00, 0x1ee03}
+  ,
+  {0x1ee05, 0x1ee1f}
+  ,
+  {0x1ee21, 0x1ee22}
+  ,
+  {0x1ee24, 0x1ee24}
+  ,
+  {0x1ee27, 0x1ee27}
+  ,
+  {0x1ee29, 0x1ee32}
+  ,
+  {0x1ee34, 0x1ee37}
+  ,
+  {0x1ee39, 0x1ee39}
+  ,
+  {0x1ee3b, 0x1ee3b}
+  ,
+  {0x1ee42, 0x1ee42}
+  ,
+  {0x1ee47, 0x1ee47}
+  ,
+  {0x1ee49, 0x1ee49}
+  ,
+  {0x1ee4b, 0x1ee4b}
+  ,
+  {0x1ee4d, 0x1ee4f}
+  ,
+  {0x1ee51, 0x1ee52}
+  ,
+  {0x1ee54, 0x1ee54}
+  ,
+  {0x1ee57, 0x1ee57}
+  ,
+  {0x1ee59, 0x1ee59}
+  ,
+  {0x1ee5b, 0x1ee5b}
+  ,
+  {0x1ee5d, 0x1ee5d}
+  ,
+  {0x1ee5f, 0x1ee5f}
+  ,
+  {0x1ee61, 0x1ee62}
+  ,
+  {0x1ee64, 0x1ee64}
+  ,
+  {0x1ee67, 0x1ee6a}
+  ,
+  {0x1ee6c, 0x1ee72}
+  ,
+  {0x1ee74, 0x1ee77}
+  ,
+  {0x1ee79, 0x1ee7c}
+  ,
+  {0x1ee7e, 0x1ee7e}
+  ,
+  {0x1ee80, 0x1ee89}
+  ,
+  {0x1ee8b, 0x1ee9b}
+  ,
+  {0x1eea1, 0x1eea3}
+  ,
+  {0x1eea5, 0x1eea9}
+  ,
+  {0x1eeab, 0x1eebb}
+  ,
+  {0x1eef0, 0x1eef1}
+  ,
   {0x1f000, 0x1f02b}
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f100, 0x1f10a}
   ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f16b}
+  ,
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f442, 0x1f4f7}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f540, 0x1f543}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0100, 0xe01ef}
 };
 
 scm_t_char_set cs_printing = {
-  488,
+  541,
   cs_printing_ranges
 };
 
@@ -5972,9 +6494,11 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x00a1, 0x00a1}
   ,
+  {0x00a7, 0x00a7}
+  ,
   {0x00ab, 0x00ab}
   ,
-  {0x00b7, 0x00b7}
+  {0x00b6, 0x00b7}
   ,
   {0x00bb, 0x00bb}
   ,
@@ -6016,10 +6540,14 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
+  {0x085e, 0x085e}
+  ,
   {0x0964, 0x0965}
   ,
   {0x0970, 0x0970}
   ,
+  {0x0af0, 0x0af0}
+  ,
   {0x0df4, 0x0df4}
   ,
   {0x0e4f, 0x0e4f}
@@ -6028,17 +6556,21 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x0f04, 0x0f12}
   ,
+  {0x0f14, 0x0f14}
+  ,
   {0x0f3a, 0x0f3d}
   ,
   {0x0f85, 0x0f85}
   ,
   {0x0fd0, 0x0fd4}
   ,
+  {0x0fd9, 0x0fda}
+  ,
   {0x104a, 0x104f}
   ,
   {0x10fb, 0x10fb}
   ,
-  {0x1361, 0x1368}
+  {0x1360, 0x1368}
   ,
   {0x1400, 0x1400}
   ,
@@ -6058,8 +6590,6 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x1944, 0x1945}
   ,
-  {0x19de, 0x19df}
-  ,
   {0x1a1e, 0x1a1f}
   ,
   {0x1aa0, 0x1aa6}
@@ -6068,10 +6598,14 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x1b5a, 0x1b60}
   ,
+  {0x1bfc, 0x1bff}
+  ,
   {0x1c3b, 0x1c3f}
   ,
   {0x1c7e, 0x1c7f}
   ,
+  {0x1cc0, 0x1cc7}
+  ,
   {0x1cd3, 0x1cd3}
   ,
   {0x2010, 0x2027}
@@ -6104,9 +6638,11 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x2cfe, 0x2cff}
   ,
+  {0x2d70, 0x2d70}
+  ,
   {0x2e00, 0x2e2e}
   ,
-  {0x2e30, 0x2e31}
+  {0x2e30, 0x2e3b}
   ,
   {0x3001, 0x3003}
   ,
@@ -6150,6 +6686,8 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0xaade, 0xaadf}
   ,
+  {0xaaf0, 0xaaf1}
+  ,
   {0xabeb, 0xabeb}
   ,
   {0xfd3e, 0xfd3f}
@@ -6186,7 +6724,7 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0xff5f, 0xff65}
   ,
-  {0x10100, 0x10101}
+  {0x10100, 0x10102}
   ,
   {0x1039f, 0x1039f}
   ,
@@ -6204,15 +6742,21 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x10b39, 0x10b3f}
   ,
+  {0x11047, 0x1104d}
+  ,
   {0x110bb, 0x110bc}
   ,
   {0x110be, 0x110c1}
   ,
+  {0x11140, 0x11143}
+  ,
+  {0x111c5, 0x111c8}
+  ,
   {0x12470, 0x12473}
 };
 
 scm_t_char_set cs_punctuation = {
-  129,
+  140,
   cs_punctuation_ranges
 };
 
@@ -6231,7 +6775,9 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x007e, 0x007e}
   ,
-  {0x00a2, 0x00a9}
+  {0x00a2, 0x00a6}
+  ,
+  {0x00a8, 0x00a9}
   ,
   {0x00ac, 0x00ac}
   ,
@@ -6239,8 +6785,6 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x00b4, 0x00b4}
   ,
-  {0x00b6, 0x00b6}
-  ,
   {0x00b8, 0x00b8}
   ,
   {0x00d7, 0x00d7}
@@ -6265,12 +6809,16 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x0482, 0x0482}
   ,
+  {0x058f, 0x058f}
+  ,
   {0x0606, 0x0608}
   ,
   {0x060b, 0x060b}
   ,
   {0x060e, 0x060f}
   ,
+  {0x06de, 0x06de}
+  ,
   {0x06e9, 0x06e9}
   ,
   {0x06fd, 0x06fe}
@@ -6289,15 +6837,15 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x0c7f, 0x0c7f}
   ,
-  {0x0cf1, 0x0cf2}
-  ,
   {0x0d79, 0x0d79}
   ,
   {0x0e3f, 0x0e3f}
   ,
   {0x0f01, 0x0f03}
   ,
-  {0x0f13, 0x0f17}
+  {0x0f13, 0x0f13}
+  ,
+  {0x0f15, 0x0f17}
   ,
   {0x0f1a, 0x0f1f}
   ,
@@ -6317,15 +6865,13 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x109e, 0x109f}
   ,
-  {0x1360, 0x1360}
-  ,
   {0x1390, 0x1399}
   ,
   {0x17db, 0x17db}
   ,
   {0x1940, 0x1940}
   ,
-  {0x19e0, 0x19ff}
+  {0x19de, 0x19ff}
   ,
   {0x1b61, 0x1b6a}
   ,
@@ -6351,7 +6897,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x208a, 0x208c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20ba}
   ,
   {0x2100, 0x2101}
   ,
@@ -6383,7 +6929,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x2190, 0x2328}
   ,
-  {0x232b, 0x23e8}
+  {0x232b, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
@@ -6391,43 +6937,13 @@ 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}
-  ,
-  {0x2761, 0x2767}
-  ,
-  {0x2794, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27c4}
+  {0x2500, 0x26ff}
   ,
-  {0x27c7, 0x27ca}
+  {0x2701, 0x2767}
   ,
-  {0x27cc, 0x27cc}
+  {0x2794, 0x27c4}
   ,
-  {0x27d0, 0x27e5}
+  {0x27c7, 0x27e5}
   ,
   {0x27f0, 0x2982}
   ,
@@ -6469,7 +6985,9 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x3200, 0x321e}
   ,
-  {0x322a, 0x3250}
+  {0x322a, 0x3247}
+  ,
+  {0x3250, 0x3250}
   ,
   {0x3260, 0x327f}
   ,
@@ -6497,6 +7015,8 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0xfb29, 0xfb29}
   ,
+  {0xfbb2, 0xfbc1}
+  ,
   {0xfdfc, 0xfdfd}
   ,
   {0xfe62, 0xfe62}
@@ -6525,8 +7045,6 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0xfffc, 0xfffd}
   ,
-  {0x10102, 0x10102}
-  ,
   {0x10137, 0x1013f}
   ,
   {0x10179, 0x10189}
@@ -6575,43 +7093,69 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x1d7c3, 0x1d7c3}
   ,
+  {0x1eef0, 0x1eef1}
+  ,
   {0x1f000, 0x1f02b}
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f16b}
   ,
-  {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}
+  ,
+  {0x1f540, 0x1f543}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
 };
 
 scm_t_char_set cs_symbol = {
@@ -6672,7 +7216,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0525}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -6682,21 +7226,19 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0589, 0x058a}
   ,
+  {0x058f, 0x058f}
+  ,
   {0x0591, 0x05c7}
   ,
   {0x05d0, 0x05ea}
   ,
   {0x05f0, 0x05f4}
   ,
-  {0x0600, 0x0603}
+  {0x0600, 0x0604}
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x070d}
+  {0x061e, 0x070d}
   ,
   {0x070f, 0x074a}
   ,
@@ -6708,13 +7250,17 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0830, 0x083e}
   ,
-  {0x0900, 0x0939}
+  {0x0840, 0x085b}
+  ,
+  {0x085e, 0x085e}
+  ,
+  {0x08a0, 0x08a0}
   ,
-  {0x093c, 0x094e}
+  {0x08a2, 0x08ac}
   ,
-  {0x0950, 0x0955}
+  {0x08e4, 0x08fe}
   ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
   {0x0979, 0x097f}
   ,
@@ -6802,9 +7348,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -6832,7 +7376,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -6928,15 +7472,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}
   ,
@@ -7006,27 +7548,27 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f47}
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd8}
+  {0x0fce, 0x0fda}
   ,
   {0x1000, 0x10c5}
   ,
-  {0x10d0, 0x10fc}
+  {0x10c7, 0x10c7}
   ,
-  {0x1100, 0x1248}
+  {0x10cd, 0x10cd}
+  ,
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -7058,7 +7600,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
@@ -7132,21 +7674,21 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
-  ,
-  {0x1bae, 0x1bb9}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
-  {0x1cd0, 0x1cf2}
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
   ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfd, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -7184,53 +7726,23 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b8}
+  {0x20a0, 0x20ba}
   ,
   {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}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
+  {0x2460, 0x26ff}
   ,
-  {0x2756, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x2b4c}
+  {0x2701, 0x2b4c}
   ,
   {0x2b50, 0x2b59}
   ,
@@ -7238,15 +7750,19 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2cf1}
+  {0x2c60, 0x2cf3}
   ,
   {0x2cf9, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d30, 0x2d67}
+  ,
+  {0x2d6f, 0x2d70}
+  ,
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -7264,7 +7780,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e31}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -7284,7 +7800,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
@@ -7294,7 +7810,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fcb}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
@@ -7302,17 +7818,17 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
+  {0xa640, 0xa697}
   ,
-  {0xa662, 0xa673}
+  {0xa69f, 0xa6f7}
   ,
-  {0xa67c, 0xa697}
+  {0xa700, 0xa78e}
   ,
-  {0xa6a0, 0xa6f7}
+  {0xa790, 0xa793}
   ,
-  {0xa700, 0xa78c}
+  {0xa7a0, 0xa7aa}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7f8, 0xa82b}
   ,
   {0xa830, 0xa839}
   ,
@@ -7344,7 +7860,17 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xaa80, 0xaac2}
   ,
-  {0xaadb, 0xaadf}
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
   ,
   {0xabc0, 0xabed}
   ,
@@ -7356,9 +7882,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xd7cb, 0xd7fb}
   ,
-  {0xe000, 0xfa2d}
-  ,
-  {0xfa30, 0xfa6d}
+  {0xe000, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -7376,7 +7900,7 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -7482,6 +8006,10 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -7512,8 +8040,28 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x10e60, 0x10e7e}
   ,
+  {0x11000, 0x1104d}
+  ,
+  {0x11052, 0x1106f}
+  ,
   {0x11080, 0x110c1}
   ,
+  {0x110d0, 0x110e8}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11100, 0x11134}
+  ,
+  {0x11136, 0x11143}
+  ,
+  {0x11180, 0x111c8}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x11680, 0x116b7}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x12000, 0x1236e}
   ,
   {0x12400, 0x12462}
@@ -7522,6 +8070,16 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x13000, 0x1342e}
   ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -7576,50 +8134,144 @@ scm_t_char_range cs_designated_ranges[] = {
   ,
   {0x1d7ce, 0x1d7ff}
   ,
+  {0x1ee00, 0x1ee03}
+  ,
+  {0x1ee05, 0x1ee1f}
+  ,
+  {0x1ee21, 0x1ee22}
+  ,
+  {0x1ee24, 0x1ee24}
+  ,
+  {0x1ee27, 0x1ee27}
+  ,
+  {0x1ee29, 0x1ee32}
+  ,
+  {0x1ee34, 0x1ee37}
+  ,
+  {0x1ee39, 0x1ee39}
+  ,
+  {0x1ee3b, 0x1ee3b}
+  ,
+  {0x1ee42, 0x1ee42}
+  ,
+  {0x1ee47, 0x1ee47}
+  ,
+  {0x1ee49, 0x1ee49}
+  ,
+  {0x1ee4b, 0x1ee4b}
+  ,
+  {0x1ee4d, 0x1ee4f}
+  ,
+  {0x1ee51, 0x1ee52}
+  ,
+  {0x1ee54, 0x1ee54}
+  ,
+  {0x1ee57, 0x1ee57}
+  ,
+  {0x1ee59, 0x1ee59}
+  ,
+  {0x1ee5b, 0x1ee5b}
+  ,
+  {0x1ee5d, 0x1ee5d}
+  ,
+  {0x1ee5f, 0x1ee5f}
+  ,
+  {0x1ee61, 0x1ee62}
+  ,
+  {0x1ee64, 0x1ee64}
+  ,
+  {0x1ee67, 0x1ee6a}
+  ,
+  {0x1ee6c, 0x1ee72}
+  ,
+  {0x1ee74, 0x1ee77}
+  ,
+  {0x1ee79, 0x1ee7c}
+  ,
+  {0x1ee7e, 0x1ee7e}
+  ,
+  {0x1ee80, 0x1ee89}
+  ,
+  {0x1ee8b, 0x1ee9b}
+  ,
+  {0x1eea1, 0x1eea3}
+  ,
+  {0x1eea5, 0x1eea9}
+  ,
+  {0x1eeab, 0x1eebb}
+  ,
+  {0x1eef0, 0x1eef1}
+  ,
   {0x1f000, 0x1f02b}
   ,
   {0x1f030, 0x1f093}
   ,
+  {0x1f0a0, 0x1f0ae}
+  ,
+  {0x1f0b1, 0x1f0be}
+  ,
+  {0x1f0c1, 0x1f0cf}
+  ,
+  {0x1f0d1, 0x1f0df}
+  ,
   {0x1f100, 0x1f10a}
   ,
   {0x1f110, 0x1f12e}
   ,
-  {0x1f131, 0x1f131}
+  {0x1f130, 0x1f16b}
+  ,
+  {0x1f170, 0x1f19a}
   ,
-  {0x1f13d, 0x1f13d}
+  {0x1f1e6, 0x1f202}
   ,
-  {0x1f13f, 0x1f13f}
+  {0x1f210, 0x1f23a}
   ,
-  {0x1f142, 0x1f142}
+  {0x1f240, 0x1f248}
   ,
-  {0x1f146, 0x1f146}
+  {0x1f250, 0x1f251}
   ,
-  {0x1f14a, 0x1f14e}
+  {0x1f300, 0x1f320}
   ,
-  {0x1f157, 0x1f157}
+  {0x1f330, 0x1f335}
   ,
-  {0x1f15f, 0x1f15f}
+  {0x1f337, 0x1f37c}
   ,
-  {0x1f179, 0x1f179}
+  {0x1f380, 0x1f393}
   ,
-  {0x1f17b, 0x1f17c}
+  {0x1f3a0, 0x1f3c4}
   ,
-  {0x1f17f, 0x1f17f}
+  {0x1f3c6, 0x1f3ca}
   ,
-  {0x1f18a, 0x1f18d}
+  {0x1f3e0, 0x1f3f0}
   ,
-  {0x1f190, 0x1f190}
+  {0x1f400, 0x1f43e}
   ,
-  {0x1f200, 0x1f200}
+  {0x1f440, 0x1f440}
   ,
-  {0x1f210, 0x1f231}
+  {0x1f442, 0x1f4f7}
   ,
-  {0x1f240, 0x1f248}
+  {0x1f4f9, 0x1f4fc}
+  ,
+  {0x1f500, 0x1f53d}
+  ,
+  {0x1f540, 0x1f543}
+  ,
+  {0x1f550, 0x1f567}
+  ,
+  {0x1f5fb, 0x1f640}
+  ,
+  {0x1f645, 0x1f64f}
+  ,
+  {0x1f680, 0x1f6c5}
+  ,
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
   {0x2a700, 0x2b734}
   ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0001, 0xe0001}
@@ -7634,6 +8286,6 @@ scm_t_char_range cs_designated_ranges[] = {
 };
 
 scm_t_char_set cs_designated = {
-  485,
+  539,
   cs_designated_ranges
 };