degenerate let forms
[bpt/guile.git] / libguile / srfi-14.i.c
index 5ef21f3..42a1c2c 100644 (file)
@@ -2,7 +2,8 @@
 
 /* This file is #include'd by srfi-14.c.  */
 
-/* This file was generated from http://unicode.org/Public/UNIDATA/UnicodeData.txt
+/* This file was generated from
+   http://unicode.org/Public/UNIDATA/UnicodeData.txt
    with the unidata_to_charset.pl script.  */
 
 scm_t_char_range cs_lower_case_ranges[] = {
@@ -558,6 +559,10 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0x0523, 0x0523}
   ,
+  {0x0525, 0x0525}
+  ,
+  {0x0527, 0x0527}
+  ,
   {0x0561, 0x0587}
   ,
   {0x1930, 0x1938}
@@ -910,6 +915,8 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0xa65f, 0xa65f}
   ,
+  {0xa661, 0xa661}
+  ,
   {0xa663, 0xa663}
   ,
   {0xa665, 0xa665}
@@ -1042,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}
@@ -1050,11 +1075,13 @@ scm_t_char_range cs_lower_case_ranges[] = {
   ,
   {0x10428, 0x1044f}
   ,
+  {0x1f521, 0x1f521}
+  ,
   {0xe0061, 0xe007a}
 };
 
 scm_t_char_set cs_lower_case = {
-  523,
+  536,
   cs_lower_case_ranges
 };
 
@@ -1585,10 +1612,18 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0x0522, 0x0522}
   ,
+  {0x0524, 0x0524}
+  ,
+  {0x0526, 0x0526}
+  ,
   {0x0531, 0x0556}
   ,
   {0x10a0, 0x10c5}
   ,
+  {0x10c7, 0x10c7}
+  ,
+  {0x10cd, 0x10cd}
+  ,
   {0x1d7b, 0x1d7b}
   ,
   {0x1d7e, 0x1d7e}
@@ -1909,6 +1944,8 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa65e, 0xa65e}
   ,
+  {0xa660, 0xa660}
+  ,
   {0xa662, 0xa662}
   ,
   {0xa664, 0xa664}
@@ -2037,15 +2074,43 @@ scm_t_char_range cs_upper_case_ranges[] = {
   ,
   {0xa78b, 0xa78b}
   ,
+  {0xa78d, 0xa78d}
+  ,
+  {0xa790, 0xa790}
+  ,
+  {0xa792, 0xa792}
+  ,
+  {0xa7a0, 0xa7a0}
+  ,
+  {0xa7a2, 0xa7a2}
+  ,
+  {0xa7a4, 0xa7a4}
+  ,
+  {0xa7a6, 0xa7a6}
+  ,
+  {0xa7a8, 0xa7a8}
+  ,
+  {0xa7aa, 0xa7aa}
+  ,
   {0xff21, 0xff3a}
   ,
   {0x10400, 0x10427}
   ,
+  {0x1f110, 0x1f12c}
+  ,
+  {0x1f130, 0x1f149}
+  ,
+  {0x1f150, 0x1f169}
+  ,
+  {0x1f170, 0x1f18a}
+  ,
+  {0x1f520, 0x1f520}
+  ,
   {0xe0041, 0xe005a}
 };
 
 scm_t_char_set cs_upper_case = {
-  492,
+  511,
   cs_upper_case_ranges
 };
 
@@ -2119,7 +2184,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0523}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -2131,7 +2196,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x066e, 0x066f}
   ,
@@ -2161,6 +2226,20 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x07fa, 0x07fa}
   ,
+  {0x0800, 0x0815}
+  ,
+  {0x081a, 0x081a}
+  ,
+  {0x0824, 0x0824}
+  ,
+  {0x0828, 0x0828}
+  ,
+  {0x0840, 0x0858}
+  ,
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -2169,9 +2248,9 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0958, 0x0961}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
-  {0x097b, 0x097f}
+  {0x0979, 0x097f}
   ,
   {0x0985, 0x098c}
   ,
@@ -2307,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}
@@ -2369,7 +2450,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0ec6, 0x0ec6}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f00}
   ,
@@ -2377,7 +2458,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -2399,17 +2480,13 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10a0, 0x10c5}
   ,
-  {0x10d0, 0x10fa}
-  ,
-  {0x10fc, 0x10fc}
-  ,
-  {0x1100, 0x1159}
+  {0x10c7, 0x10c7}
   ,
-  {0x115f, 0x11a2}
+  {0x10cd, 0x10cd}
   ,
-  {0x11a8, 0x11f9}
+  {0x10d0, 0x10fa}
   ,
-  {0x1200, 0x1248}
+  {0x10fc, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -2447,7 +2524,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1401, 0x166c}
   ,
-  {0x166f, 0x1676}
+  {0x166f, 0x167f}
   ,
   {0x1681, 0x169a}
   ,
@@ -2477,18 +2554,24 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x18aa, 0x18aa}
   ,
+  {0x18b0, 0x18f5}
+  ,
   {0x1900, 0x191c}
   ,
   {0x1950, 0x196d}
   ,
   {0x1970, 0x1974}
   ,
-  {0x1980, 0x19a9}
+  {0x1980, 0x19ab}
   ,
   {0x19c1, 0x19c7}
   ,
   {0x1a00, 0x1a16}
   ,
+  {0x1a20, 0x1a54}
+  ,
+  {0x1aa7, 0x1aa7}
+  ,
   {0x1b05, 0x1b33}
   ,
   {0x1b45, 0x1b4b}
@@ -2497,12 +2580,20 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1bae, 0x1baf}
   ,
+  {0x1bba, 0x1be5}
+  ,
   {0x1c00, 0x1c23}
   ,
   {0x1c4d, 0x1c4f}
   ,
   {0x1c5a, 0x1c7d}
   ,
+  {0x1ce9, 0x1cec}
+  ,
+  {0x1cee, 0x1cf1}
+  ,
+  {0x1cf5, 0x1cf6}
+  ,
   {0x1d00, 0x1dbf}
   ,
   {0x1e00, 0x1f15}
@@ -2547,7 +2638,7 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -2581,15 +2672,19 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2c6f}
+  {0x2c60, 0x2ce4}
   ,
-  {0x2c71, 0x2c7d}
+  {0x2ceb, 0x2cee}
   ,
-  {0x2c80, 0x2ce4}
+  {0x2cf2, 0x2cf3}
   ,
   {0x2d00, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
+  ,
+  {0x2d2d, 0x2d2d}
+  ,
+  {0x2d30, 0x2d67}
   ,
   {0x2d6f, 0x2d6f}
   ,
@@ -2631,35 +2726,41 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
   {0x3400, 0x4db5}
   ,
-  {0x4e00, 0x9fc3}
+  {0x4e00, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
+  {0xa4d0, 0xa4fd}
+  ,
   {0xa500, 0xa60c}
   ,
   {0xa610, 0xa61f}
   ,
   {0xa62a, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
+  {0xa6a0, 0xa6e5}
+  ,
   {0xa717, 0xa71f}
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
+  ,
+  {0xa790, 0xa793}
   ,
-  {0xa7fb, 0xa801}
+  {0xa7a0, 0xa7aa}
+  ,
+  {0xa7f8, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -2671,21 +2772,67 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0xa882, 0xa8b3}
   ,
+  {0xa8f2, 0xa8f7}
+  ,
+  {0xa8fb, 0xa8fb}
+  ,
   {0xa90a, 0xa925}
   ,
   {0xa930, 0xa946}
   ,
+  {0xa960, 0xa97c}
+  ,
+  {0xa984, 0xa9b2}
+  ,
+  {0xa9cf, 0xa9cf}
+  ,
   {0xaa00, 0xaa28}
   ,
   {0xaa40, 0xaa42}
   ,
   {0xaa44, 0xaa4b}
   ,
+  {0xaa60, 0xaa76}
+  ,
+  {0xaa7a, 0xaa7a}
+  ,
+  {0xaa80, 0xaaaf}
+  ,
+  {0xaab1, 0xaab1}
+  ,
+  {0xaab5, 0xaab6}
+  ,
+  {0xaab9, 0xaabd}
+  ,
+  {0xaac0, 0xaac0}
+  ,
+  {0xaac2, 0xaac2}
+  ,
+  {0xaadb, 0xaadd}
+  ,
+  {0xaae0, 0xaaea}
+  ,
+  {0xaaf2, 0xaaf4}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
+  {0xabc0, 0xabe2}
+  ,
   {0xac00, 0xd7a3}
   ,
-  {0xf900, 0xfa2d}
+  {0xd7b0, 0xd7c6}
+  ,
+  {0xd7cb, 0xd7fb}
   ,
-  {0xfa30, 0xfa6a}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -2777,12 +2924,16 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x1083c, 0x1083c}
   ,
-  {0x1083f, 0x1083f}
+  {0x1083f, 0x10855}
   ,
   {0x10900, 0x10915}
   ,
   {0x10920, 0x10939}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a00}
   ,
   {0x10a10, 0x10a13}
@@ -2791,8 +2942,44 @@ scm_t_char_range cs_letter_ranges[] = {
   ,
   {0x10a19, 0x10a33}
   ,
+  {0x10a60, 0x10a7c}
+  ,
+  {0x10b00, 0x10b35}
+  ,
+  {0x10b40, 0x10b55}
+  ,
+  {0x10b60, 0x10b72}
+  ,
+  {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}
@@ -2853,13 +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 = {
-  390,
+  486,
   cs_letter_ranges
 };
 
@@ -2908,6 +3165,10 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0x19d0, 0x19d9}
   ,
+  {0x1a80, 0x1a89}
+  ,
+  {0x1a90, 0x1a99}
+  ,
   {0x1b50, 0x1b59}
   ,
   {0x1bb0, 0x1bb9}
@@ -2922,17 +3183,31 @@ scm_t_char_range cs_digit_ranges[] = {
   ,
   {0xa900, 0xa909}
   ,
+  {0xa9d0, 0xa9d9}
+  ,
   {0xaa50, 0xaa59}
   ,
+  {0xabf0, 0xabf9}
+  ,
   {0xff10, 0xff19}
   ,
   {0x104a0, 0x104a9}
   ,
+  {0x11066, 0x1106f}
+  ,
+  {0x110f0, 0x110f9}
+  ,
+  {0x11136, 0x1113f}
+  ,
+  {0x111d0, 0x111d9}
+  ,
+  {0x116c0, 0x116c9}
+  ,
   {0x1d7ce, 0x1d7ff}
 };
 
 scm_t_char_set cs_digit = {
-  33,
+  42,
   cs_digit_ranges
 };
 
@@ -2994,7 +3269,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x03f7, 0x0481}
   ,
-  {0x048a, 0x0523}
+  {0x048a, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -3006,7 +3281,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x05f0, 0x05f2}
   ,
-  {0x0621, 0x064a}
+  {0x0620, 0x064a}
   ,
   {0x0660, 0x0669}
   ,
@@ -3036,6 +3311,20 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x07fa, 0x07fa}
   ,
+  {0x0800, 0x0815}
+  ,
+  {0x081a, 0x081a}
+  ,
+  {0x0824, 0x0824}
+  ,
+  {0x0828, 0x0828}
+  ,
+  {0x0840, 0x0858}
+  ,
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
   {0x0904, 0x0939}
   ,
   {0x093d, 0x093d}
@@ -3046,9 +3335,9 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0966, 0x096f}
   ,
-  {0x0971, 0x0972}
+  {0x0971, 0x0977}
   ,
-  {0x097b, 0x097f}
+  {0x0979, 0x097f}
   ,
   {0x0985, 0x098c}
   ,
@@ -3196,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}
@@ -3264,7 +3555,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f00}
   ,
@@ -3274,7 +3565,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f88, 0x0f8b}
+  {0x0f88, 0x0f8c}
   ,
   {0x1000, 0x102a}
   ,
@@ -3298,17 +3589,13 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10a0, 0x10c5}
   ,
-  {0x10d0, 0x10fa}
-  ,
-  {0x10fc, 0x10fc}
-  ,
-  {0x1100, 0x1159}
+  {0x10c7, 0x10c7}
   ,
-  {0x115f, 0x11a2}
+  {0x10cd, 0x10cd}
   ,
-  {0x11a8, 0x11f9}
+  {0x10d0, 0x10fa}
   ,
-  {0x1200, 0x1248}
+  {0x10fc, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -3346,7 +3633,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1401, 0x166c}
   ,
-  {0x166f, 0x1676}
+  {0x166f, 0x167f}
   ,
   {0x1681, 0x169a}
   ,
@@ -3380,13 +3667,15 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x18aa, 0x18aa}
   ,
+  {0x18b0, 0x18f5}
+  ,
   {0x1900, 0x191c}
   ,
   {0x1946, 0x196d}
   ,
   {0x1970, 0x1974}
   ,
-  {0x1980, 0x19a9}
+  {0x1980, 0x19ab}
   ,
   {0x19c1, 0x19c7}
   ,
@@ -3394,6 +3683,14 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1a00, 0x1a16}
   ,
+  {0x1a20, 0x1a54}
+  ,
+  {0x1a80, 0x1a89}
+  ,
+  {0x1a90, 0x1a99}
+  ,
+  {0x1aa7, 0x1aa7}
+  ,
   {0x1b05, 0x1b33}
   ,
   {0x1b45, 0x1b4b}
@@ -3402,7 +3699,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1b83, 0x1ba0}
   ,
-  {0x1bae, 0x1bb9}
+  {0x1bae, 0x1be5}
   ,
   {0x1c00, 0x1c23}
   ,
@@ -3410,6 +3707,12 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1c4d, 0x1c7d}
   ,
+  {0x1ce9, 0x1cec}
+  ,
+  {0x1cee, 0x1cf1}
+  ,
+  {0x1cf5, 0x1cf6}
+  ,
   {0x1d00, 0x1dbf}
   ,
   {0x1e00, 0x1f15}
@@ -3454,7 +3757,7 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x207f, 0x207f}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
   {0x2102, 0x2102}
   ,
@@ -3488,15 +3791,19 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2c6f}
+  {0x2c60, 0x2ce4}
   ,
-  {0x2c71, 0x2c7d}
+  {0x2ceb, 0x2cee}
   ,
-  {0x2c80, 0x2ce4}
+  {0x2cf2, 0x2cf3}
   ,
   {0x2d00, 0x2d25}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d27, 0x2d27}
+  ,
+  {0x2d2d, 0x2d2d}
+  ,
+  {0x2d30, 0x2d67}
   ,
   {0x2d6f, 0x2d6f}
   ,
@@ -3538,33 +3845,39 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x31a0, 0x31b7}
+  {0x31a0, 0x31ba}
   ,
   {0x31f0, 0x31ff}
   ,
   {0x3400, 0x4db5}
   ,
-  {0x4e00, 0x9fc3}
+  {0x4e00, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
+  {0xa4d0, 0xa4fd}
+  ,
   {0xa500, 0xa60c}
   ,
   {0xa610, 0xa62b}
   ,
-  {0xa640, 0xa65f}
-  ,
-  {0xa662, 0xa66e}
+  {0xa640, 0xa66e}
   ,
   {0xa67f, 0xa697}
   ,
+  {0xa6a0, 0xa6e5}
+  ,
   {0xa717, 0xa71f}
   ,
   {0xa722, 0xa788}
   ,
-  {0xa78b, 0xa78c}
+  {0xa78b, 0xa78e}
   ,
-  {0xa7fb, 0xa801}
+  {0xa790, 0xa793}
+  ,
+  {0xa7a0, 0xa7aa}
+  ,
+  {0xa7f8, 0xa801}
   ,
   {0xa803, 0xa805}
   ,
@@ -3578,10 +3891,20 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xa8d0, 0xa8d9}
   ,
+  {0xa8f2, 0xa8f7}
+  ,
+  {0xa8fb, 0xa8fb}
+  ,
   {0xa900, 0xa925}
   ,
   {0xa930, 0xa946}
   ,
+  {0xa960, 0xa97c}
+  ,
+  {0xa984, 0xa9b2}
+  ,
+  {0xa9cf, 0xa9d9}
+  ,
   {0xaa00, 0xaa28}
   ,
   {0xaa40, 0xaa42}
@@ -3590,11 +3913,49 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0xaa50, 0xaa59}
   ,
+  {0xaa60, 0xaa76}
+  ,
+  {0xaa7a, 0xaa7a}
+  ,
+  {0xaa80, 0xaaaf}
+  ,
+  {0xaab1, 0xaab1}
+  ,
+  {0xaab5, 0xaab6}
+  ,
+  {0xaab9, 0xaabd}
+  ,
+  {0xaac0, 0xaac0}
+  ,
+  {0xaac2, 0xaac2}
+  ,
+  {0xaadb, 0xaadd}
+  ,
+  {0xaae0, 0xaaea}
+  ,
+  {0xaaf2, 0xaaf4}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
+  {0xabc0, 0xabe2}
+  ,
+  {0xabf0, 0xabf9}
+  ,
   {0xac00, 0xd7a3}
   ,
-  {0xf900, 0xfa2d}
+  {0xd7b0, 0xd7c6}
+  ,
+  {0xd7cb, 0xd7fb}
   ,
-  {0xfa30, 0xfa6a}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -3690,12 +4051,16 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1083c, 0x1083c}
   ,
-  {0x1083f, 0x1083f}
+  {0x1083f, 0x10855}
   ,
   {0x10900, 0x10915}
   ,
   {0x10920, 0x10939}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a00}
   ,
   {0x10a10, 0x10a13}
@@ -3704,8 +4069,54 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x10a19, 0x10a33}
   ,
+  {0x10a60, 0x10a7c}
+  ,
+  {0x10b00, 0x10b35}
+  ,
+  {0x10b40, 0x10b55}
+  ,
+  {0x10b60, 0x10b72}
+  ,
+  {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}
@@ -3768,72 +4179,148 @@ scm_t_char_range cs_letter_plus_digit_ranges[] = {
   ,
   {0x1d7ce, 0x1d7ff}
   ,
-  {0x20000, 0x2a6d6}
+  {0x1ee00, 0x1ee03}
   ,
-  {0x2f800, 0x2fa1d}
-};
-
-scm_t_char_set cs_letter_plus_digit = {
-  411,
-  cs_letter_plus_digit_ranges
-};
-
-scm_t_char_range cs_graphic_ranges[] = {
-  {0x0021, 0x007e}
+  {0x1ee05, 0x1ee1f}
   ,
-  {0x00a1, 0x00ac}
+  {0x1ee21, 0x1ee22}
   ,
-  {0x00ae, 0x0377}
+  {0x1ee24, 0x1ee24}
   ,
-  {0x037a, 0x037e}
+  {0x1ee27, 0x1ee27}
   ,
-  {0x0384, 0x038a}
+  {0x1ee29, 0x1ee32}
   ,
-  {0x038c, 0x038c}
+  {0x1ee34, 0x1ee37}
   ,
-  {0x038e, 0x03a1}
+  {0x1ee39, 0x1ee39}
   ,
-  {0x03a3, 0x0523}
+  {0x1ee3b, 0x1ee3b}
   ,
-  {0x0531, 0x0556}
+  {0x1ee42, 0x1ee42}
   ,
-  {0x0559, 0x055f}
+  {0x1ee47, 0x1ee47}
   ,
-  {0x0561, 0x0587}
+  {0x1ee49, 0x1ee49}
   ,
-  {0x0589, 0x058a}
+  {0x1ee4b, 0x1ee4b}
   ,
-  {0x0591, 0x05c7}
+  {0x1ee4d, 0x1ee4f}
   ,
-  {0x05d0, 0x05ea}
+  {0x1ee51, 0x1ee52}
   ,
-  {0x05f0, 0x05f4}
+  {0x1ee54, 0x1ee54}
   ,
-  {0x0606, 0x061b}
+  {0x1ee57, 0x1ee57}
   ,
-  {0x061e, 0x061f}
+  {0x1ee59, 0x1ee59}
   ,
-  {0x0621, 0x065e}
+  {0x1ee5b, 0x1ee5b}
   ,
-  {0x0660, 0x06dc}
+  {0x1ee5d, 0x1ee5d}
   ,
-  {0x06de, 0x070d}
+  {0x1ee5f, 0x1ee5f}
   ,
-  {0x0710, 0x074a}
+  {0x1ee61, 0x1ee62}
   ,
-  {0x074d, 0x07b1}
+  {0x1ee64, 0x1ee64}
   ,
-  {0x07c0, 0x07fa}
+  {0x1ee67, 0x1ee6a}
   ,
-  {0x0901, 0x0939}
+  {0x1ee6c, 0x1ee72}
   ,
-  {0x093c, 0x094d}
+  {0x1ee74, 0x1ee77}
   ,
-  {0x0950, 0x0954}
+  {0x1ee79, 0x1ee7c}
   ,
-  {0x0958, 0x0972}
+  {0x1ee7e, 0x1ee7e}
   ,
-  {0x097b, 0x097f}
+  {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 = {
+  514,
+  cs_letter_plus_digit_ranges
+};
+
+scm_t_char_range cs_graphic_ranges[] = {
+  {0x0021, 0x007e}
+  ,
+  {0x00a1, 0x00ac}
+  ,
+  {0x00ae, 0x0377}
+  ,
+  {0x037a, 0x037e}
+  ,
+  {0x0384, 0x038a}
+  ,
+  {0x038c, 0x038c}
+  ,
+  {0x038e, 0x03a1}
+  ,
+  {0x03a3, 0x0527}
+  ,
+  {0x0531, 0x0556}
+  ,
+  {0x0559, 0x055f}
+  ,
+  {0x0561, 0x0587}
+  ,
+  {0x0589, 0x058a}
+  ,
+  {0x058f, 0x058f}
+  ,
+  {0x0591, 0x05c7}
+  ,
+  {0x05d0, 0x05ea}
+  ,
+  {0x05f0, 0x05f4}
+  ,
+  {0x0606, 0x061b}
+  ,
+  {0x061e, 0x06dc}
+  ,
+  {0x06de, 0x070d}
+  ,
+  {0x0710, 0x074a}
+  ,
+  {0x074d, 0x07b1}
+  ,
+  {0x07c0, 0x07fa}
+  ,
+  {0x0800, 0x082d}
+  ,
+  {0x0830, 0x083e}
+  ,
+  {0x0840, 0x085b}
+  ,
+  {0x085e, 0x085e}
+  ,
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
+  {0x08e4, 0x08fe}
+  ,
+  {0x0900, 0x0977}
+  ,
+  {0x0979, 0x097f}
   ,
   {0x0981, 0x0983}
   ,
@@ -3861,7 +4348,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x09df, 0x09e3}
   ,
-  {0x09e6, 0x09fa}
+  {0x09e6, 0x09fb}
   ,
   {0x0a01, 0x0a03}
   ,
@@ -3919,9 +4406,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -3949,7 +4434,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -4045,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}
   ,
@@ -4123,35 +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, 0x0fd4}
-  ,
-  {0x1000, 0x1099}
-  ,
-  {0x109e, 0x10c5}
+  {0x0fce, 0x0fda}
   ,
-  {0x10d0, 0x10fc}
+  {0x1000, 0x10c5}
   ,
-  {0x1100, 0x1159}
+  {0x10c7, 0x10c7}
   ,
-  {0x115f, 0x11a2}
+  {0x10cd, 0x10cd}
   ,
-  {0x11a8, 0x11f9}
-  ,
-  {0x1200, 0x1248}
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -4183,13 +4658,13 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
   {0x13a0, 0x13f4}
   ,
-  {0x1401, 0x1676}
+  {0x1400, 0x167f}
   ,
   {0x1681, 0x169c}
   ,
@@ -4209,9 +4684,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1772, 0x1773}
   ,
-  {0x1780, 0x17b3}
-  ,
-  {0x17b6, 0x17dd}
+  {0x1780, 0x17dd}
   ,
   {0x17e0, 0x17e9}
   ,
@@ -4225,6 +4698,8 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1880, 0x18aa}
   ,
+  {0x18b0, 0x18f5}
+  ,
   {0x1900, 0x191c}
   ,
   {0x1920, 0x192b}
@@ -4237,33 +4712,43 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1970, 0x1974}
   ,
-  {0x1980, 0x19a9}
+  {0x1980, 0x19ab}
   ,
   {0x19b0, 0x19c9}
   ,
-  {0x19d0, 0x19d9}
+  {0x19d0, 0x19da}
   ,
   {0x19de, 0x1a1b}
   ,
-  {0x1a1e, 0x1a1f}
+  {0x1a1e, 0x1a5e}
+  ,
+  {0x1a60, 0x1a7c}
+  ,
+  {0x1a7f, 0x1a89}
+  ,
+  {0x1a90, 0x1a99}
+  ,
+  {0x1aa0, 0x1aad}
   ,
   {0x1b00, 0x1b4b}
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
-  ,
-  {0x1bae, 0x1bb9}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
+  ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfe, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -4303,75 +4788,43 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b5}
+  {0x20a0, 0x20ba}
   ,
   {0x20d0, 0x20f0}
   ,
-  {0x2100, 0x214f}
-  ,
-  {0x2153, 0x2188}
+  {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e7}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x269d}
-  ,
-  {0x26a0, 0x26bc}
-  ,
-  {0x26c0, 0x26c3}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x2756}
+  {0x2460, 0x26ff}
   ,
-  {0x2758, 0x275e}
+  {0x2701, 0x2b4c}
   ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x2b4c}
-  ,
-  {0x2b50, 0x2b54}
+  {0x2b50, 0x2b59}
   ,
   {0x2c00, 0x2c2e}
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2c6f}
+  {0x2c60, 0x2cf3}
   ,
-  {0x2c71, 0x2c7d}
+  {0x2cf9, 0x2d25}
   ,
-  {0x2c80, 0x2cea}
+  {0x2d27, 0x2d27}
   ,
-  {0x2cf9, 0x2d25}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d30, 0x2d67}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -4389,7 +4842,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e30}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -4409,35 +4862,37 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
   {0x31f0, 0x321e}
   ,
-  {0x3220, 0x3243}
-  ,
-  {0x3250, 0x32fe}
+  {0x3220, 0x32fe}
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fc3}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
   {0xa490, 0xa4c6}
   ,
-  {0xa500, 0xa62b}
+  {0xa4d0, 0xa62b}
+  ,
+  {0xa640, 0xa697}
+  ,
+  {0xa69f, 0xa6f7}
   ,
-  {0xa640, 0xa65f}
+  {0xa700, 0xa78e}
   ,
-  {0xa662, 0xa673}
+  {0xa790, 0xa793}
   ,
-  {0xa67c, 0xa697}
+  {0xa7a0, 0xa7aa}
   ,
-  {0xa700, 0xa78c}
+  {0xa7f8, 0xa82b}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa830, 0xa839}
   ,
   {0xa840, 0xa877}
   ,
@@ -4445,9 +4900,17 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xa8ce, 0xa8d9}
   ,
+  {0xa8e0, 0xa8fb}
+  ,
   {0xa900, 0xa953}
   ,
-  {0xa95f, 0xa95f}
+  {0xa95f, 0xa97c}
+  ,
+  {0xa980, 0xa9cd}
+  ,
+  {0xa9cf, 0xa9d9}
+  ,
+  {0xa9de, 0xa9df}
   ,
   {0xaa00, 0xaa36}
   ,
@@ -4455,13 +4918,33 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xaa50, 0xaa59}
   ,
-  {0xaa5c, 0xaa5f}
+  {0xaa5c, 0xaa7b}
+  ,
+  {0xaa80, 0xaac2}
+  ,
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
+  {0xabc0, 0xabed}
+  ,
+  {0xabf0, 0xabf9}
   ,
   {0xac00, 0xd7a3}
   ,
-  {0xf900, 0xfa2d}
+  {0xd7b0, 0xd7c6}
   ,
-  {0xfa30, 0xfa6a}
+  {0xd7cb, 0xd7fb}
+  ,
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -4479,7 +4962,7 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -4573,14 +5056,20 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x1083c, 0x1083c}
   ,
-  {0x1083f, 0x1083f}
+  {0x1083f, 0x10855}
+  ,
+  {0x10857, 0x1085f}
   ,
-  {0x10900, 0x10919}
+  {0x10900, 0x1091b}
   ,
   {0x1091f, 0x10939}
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -4597,12 +5086,62 @@ scm_t_char_range cs_graphic_ranges[] = {
   ,
   {0x10a50, 0x10a58}
   ,
+  {0x10a60, 0x10a7f}
+  ,
+  {0x10b00, 0x10b35}
+  ,
+  {0x10b39, 0x10b55}
+  ,
+  {0x10b58, 0x10b72}
+  ,
+  {0x10b78, 0x10b7f}
+  ,
+  {0x10c00, 0x10c48}
+  ,
+  {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}
   ,
   {0x12470, 0x12473}
   ,
+  {0x13000, 0x1342e}
+  ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -4659,19 +5198,151 @@ scm_t_char_range cs_graphic_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}
+  ,
+  {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 = {
-  445,
+  540,
   cs_graphic_ranges
 };
 
@@ -4719,7 +5390,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0523}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -4729,6 +5400,8 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0589, 0x058a}
   ,
+  {0x058f, 0x058f}
+  ,
   {0x0591, 0x05c7}
   ,
   {0x05d0, 0x05ea}
@@ -4737,11 +5410,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0606, 0x061b}
   ,
-  {0x061e, 0x061f}
-  ,
-  {0x0621, 0x065e}
-  ,
-  {0x0660, 0x06dc}
+  {0x061e, 0x06dc}
   ,
   {0x06de, 0x070d}
   ,
@@ -4751,15 +5420,23 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x07c0, 0x07fa}
   ,
-  {0x0901, 0x0939}
+  {0x0800, 0x082d}
   ,
-  {0x093c, 0x094d}
+  {0x0830, 0x083e}
   ,
-  {0x0950, 0x0954}
+  {0x0840, 0x085b}
   ,
-  {0x0958, 0x0972}
+  {0x085e, 0x085e}
   ,
-  {0x097b, 0x097f}
+  {0x08a0, 0x08a0}
+  ,
+  {0x08a2, 0x08ac}
+  ,
+  {0x08e4, 0x08fe}
+  ,
+  {0x0900, 0x0977}
+  ,
+  {0x0979, 0x097f}
   ,
   {0x0981, 0x0983}
   ,
@@ -4787,7 +5464,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x09df, 0x09e3}
   ,
-  {0x09e6, 0x09fa}
+  {0x09e6, 0x09fb}
   ,
   {0x0a01, 0x0a03}
   ,
@@ -4845,9 +5522,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -4875,7 +5550,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -4971,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}
   ,
@@ -5049,35 +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, 0x0fd4}
-  ,
-  {0x1000, 0x1099}
-  ,
-  {0x109e, 0x10c5}
-  ,
-  {0x10d0, 0x10fc}
+  {0x0fce, 0x0fda}
   ,
-  {0x1100, 0x1159}
+  {0x1000, 0x10c5}
   ,
-  {0x115f, 0x11a2}
+  {0x10c7, 0x10c7}
   ,
-  {0x11a8, 0x11f9}
+  {0x10cd, 0x10cd}
   ,
-  {0x1200, 0x1248}
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -5109,15 +5774,13 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
   {0x13a0, 0x13f4}
   ,
-  {0x1401, 0x1676}
-  ,
-  {0x1680, 0x169c}
+  {0x1400, 0x169c}
   ,
   {0x16a0, 0x16f0}
   ,
@@ -5135,9 +5798,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1772, 0x1773}
   ,
-  {0x1780, 0x17b3}
-  ,
-  {0x17b6, 0x17dd}
+  {0x1780, 0x17dd}
   ,
   {0x17e0, 0x17e9}
   ,
@@ -5151,6 +5812,8 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1880, 0x18aa}
   ,
+  {0x18b0, 0x18f5}
+  ,
   {0x1900, 0x191c}
   ,
   {0x1920, 0x192b}
@@ -5163,33 +5826,43 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1970, 0x1974}
   ,
-  {0x1980, 0x19a9}
+  {0x1980, 0x19ab}
   ,
   {0x19b0, 0x19c9}
   ,
-  {0x19d0, 0x19d9}
+  {0x19d0, 0x19da}
   ,
   {0x19de, 0x1a1b}
   ,
-  {0x1a1e, 0x1a1f}
+  {0x1a1e, 0x1a5e}
+  ,
+  {0x1a60, 0x1a7c}
+  ,
+  {0x1a7f, 0x1a89}
+  ,
+  {0x1a90, 0x1a99}
+  ,
+  {0x1aa0, 0x1aad}
   ,
   {0x1b00, 0x1b4b}
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
-  ,
-  {0x1bae, 0x1bb9}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
+  ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfe, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -5231,75 +5904,43 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b5}
+  {0x20a0, 0x20ba}
   ,
   {0x20d0, 0x20f0}
   ,
-  {0x2100, 0x214f}
-  ,
-  {0x2153, 0x2188}
+  {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e7}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x269d}
-  ,
-  {0x26a0, 0x26bc}
-  ,
-  {0x26c0, 0x26c3}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
-  ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x2756}
-  ,
-  {0x2758, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
+  {0x2460, 0x26ff}
   ,
-  {0x27d0, 0x2b4c}
+  {0x2701, 0x2b4c}
   ,
-  {0x2b50, 0x2b54}
+  {0x2b50, 0x2b59}
   ,
   {0x2c00, 0x2c2e}
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2c6f}
+  {0x2c60, 0x2cf3}
   ,
-  {0x2c71, 0x2c7d}
+  {0x2cf9, 0x2d25}
   ,
-  {0x2c80, 0x2cea}
+  {0x2d27, 0x2d27}
   ,
-  {0x2cf9, 0x2d25}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d30, 0x2d67}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -5317,7 +5958,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e30}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -5337,35 +5978,37 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
   {0x31f0, 0x321e}
   ,
-  {0x3220, 0x3243}
-  ,
-  {0x3250, 0x32fe}
+  {0x3220, 0x32fe}
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fc3}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
   {0xa490, 0xa4c6}
   ,
-  {0xa500, 0xa62b}
+  {0xa4d0, 0xa62b}
+  ,
+  {0xa640, 0xa697}
   ,
-  {0xa640, 0xa65f}
+  {0xa69f, 0xa6f7}
   ,
-  {0xa662, 0xa673}
+  {0xa700, 0xa78e}
   ,
-  {0xa67c, 0xa697}
+  {0xa790, 0xa793}
   ,
-  {0xa700, 0xa78c}
+  {0xa7a0, 0xa7aa}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7f8, 0xa82b}
+  ,
+  {0xa830, 0xa839}
   ,
   {0xa840, 0xa877}
   ,
@@ -5373,9 +6016,17 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xa8ce, 0xa8d9}
   ,
+  {0xa8e0, 0xa8fb}
+  ,
   {0xa900, 0xa953}
   ,
-  {0xa95f, 0xa95f}
+  {0xa95f, 0xa97c}
+  ,
+  {0xa980, 0xa9cd}
+  ,
+  {0xa9cf, 0xa9d9}
+  ,
+  {0xa9de, 0xa9df}
   ,
   {0xaa00, 0xaa36}
   ,
@@ -5383,13 +6034,33 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xaa50, 0xaa59}
   ,
-  {0xaa5c, 0xaa5f}
+  {0xaa5c, 0xaa7b}
+  ,
+  {0xaa80, 0xaac2}
+  ,
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
+  {0xabc0, 0xabed}
+  ,
+  {0xabf0, 0xabf9}
   ,
   {0xac00, 0xd7a3}
   ,
-  {0xf900, 0xfa2d}
+  {0xd7b0, 0xd7c6}
+  ,
+  {0xd7cb, 0xd7fb}
   ,
-  {0xfa30, 0xfa6a}
+  {0xf900, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -5407,7 +6078,7 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -5501,14 +6172,20 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1083c, 0x1083c}
   ,
-  {0x1083f, 0x1083f}
+  {0x1083f, 0x10855}
   ,
-  {0x10900, 0x10919}
+  {0x10857, 0x1085f}
+  ,
+  {0x10900, 0x1091b}
   ,
   {0x1091f, 0x10939}
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -5525,12 +6202,62 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x10a50, 0x10a58}
   ,
+  {0x10a60, 0x10a7f}
+  ,
+  {0x10b00, 0x10b35}
+  ,
+  {0x10b39, 0x10b55}
+  ,
+  {0x10b58, 0x10b72}
+  ,
+  {0x10b78, 0x10b7f}
+  ,
+  {0x10c00, 0x10c48}
+  ,
+  {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}
   ,
   {0x12470, 0x12473}
   ,
+  {0x13000, 0x1342e}
+  ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -5583,23 +6310,155 @@ scm_t_char_range cs_printing_ranges[] = {
   ,
   {0x1d552, 0x1d6a5}
   ,
-  {0x1d6a8, 0x1d7cb}
+  {0x1d6a8, 0x1d7cb}
+  ,
+  {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}
+  ,
+  {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}
   ,
-  {0x1d7ce, 0x1d7ff}
+  {0x1f645, 0x1f64f}
   ,
-  {0x1f000, 0x1f02b}
+  {0x1f680, 0x1f6c5}
   ,
-  {0x1f030, 0x1f093}
+  {0x1f700, 0x1f773}
   ,
   {0x20000, 0x2a6d6}
   ,
+  {0x2a700, 0x2b734}
+  ,
+  {0x2b740, 0x2b81d}
+  ,
   {0x2f800, 0x2fa1d}
   ,
   {0xe0100, 0xe01ef}
 };
 
 scm_t_char_set cs_printing = {
-  447,
+  541,
   cs_printing_ranges
 };
 
@@ -5635,9 +6494,11 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x00a1, 0x00a1}
   ,
+  {0x00a7, 0x00a7}
+  ,
   {0x00ab, 0x00ab}
   ,
-  {0x00b7, 0x00b7}
+  {0x00b6, 0x00b7}
   ,
   {0x00bb, 0x00bb}
   ,
@@ -5677,10 +6538,16 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x07f7, 0x07f9}
   ,
+  {0x0830, 0x083e}
+  ,
+  {0x085e, 0x085e}
+  ,
   {0x0964, 0x0965}
   ,
   {0x0970, 0x0970}
   ,
+  {0x0af0, 0x0af0}
+  ,
   {0x0df4, 0x0df4}
   ,
   {0x0e4f, 0x0e4f}
@@ -5689,17 +6556,23 @@ 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}
   ,
   {0x166d, 0x166e}
   ,
@@ -5717,16 +6590,24 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x1944, 0x1945}
   ,
-  {0x19de, 0x19df}
-  ,
   {0x1a1e, 0x1a1f}
   ,
+  {0x1aa0, 0x1aa6}
+  ,
+  {0x1aa8, 0x1aad}
+  ,
   {0x1b5a, 0x1b60}
   ,
+  {0x1bfc, 0x1bff}
+  ,
   {0x1c3b, 0x1c3f}
   ,
   {0x1c7e, 0x1c7f}
   ,
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd3, 0x1cd3}
+  ,
   {0x2010, 0x2027}
   ,
   {0x2030, 0x2043}
@@ -5757,9 +6638,11 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x2cfe, 0x2cff}
   ,
+  {0x2d70, 0x2d70}
+  ,
   {0x2e00, 0x2e2e}
   ,
-  {0x2e30, 0x2e30}
+  {0x2e30, 0x2e3b}
   ,
   {0x3001, 0x3003}
   ,
@@ -5775,22 +6658,38 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0x30fb, 0x30fb}
   ,
+  {0xa4fe, 0xa4ff}
+  ,
   {0xa60d, 0xa60f}
   ,
   {0xa673, 0xa673}
   ,
   {0xa67e, 0xa67e}
   ,
+  {0xa6f2, 0xa6f7}
+  ,
   {0xa874, 0xa877}
   ,
   {0xa8ce, 0xa8cf}
   ,
+  {0xa8f8, 0xa8fa}
+  ,
   {0xa92e, 0xa92f}
   ,
   {0xa95f, 0xa95f}
   ,
+  {0xa9c1, 0xa9cd}
+  ,
+  {0xa9de, 0xa9df}
+  ,
   {0xaa5c, 0xaa5f}
   ,
+  {0xaade, 0xaadf}
+  ,
+  {0xaaf0, 0xaaf1}
+  ,
+  {0xabeb, 0xabeb}
+  ,
   {0xfd3e, 0xfd3f}
   ,
   {0xfe10, 0xfe19}
@@ -5825,23 +6724,39 @@ scm_t_char_range cs_punctuation_ranges[] = {
   ,
   {0xff5f, 0xff65}
   ,
-  {0x10100, 0x10101}
+  {0x10100, 0x10102}
   ,
   {0x1039f, 0x1039f}
   ,
   {0x103d0, 0x103d0}
   ,
+  {0x10857, 0x10857}
+  ,
   {0x1091f, 0x1091f}
   ,
   {0x1093f, 0x1093f}
   ,
   {0x10a50, 0x10a58}
   ,
+  {0x10a7f, 0x10a7f}
+  ,
+  {0x10b39, 0x10b3f}
+  ,
+  {0x11047, 0x1104d}
+  ,
+  {0x110bb, 0x110bc}
+  ,
+  {0x110be, 0x110c1}
+  ,
+  {0x11140, 0x11143}
+  ,
+  {0x111c5, 0x111c8}
+  ,
   {0x12470, 0x12473}
 };
 
 scm_t_char_set cs_punctuation = {
-  112,
+  140,
   cs_punctuation_ranges
 };
 
@@ -5860,7 +6775,9 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x007e, 0x007e}
   ,
-  {0x00a2, 0x00a9}
+  {0x00a2, 0x00a6}
+  ,
+  {0x00a8, 0x00a9}
   ,
   {0x00ac, 0x00ac}
   ,
@@ -5868,8 +6785,6 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x00b4, 0x00b4}
   ,
-  {0x00b6, 0x00b6}
-  ,
   {0x00b8, 0x00b8}
   ,
   {0x00d7, 0x00d7}
@@ -5894,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}
@@ -5908,7 +6827,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x09f2, 0x09f3}
   ,
-  {0x09fa, 0x09fa}
+  {0x09fa, 0x09fb}
   ,
   {0x0af1, 0x0af1}
   ,
@@ -5918,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}
   ,
@@ -5942,9 +6861,9 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x0fce, 0x0fcf}
   ,
-  {0x109e, 0x109f}
+  {0x0fd5, 0x0fd8}
   ,
-  {0x1360, 0x1360}
+  {0x109e, 0x109f}
   ,
   {0x1390, 0x1399}
   ,
@@ -5952,7 +6871,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x1940, 0x1940}
   ,
-  {0x19e0, 0x19ff}
+  {0x19de, 0x19ff}
   ,
   {0x1b61, 0x1b6a}
   ,
@@ -5978,7 +6897,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x208a, 0x208c}
   ,
-  {0x20a0, 0x20b5}
+  {0x20a0, 0x20ba}
   ,
   {0x2100, 0x2101}
   ,
@@ -6010,7 +6929,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x2190, 0x2328}
   ,
-  {0x232b, 0x23e7}
+  {0x232b, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
@@ -6018,43 +6937,13 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x249c, 0x24e9}
   ,
-  {0x2500, 0x269d}
-  ,
-  {0x26a0, 0x26bc}
-  ,
-  {0x26c0, 0x26c3}
+  {0x2500, 0x26ff}
   ,
-  {0x2701, 0x2704}
+  {0x2701, 0x2767}
   ,
-  {0x2706, 0x2709}
+  {0x2794, 0x27c4}
   ,
-  {0x270c, 0x2727}
-  ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x2756}
-  ,
-  {0x2758, 0x275e}
-  ,
-  {0x2761, 0x2767}
-  ,
-  {0x2794, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27c4}
-  ,
-  {0x27c7, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x27e5}
+  {0x27c7, 0x27e5}
   ,
   {0x27f0, 0x2982}
   ,
@@ -6064,7 +6953,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x29fe, 0x2b4c}
   ,
-  {0x2b50, 0x2b54}
+  {0x2b50, 0x2b59}
   ,
   {0x2ce5, 0x2cea}
   ,
@@ -6096,7 +6985,7 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0x3200, 0x321e}
   ,
-  {0x322a, 0x3243}
+  {0x322a, 0x3247}
   ,
   {0x3250, 0x3250}
   ,
@@ -6120,8 +7009,14 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0xa828, 0xa82b}
   ,
+  {0xa836, 0xa839}
+  ,
+  {0xaa77, 0xaa79}
+  ,
   {0xfb29, 0xfb29}
   ,
+  {0xfbb2, 0xfbc1}
+  ,
   {0xfdfc, 0xfdfd}
   ,
   {0xfe62, 0xfe62}
@@ -6150,8 +7045,6 @@ scm_t_char_range cs_symbol_ranges[] = {
   ,
   {0xfffc, 0xfffd}
   ,
-  {0x10102, 0x10102}
-  ,
   {0x10137, 0x1013f}
   ,
   {0x10179, 0x10189}
@@ -6200,13 +7093,73 @@ 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}
+  ,
+  {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}
 };
 
 scm_t_char_set cs_symbol = {
-  179,
+  198,
   cs_symbol_ranges
 };
 
@@ -6240,7 +7193,7 @@ scm_t_char_range cs_ascii_ranges[] = {
 };
 
 scm_t_char_set cs_ascii = {
-  0,
+  1,
   cs_ascii_ranges
 };
 
@@ -6252,7 +7205,7 @@ scm_t_char_set cs_empty = {
   cs_empty_ranges
 };
 
-scm_t_char_range cs_full_ranges[] = {
+scm_t_char_range cs_designated_ranges[] = {
   {0x0000, 0x0377}
   ,
   {0x037a, 0x037e}
@@ -6263,7 +7216,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x038e, 0x03a1}
   ,
-  {0x03a3, 0x0523}
+  {0x03a3, 0x0527}
   ,
   {0x0531, 0x0556}
   ,
@@ -6273,21 +7226,19 @@ scm_t_char_range cs_full_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}
   ,
@@ -6295,15 +7246,23 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x07c0, 0x07fa}
   ,
-  {0x0901, 0x0939}
+  {0x0800, 0x082d}
+  ,
+  {0x0830, 0x083e}
+  ,
+  {0x0840, 0x085b}
+  ,
+  {0x085e, 0x085e}
+  ,
+  {0x08a0, 0x08a0}
   ,
-  {0x093c, 0x094d}
+  {0x08a2, 0x08ac}
   ,
-  {0x0950, 0x0954}
+  {0x08e4, 0x08fe}
   ,
-  {0x0958, 0x0972}
+  {0x0900, 0x0977}
   ,
-  {0x097b, 0x097f}
+  {0x0979, 0x097f}
   ,
   {0x0981, 0x0983}
   ,
@@ -6331,7 +7290,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x09df, 0x09e3}
   ,
-  {0x09e6, 0x09fa}
+  {0x09e6, 0x09fb}
   ,
   {0x0a01, 0x0a03}
   ,
@@ -6389,9 +7348,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x0ae0, 0x0ae3}
   ,
-  {0x0ae6, 0x0aef}
-  ,
-  {0x0af1, 0x0af1}
+  {0x0ae6, 0x0af1}
   ,
   {0x0b01, 0x0b03}
   ,
@@ -6419,7 +7376,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x0b5f, 0x0b63}
   ,
-  {0x0b66, 0x0b71}
+  {0x0b66, 0x0b77}
   ,
   {0x0b82, 0x0b83}
   ,
@@ -6515,15 +7472,13 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x0d0e, 0x0d10}
   ,
-  {0x0d12, 0x0d28}
-  ,
-  {0x0d2a, 0x0d39}
+  {0x0d12, 0x0d3a}
   ,
   {0x0d3d, 0x0d44}
   ,
   {0x0d46, 0x0d48}
   ,
-  {0x0d4a, 0x0d4d}
+  {0x0d4a, 0x0d4e}
   ,
   {0x0d57, 0x0d57}
   ,
@@ -6593,35 +7548,27 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x0ed0, 0x0ed9}
   ,
-  {0x0edc, 0x0edd}
+  {0x0edc, 0x0edf}
   ,
   {0x0f00, 0x0f47}
   ,
   {0x0f49, 0x0f6c}
   ,
-  {0x0f71, 0x0f8b}
-  ,
-  {0x0f90, 0x0f97}
+  {0x0f71, 0x0f97}
   ,
   {0x0f99, 0x0fbc}
   ,
   {0x0fbe, 0x0fcc}
   ,
-  {0x0fce, 0x0fd4}
-  ,
-  {0x1000, 0x1099}
-  ,
-  {0x109e, 0x10c5}
-  ,
-  {0x10d0, 0x10fc}
+  {0x0fce, 0x0fda}
   ,
-  {0x1100, 0x1159}
+  {0x1000, 0x10c5}
   ,
-  {0x115f, 0x11a2}
+  {0x10c7, 0x10c7}
   ,
-  {0x11a8, 0x11f9}
+  {0x10cd, 0x10cd}
   ,
-  {0x1200, 0x1248}
+  {0x10d0, 0x1248}
   ,
   {0x124a, 0x124d}
   ,
@@ -6653,15 +7600,13 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x1318, 0x135a}
   ,
-  {0x135f, 0x137c}
+  {0x135d, 0x137c}
   ,
   {0x1380, 0x1399}
   ,
   {0x13a0, 0x13f4}
   ,
-  {0x1401, 0x1676}
-  ,
-  {0x1680, 0x169c}
+  {0x1400, 0x169c}
   ,
   {0x16a0, 0x16f0}
   ,
@@ -6693,6 +7638,8 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x1880, 0x18aa}
   ,
+  {0x18b0, 0x18f5}
+  ,
   {0x1900, 0x191c}
   ,
   {0x1920, 0x192b}
@@ -6705,33 +7652,43 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x1970, 0x1974}
   ,
-  {0x1980, 0x19a9}
+  {0x1980, 0x19ab}
   ,
   {0x19b0, 0x19c9}
   ,
-  {0x19d0, 0x19d9}
+  {0x19d0, 0x19da}
   ,
   {0x19de, 0x1a1b}
   ,
-  {0x1a1e, 0x1a1f}
+  {0x1a1e, 0x1a5e}
+  ,
+  {0x1a60, 0x1a7c}
+  ,
+  {0x1a7f, 0x1a89}
+  ,
+  {0x1a90, 0x1a99}
+  ,
+  {0x1aa0, 0x1aad}
   ,
   {0x1b00, 0x1b4b}
   ,
   {0x1b50, 0x1b7c}
   ,
-  {0x1b80, 0x1baa}
+  {0x1b80, 0x1bf3}
   ,
-  {0x1bae, 0x1bb9}
-  ,
-  {0x1c00, 0x1c37}
+  {0x1bfc, 0x1c37}
   ,
   {0x1c3b, 0x1c49}
   ,
   {0x1c4d, 0x1c7f}
   ,
+  {0x1cc0, 0x1cc7}
+  ,
+  {0x1cd0, 0x1cf6}
+  ,
   {0x1d00, 0x1de6}
   ,
-  {0x1dfe, 0x1f15}
+  {0x1dfc, 0x1f15}
   ,
   {0x1f18, 0x1f1d}
   ,
@@ -6769,75 +7726,43 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x2074, 0x208e}
   ,
-  {0x2090, 0x2094}
+  {0x2090, 0x209c}
   ,
-  {0x20a0, 0x20b5}
+  {0x20a0, 0x20ba}
   ,
   {0x20d0, 0x20f0}
   ,
-  {0x2100, 0x214f}
-  ,
-  {0x2153, 0x2188}
+  {0x2100, 0x2189}
   ,
-  {0x2190, 0x23e7}
+  {0x2190, 0x23f3}
   ,
   {0x2400, 0x2426}
   ,
   {0x2440, 0x244a}
   ,
-  {0x2460, 0x269d}
-  ,
-  {0x26a0, 0x26bc}
-  ,
-  {0x26c0, 0x26c3}
-  ,
-  {0x2701, 0x2704}
-  ,
-  {0x2706, 0x2709}
+  {0x2460, 0x26ff}
   ,
-  {0x270c, 0x2727}
+  {0x2701, 0x2b4c}
   ,
-  {0x2729, 0x274b}
-  ,
-  {0x274d, 0x274d}
-  ,
-  {0x274f, 0x2752}
-  ,
-  {0x2756, 0x2756}
-  ,
-  {0x2758, 0x275e}
-  ,
-  {0x2761, 0x2794}
-  ,
-  {0x2798, 0x27af}
-  ,
-  {0x27b1, 0x27be}
-  ,
-  {0x27c0, 0x27ca}
-  ,
-  {0x27cc, 0x27cc}
-  ,
-  {0x27d0, 0x2b4c}
-  ,
-  {0x2b50, 0x2b54}
+  {0x2b50, 0x2b59}
   ,
   {0x2c00, 0x2c2e}
   ,
   {0x2c30, 0x2c5e}
   ,
-  {0x2c60, 0x2c6f}
+  {0x2c60, 0x2cf3}
   ,
-  {0x2c71, 0x2c7d}
+  {0x2cf9, 0x2d25}
   ,
-  {0x2c80, 0x2cea}
+  {0x2d27, 0x2d27}
   ,
-  {0x2cf9, 0x2d25}
+  {0x2d2d, 0x2d2d}
   ,
-  {0x2d30, 0x2d65}
+  {0x2d30, 0x2d67}
   ,
-  {0x2d6f, 0x2d6f}
+  {0x2d6f, 0x2d70}
   ,
-  {0x2d80, 0x2d96}
+  {0x2d7f, 0x2d96}
   ,
   {0x2da0, 0x2da6}
   ,
@@ -6855,7 +7780,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x2dd8, 0x2dde}
   ,
-  {0x2de0, 0x2e30}
+  {0x2de0, 0x2e3b}
   ,
   {0x2e80, 0x2e99}
   ,
@@ -6875,35 +7800,37 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x3131, 0x318e}
   ,
-  {0x3190, 0x31b7}
+  {0x3190, 0x31ba}
   ,
   {0x31c0, 0x31e3}
   ,
   {0x31f0, 0x321e}
   ,
-  {0x3220, 0x3243}
-  ,
-  {0x3250, 0x32fe}
+  {0x3220, 0x32fe}
   ,
   {0x3300, 0x4db5}
   ,
-  {0x4dc0, 0x9fc3}
+  {0x4dc0, 0x9fcc}
   ,
   {0xa000, 0xa48c}
   ,
   {0xa490, 0xa4c6}
   ,
-  {0xa500, 0xa62b}
+  {0xa4d0, 0xa62b}
   ,
-  {0xa640, 0xa65f}
+  {0xa640, 0xa697}
   ,
-  {0xa662, 0xa673}
+  {0xa69f, 0xa6f7}
   ,
-  {0xa67c, 0xa697}
+  {0xa700, 0xa78e}
   ,
-  {0xa700, 0xa78c}
+  {0xa790, 0xa793}
   ,
-  {0xa7fb, 0xa82b}
+  {0xa7a0, 0xa7aa}
+  ,
+  {0xa7f8, 0xa82b}
+  ,
+  {0xa830, 0xa839}
   ,
   {0xa840, 0xa877}
   ,
@@ -6911,9 +7838,17 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0xa8ce, 0xa8d9}
   ,
+  {0xa8e0, 0xa8fb}
+  ,
   {0xa900, 0xa953}
   ,
-  {0xa95f, 0xa95f}
+  {0xa95f, 0xa97c}
+  ,
+  {0xa980, 0xa9cd}
+  ,
+  {0xa9cf, 0xa9d9}
+  ,
+  {0xa9de, 0xa9df}
   ,
   {0xaa00, 0xaa36}
   ,
@@ -6921,13 +7856,33 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0xaa50, 0xaa59}
   ,
-  {0xaa5c, 0xaa5f}
+  {0xaa5c, 0xaa7b}
+  ,
+  {0xaa80, 0xaac2}
+  ,
+  {0xaadb, 0xaaf6}
+  ,
+  {0xab01, 0xab06}
+  ,
+  {0xab09, 0xab0e}
+  ,
+  {0xab11, 0xab16}
+  ,
+  {0xab20, 0xab26}
+  ,
+  {0xab28, 0xab2e}
+  ,
+  {0xabc0, 0xabed}
+  ,
+  {0xabf0, 0xabf9}
   ,
   {0xac00, 0xd7a3}
   ,
-  {0xd800, 0xfa2d}
+  {0xd7b0, 0xd7c6}
+  ,
+  {0xd7cb, 0xd7fb}
   ,
-  {0xfa30, 0xfa6a}
+  {0xe000, 0xfa6d}
   ,
   {0xfa70, 0xfad9}
   ,
@@ -6945,7 +7900,7 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0xfb43, 0xfb44}
   ,
-  {0xfb46, 0xfbb1}
+  {0xfb46, 0xfbc1}
   ,
   {0xfbd3, 0xfd3f}
   ,
@@ -7041,14 +7996,20 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x1083c, 0x1083c}
   ,
-  {0x1083f, 0x1083f}
+  {0x1083f, 0x10855}
+  ,
+  {0x10857, 0x1085f}
   ,
-  {0x10900, 0x10919}
+  {0x10900, 0x1091b}
   ,
   {0x1091f, 0x10939}
   ,
   {0x1093f, 0x1093f}
   ,
+  {0x10980, 0x109b7}
+  ,
+  {0x109be, 0x109bf}
+  ,
   {0x10a00, 0x10a03}
   ,
   {0x10a05, 0x10a06}
@@ -7065,12 +8026,60 @@ scm_t_char_range cs_full_ranges[] = {
   ,
   {0x10a50, 0x10a58}
   ,
+  {0x10a60, 0x10a7f}
+  ,
+  {0x10b00, 0x10b35}
+  ,
+  {0x10b39, 0x10b55}
+  ,
+  {0x10b58, 0x10b72}
+  ,
+  {0x10b78, 0x10b7f}
+  ,
+  {0x10c00, 0x10c48}
+  ,
+  {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}
   ,
   {0x12470, 0x12473}
   ,
+  {0x13000, 0x1342e}
+  ,
+  {0x16800, 0x16a38}
+  ,
+  {0x16f00, 0x16f44}
+  ,
+  {0x16f50, 0x16f7e}
+  ,
+  {0x16f8f, 0x16f9f}
+  ,
+  {0x1b000, 0x1b001}
+  ,
   {0x1d000, 0x1d0f5}
   ,
   {0x1d100, 0x1d126}
@@ -7125,12 +8134,144 @@ scm_t_char_range cs_full_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}
+  ,
+  {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}
   ,
   {0xe0001, 0xe0001}
@@ -7144,7 +8285,7 @@ scm_t_char_range cs_full_ranges[] = {
   {0x100000, 0x10fffd}
 };
 
-scm_t_char_set cs_full = {
-  445,
-  cs_full_ranges
+scm_t_char_set cs_designated = {
+  539,
+  cs_designated_ranges
 };