[Groonga-commit] groonga/groonga at 3f22aea [master] nfkc: fix char_type for table implementation

Back to archive index

Kouhei Sutou null+****@clear*****
Sun Jun 26 16:42:57 JST 2016


Kouhei Sutou	2016-06-26 16:42:57 +0900 (Sun, 26 Jun 2016)

  New Revision: 3f22aead10a3fc9f7e0aea9ef3b966f6fa3ce2b5
  https://github.com/groonga/groonga/commit/3f22aead10a3fc9f7e0aea9ef3b966f6fa3ce2b5

  Message:
    nfkc: fix char_type for table implementation

  Modified files:
    lib/nfkc.rb
    lib/nfkc50.c

  Modified: lib/nfkc.rb (+64 -8)
===================================================================
--- lib/nfkc.rb    2016-06-26 14:54:59 +0900 (5e9a6f3)
+++ lib/nfkc.rb    2016-06-26 16:42:57 +0900 (ad84d27)
@@ -296,7 +296,7 @@ class TableGenerator < SwitchGenerator
     byte_size_groups.keys.sort.each do |common_bytes|
       chars = byte_size_groups[common_bytes]
       lines = []
-      n_values = 0
+      all_values = []
       last_bytes = chars.collect {|char| char.bytes.last}
       last_bytes.min.step(last_bytes.max).each_slice(8) do |slice|
         values = slice.collect do |last_byte|
@@ -304,11 +304,11 @@ class TableGenerator < SwitchGenerator
           char.force_encoding("UTF-8")
           yield(char)
         end
-        n_values += values.size
+        all_values.concat(values)
         lines << ("  " + values.join(", "))
       end
 
-      next if n_values == 1
+      next if all_values.uniq.size == 1
 
       @output.puts(<<-TABLE_HEADER)
 
@@ -366,6 +366,7 @@ static #{return_type}#{space}#{table_name(type, common_bytes)}[] = {
           end
           indent = "  " * i
           # p [i, prev_common_bytes.collect{|x| "%#04x" % x}, common_bytes.collect{|x| "%#04x" % x}, "%#04x" % common_byte, n_common_bytes, prev_n_common_bytes]
+          # TODO: The following code may be able to be simplified.
           if prev_common_bytes[i].nil?
             # p nil
             @output.puts(<<-BODY)
@@ -384,6 +385,17 @@ static #{return_type}#{space}#{table_name(type, common_bytes)}[] = {
             @output.puts(<<-BODY)
     #{indent}switch (#{char_variable}[#{i}]) {
             BODY
+          else
+            # p :else
+            prev_common_bytes.size.downto(common_bytes.size + 1) do |j|
+              sub_indent = "  " * (j - 1)
+              @output.puts(<<-BODY)
+    #{indent}#{sub_indent}default :
+    #{indent}#{sub_indent}  break;
+    #{indent}#{sub_indent}}
+    #{indent}#{sub_indent}break;
+              BODY
+            end
           end
           @output.puts(<<-BODY)
     #{indent}case #{"%#04x" % common_byte} :
@@ -492,15 +504,34 @@ static #{return_type}#{space}#{table_name(type, common_bytes)}[] = {
 #{indent}break;
           BODY
         else
+          sorted_chars = chars.sort
           min = chars_bytes.first.last
           max = chars_bytes.last.last
-          @output.puts(<<-BODY)
+          all_values = (min..max).collect do |last_byte|
+            char = (common_bytes + [last_byte]).pack("c*")
+            char.force_encoding("UTF-8")
+            yield(char)
+          end
+          if all_values.uniq.size == 1
+            value = all_values.first
+          else
+            value = "#{table_name(type, common_bytes)}[#{char_variable}[#{n}] - #{"%#04x" % min}]"
+          end
+          last_n_bits_for_char_in_utf8 = 6
+          max_n_chars_in_byte = 2 ** last_n_bits_for_char_in_utf8
+          if all_values.size == max_n_chars_in_byte
+            @output.puts(<<-BODY)
+#{indent}return #{value};
+            BODY
+          else
+            @output.puts(<<-BODY)
 #{indent}if (#{char_variable}[#{n}] >= #{"%#04x" % min} &&
 #{indent}    #{char_variable}[#{n}] <= #{"%#04x" % max}) {
-#{indent}  return #{table_name(type, common_bytes)}[#{char_variable}[#{n}] - #{"%#04x" % min}];
+#{indent}  return #{value};
 #{indent}}
 #{indent}break;
-          BODY
+            BODY
+          end
         end
       end
     end
@@ -508,12 +539,37 @@ static #{return_type}#{space}#{table_name(type, common_bytes)}[] = {
 
   def generate_blockcode_char_type(block_codes)
     default = "GRN_CHAR_OTHERS"
+
+    char_types = {}
+    current_type = default
+    prev_char = nil
+    block_codes.keys.sort.each do |char|
+      type = block_codes[char]
+      if current_type != default
+        prev_code_point = prev_char.codepoints[0]
+        code_point = char.codepoints[0]
+        (prev_code_point...code_point).each do |target_code_point|
+          target_char = [target_code_point].pack("U*")
+          char_types[target_char] = current_type
+        end
+      end
+      current_type = type
+      prev_char = char
+    end
+    unless current_type == default
+      raise "TODO: Consider the max unicode character"
+      max_unicode_char = "\u{10ffff}"
+      (prev_char..max_unicode_char).each do |target_char|
+        char_types[target_char] = current_type
+      end
+    end
+
     generate_char_converter("char_type",
                             "char_type",
-                            block_codes,
+                            char_types,
                             default,
                             "grn_char_type") do |char|
-      block_codes[char] || default
+      char_types[char] || default
     end
   end
 

  Modified: lib/nfkc50.c (+14094 -6433)
===================================================================
--- lib/nfkc50.c    2016-06-26 14:54:59 +0900 (7f6ac0a)
+++ lib/nfkc50.c    2016-06-26 16:42:57 +0900 (c74d55b)
@@ -23,1449 +23,1696 @@ don't edit this file by hand. it generated automatically by nfkc.rb
 #ifdef GRN_WITH_NFKC
 
 static grn_char_type grn_nfkc50_char_type_table_[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_c2[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_c3[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_cb[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_cd[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_ce[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_cf[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d2[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d4[] = {
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d5[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d6[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d7[] = {
   GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d8[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_d9[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_db[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_dc[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
-};
-
-static grn_char_type grn_nfkc50_char_type_table_dd[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_de[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_df[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a4[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a5[] = {
   GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
   GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a6[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a7[] = {
   GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a8[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0a9[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0aa[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0ab[] = {
   GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0ac[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0ad[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0ae[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0af[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b0[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b1[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b2[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b3[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b4[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b5[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b6[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b7[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b8[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0b9[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0ba[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
   GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0bb[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0bc[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0bd[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0be[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e0bf[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e180[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e181[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e183[] = {
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e185[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e186[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e189[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e18a[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e18b[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e18c[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e18d[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e18e[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e199[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e19a[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e19b[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e19c[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e19d[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e19e[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e19f[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1a0[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e1a2[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e1a4[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1a5[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e1a6[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1a7[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1a8[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e1ac[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1ad[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1ba[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1bc[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1bd[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1be[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e1bf[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e280[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e281[] = {
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e282[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e284[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
-  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e285[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e286[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
-};
-
-static grn_char_type grn_nfkc50_char_type_table_e290[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e291[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
+};
+
+static grn_char_type grn_nfkc50_char_type_table_e292[] = {
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
+};
+
+static grn_char_type grn_nfkc50_char_type_table_e293[] = {
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e29a[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e29c[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e29d[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e29e[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e29f[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2ac[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b0[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b1[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b3[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b4[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b5[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b6[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b7[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2b8[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_e2bf[] = {
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
+};
+
+static grn_char_type grn_nfkc50_char_type_table_e382[] = {
+  GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA,
+  GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA,
+  GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA,
+  GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA, GRN_CHAR_HIRAGANA,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA
+};
+
+static grn_char_type grn_nfkc50_char_type_table_e387[] = {
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI, GRN_CHAR_KANJI,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA,
+  GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA, GRN_CHAR_KATAKANA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_ea9c[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_eaa0[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_eaa1[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efac[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efad[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
-};
-
-static grn_char_type grn_nfkc50_char_type_table_efb5[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
+};
+
+static grn_char_type grn_nfkc50_char_type_table_efb4[] = {
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efb6[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efb7[] = {
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efb8[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efb9[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efbc[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efbd[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_efbf[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09080[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09081[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09084[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09085[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09086[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f0908c[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f0908d[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f0908e[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f0908f[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_SYMBOL, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09092[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f090a0[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f090a4[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f090a8[] = {
   GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f090a9[] = {
-  GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09291[] = {
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d84[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d85[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d86[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d89[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d8d[] = {
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL,
+  GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_SYMBOL, GRN_CHAR_OTHERS,
   GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d91[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d92[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d93[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d94[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d95[] = {
-  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS,
+  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9a[] = {
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9b[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9c[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9d[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9e[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA
 };
 
 static grn_char_type grn_nfkc50_char_type_table_f09d9f[] = {
-  GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS,
-  GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_SYMBOL, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA,
+  GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_ALPHA, GRN_CHAR_OTHERS, GRN_CHAR_OTHERS, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT,
+  GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT, GRN_CHAR_DIGIT
 };
 
 grn_char_type
 grn_nfkc50_char_type(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x01 && utf8[0] <= 0x7f) {
-      return grn_nfkc50_char_type_table_[utf8[0] - 0x01];
+    if (utf8[0] >= 0x21 &&
+        utf8[0] <= 0x7e) {
+      return grn_nfkc50_char_type_table_[utf8[0] - 0x21];
     } else {
       return GRN_CHAR_OTHERS;
     }
   } else {
     switch (utf8[0]) {
     case 0xc2 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_char_type_table_c2[utf8[1] - 0xa1];
       }
       break;
     case 0xc3 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb8) {
-        return grn_nfkc50_char_type_table_c3[utf8[1] - 0x80];
-      }
-      break;
+      return grn_nfkc50_char_type_table_c3[utf8[1] - 0x80];
+    case 0xc4 :
+      return GRN_CHAR_ALPHA;
+    case 0xc5 :
+      return GRN_CHAR_ALPHA;
+    case 0xc6 :
+      return GRN_CHAR_ALPHA;
+    case 0xc7 :
+      return GRN_CHAR_ALPHA;
+    case 0xc8 :
+      return GRN_CHAR_ALPHA;
+    case 0xc9 :
+      return GRN_CHAR_ALPHA;
+    case 0xca :
+      return GRN_CHAR_ALPHA;
     case 0xcb :
-      if (utf8[1] >= 0x82 && utf8[1] <= 0xaf) {
-        return grn_nfkc50_char_type_table_cb[utf8[1] - 0x82];
-      }
-      break;
-    case 0xcc :
-      if (utf8[1] == 0x80) {
-        return GRN_CHAR_OTHERS;
-      }
-      break;
+      return grn_nfkc50_char_type_table_cb[utf8[1] - 0x80];
     case 0xcd :
-      if (utf8[1] >= 0xb4 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0xb4 &&
+          utf8[1] <= 0xbe) {
         return grn_nfkc50_char_type_table_cd[utf8[1] - 0xb4];
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x84 && utf8[1] <= 0xa3) {
+      if (utf8[1] >= 0x84 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_char_type_table_ce[utf8[1] - 0x84];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x8f && utf8[1] <= 0xb7) {
-        return grn_nfkc50_char_type_table_cf[utf8[1] - 0x8f];
-      }
-      break;
+      return grn_nfkc50_char_type_table_cf[utf8[1] - 0x80];
+    case 0xd0 :
+      return GRN_CHAR_ALPHA;
+    case 0xd1 :
+      return GRN_CHAR_ALPHA;
     case 0xd2 :
-      if (utf8[1] >= 0x82 && utf8[1] <= 0x8a) {
-        return grn_nfkc50_char_type_table_d2[utf8[1] - 0x82];
-      }
-      break;
+      return grn_nfkc50_char_type_table_d2[utf8[1] - 0x80];
+    case 0xd3 :
+      return GRN_CHAR_ALPHA;
     case 0xd4 :
-      if (utf8[1] >= 0x94 && utf8[1] <= 0xb1) {
-        return grn_nfkc50_char_type_table_d4[utf8[1] - 0x94];
-      }
-      break;
+      return grn_nfkc50_char_type_table_d4[utf8[1] - 0x80];
     case 0xd5 :
-      if (utf8[1] >= 0x97 && utf8[1] <= 0xa1) {
-        return grn_nfkc50_char_type_table_d5[utf8[1] - 0x97];
-      }
-      break;
+      return grn_nfkc50_char_type_table_d5[utf8[1] - 0x80];
     case 0xd6 :
-      if (utf8[1] >= 0x88 && utf8[1] <= 0xbf) {
-        return grn_nfkc50_char_type_table_d6[utf8[1] - 0x88];
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xbe) {
+        return grn_nfkc50_char_type_table_d6[utf8[1] - 0x80];
       }
       break;
     case 0xd7 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb5) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xb4) {
         return grn_nfkc50_char_type_table_d7[utf8[1] - 0x80];
       }
       break;
     case 0xd8 :
-      if (utf8[1] >= 0x8b && utf8[1] <= 0xbb) {
+      if (utf8[1] >= 0x8b &&
+          utf8[1] <= 0xba) {
         return grn_nfkc50_char_type_table_d8[utf8[1] - 0x8b];
       }
       break;
     case 0xd9 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb1) {
-        return grn_nfkc50_char_type_table_d9[utf8[1] - 0x80];
-      }
-      break;
+      return grn_nfkc50_char_type_table_d9[utf8[1] - 0x80];
+    case 0xda :
+      return GRN_CHAR_ALPHA;
     case 0xdb :
-      if (utf8[1] >= 0x94 && utf8[1] <= 0xbf) {
-        return grn_nfkc50_char_type_table_db[utf8[1] - 0x94];
-      }
-      break;
+      return grn_nfkc50_char_type_table_db[utf8[1] - 0x80];
     case 0xdc :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xaf) {
         return grn_nfkc50_char_type_table_dc[utf8[1] - 0x80];
       }
       break;
     case 0xdd :
-      if (utf8[1] >= 0x8d && utf8[1] <= 0xae) {
-        return grn_nfkc50_char_type_table_dd[utf8[1] - 0x8d];
+      if (utf8[1] >= 0x8d &&
+          utf8[1] <= 0xad) {
+        return GRN_CHAR_ALPHA;
       }
       break;
     case 0xde :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb2) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xb1) {
         return grn_nfkc50_char_type_table_de[utf8[1] - 0x80];
       }
       break;
     case 0xdf :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xbb) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xba) {
         return grn_nfkc50_char_type_table_df[utf8[1] - 0x80];
       }
       break;
     case 0xe0 :
       switch (utf8[1]) {
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0a4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e0a5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
-          return grn_nfkc50_char_type_table_e0a6[utf8[2] - 0x80];
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbd) {
+          return grn_nfkc50_char_type_table_e0a6[utf8[2] - 0x85];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x8e && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0x8e &&
+            utf8[2] <= 0xba) {
           return grn_nfkc50_char_type_table_e0a7[utf8[2] - 0x8e];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_char_type_table_e0a8[utf8[2] - 0x85];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x99 && utf8[2] <= 0xb5) {
+        if (utf8[2] >= 0x99 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_char_type_table_e0a9[utf8[2] - 0x99];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0aa[utf8[2] - 0x85];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xb2) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xb1) {
           return grn_nfkc50_char_type_table_e0ab[utf8[2] - 0x90];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0ac[utf8[2] - 0x85];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x9c && utf8[2] <= 0xb2) {
+        if (utf8[2] >= 0x9c &&
+            utf8[2] <= 0xb1) {
           return grn_nfkc50_char_type_table_e0ad[utf8[2] - 0x9c];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x83 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x83 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_char_type_table_e0ae[utf8[2] - 0x83];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0xa6 && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0xa6 &&
+            utf8[2] <= 0xba) {
           return grn_nfkc50_char_type_table_e0af[utf8[2] - 0xa6];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_char_type_table_e0b0[utf8[2] - 0x85];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0xa0 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0xa0 &&
+            utf8[2] <= 0xaf) {
           return grn_nfkc50_char_type_table_e0b1[utf8[2] - 0xa0];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0b2[utf8[2] - 0x85];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x9e && utf8[2] <= 0xb3) {
+        if (utf8[2] >= 0x9e &&
+            utf8[2] <= 0xb2) {
           return grn_nfkc50_char_type_table_e0b3[utf8[2] - 0x9e];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_char_type_table_e0b4[utf8[2] - 0x85];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0xa0 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0xa0 &&
+            utf8[2] <= 0xaf) {
           return grn_nfkc50_char_type_table_e0b5[utf8[2] - 0xa0];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0b6[utf8[2] - 0x85];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb5) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_char_type_table_e0b7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e0b8[utf8[2] - 0x81];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x9c) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9b) {
           return grn_nfkc50_char_type_table_e0b9[utf8[2] - 0x80];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0ba[utf8[2] - 0x81];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x9e) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9d) {
           return grn_nfkc50_char_type_table_e0bb[utf8[2] - 0x80];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_char_type_table_e0bc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xab) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaa) {
           return grn_nfkc50_char_type_table_e0bd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e0be[utf8[2] - 0x85];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0x92) {
-          return grn_nfkc50_char_type_table_e0bf[utf8[2] - 0x86];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x91) {
+          return grn_nfkc50_char_type_table_e0bf[utf8[2] - 0x80];
         }
         break;
       default :
@@ -1475,218 +1722,221 @@ grn_nfkc50_char_type(const unsigned char *utf8)
     case 0xe1 :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xab) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaa) {
           return grn_nfkc50_char_type_table_e180[utf8[2] - 0x80];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x96) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x95) {
           return grn_nfkc50_char_type_table_e181[utf8[2] - 0x80];
         }
         break;
       case 0x82 :
-        if (utf8[2] == 0xa0) {
+        if (utf8[2] >= 0xa0 &&
+            utf8[2] <= 0xbf) {
           return GRN_CHAR_ALPHA;
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0xbd) {
-          return grn_nfkc50_char_type_table_e183[utf8[2] - 0x86];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbc) {
+          return grn_nfkc50_char_type_table_e183[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_ALPHA;
-        }
-        break;
+        return GRN_CHAR_ALPHA;
       case 0x85 :
-        if (utf8[2] >= 0x9a && utf8[2] <= 0x9f) {
-          return grn_nfkc50_char_type_table_e185[utf8[2] - 0x9a];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e185[utf8[2] - 0x80];
       case 0x86 :
-        if (utf8[2] >= 0xa3 && utf8[2] <= 0xa8) {
-          return grn_nfkc50_char_type_table_e186[utf8[2] - 0xa3];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e186[utf8[2] - 0x80];
       case 0x87 :
-        if (utf8[2] == 0xba) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-      case 0x88 :
-        if (utf8[2] == 0x80) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb9) {
           return GRN_CHAR_ALPHA;
         }
         break;
+      case 0x88 :
+        return GRN_CHAR_ALPHA;
       case 0x89 :
-        if (utf8[2] >= 0x89 && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e189[utf8[2] - 0x89];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e189[utf8[2] - 0x80];
       case 0x8a :
-        if (utf8[2] >= 0x89 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_e18a[utf8[2] - 0x89];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
+          return grn_nfkc50_char_type_table_e18a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x98) {
-          return grn_nfkc50_char_type_table_e18b[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e18b[utf8[2] - 0x80];
       case 0x8c :
-        if (utf8[2] >= 0x91 && utf8[2] <= 0x98) {
-          return grn_nfkc50_char_type_table_e18c[utf8[2] - 0x91];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e18c[utf8[2] - 0x80];
       case 0x8d :
-        if (utf8[2] >= 0x9b && utf8[2] <= 0xbd) {
-          return grn_nfkc50_char_type_table_e18d[utf8[2] - 0x9b];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbc) {
+          return grn_nfkc50_char_type_table_e18d[utf8[2] - 0x80];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e18e[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e18e[utf8[2] - 0x80];
       case 0x8f :
-        if (utf8[2] == 0xb5) {
-          return GRN_CHAR_OTHERS;
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb4) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0x90 :
-        if (utf8[2] == 0x81) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return GRN_CHAR_ALPHA;
         }
         break;
+      case 0x91 :
+        return GRN_CHAR_ALPHA;
+      case 0x92 :
+        return GRN_CHAR_ALPHA;
+      case 0x93 :
+        return GRN_CHAR_ALPHA;
+      case 0x94 :
+        return GRN_CHAR_ALPHA;
+      case 0x95 :
+        return GRN_CHAR_ALPHA;
+      case 0x96 :
+        return GRN_CHAR_ALPHA;
+      case 0x97 :
+        return GRN_CHAR_ALPHA;
+      case 0x98 :
+        return GRN_CHAR_ALPHA;
       case 0x99 :
-        if (utf8[2] >= 0xad && utf8[2] <= 0xb7) {
-          return grn_nfkc50_char_type_table_e199[utf8[2] - 0xad];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb6) {
+          return grn_nfkc50_char_type_table_e199[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xa0) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e19a[utf8[2] - 0x81];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0xab && utf8[2] <= 0xb1) {
-          return grn_nfkc50_char_type_table_e19b[utf8[2] - 0xab];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb0) {
+          return grn_nfkc50_char_type_table_e19b[utf8[2] - 0x80];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb7) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb6) {
           return grn_nfkc50_char_type_table_e19c[utf8[2] - 0x80];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb1) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_char_type_table_e19d[utf8[2] - 0x80];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb4) {
-          return grn_nfkc50_char_type_table_e19e[utf8[2] - 0x80];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb3) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_char_type_table_e19f[utf8[2] - 0x94];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e1a0[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e1a0[utf8[2] - 0x80];
       case 0xa1 :
-        if (utf8[2] == 0xb8) {
-          return GRN_CHAR_OTHERS;
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb7) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa9) {
-          return grn_nfkc50_char_type_table_e1a2[utf8[2] - 0x80];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa8) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x9d) {
-          return grn_nfkc50_char_type_table_e1a4[utf8[2] - 0x80];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9c) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb5) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_char_type_table_e1a5[utf8[2] - 0x80];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xaa) {
-          return grn_nfkc50_char_type_table_e1a6[utf8[2] - 0x80];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa9) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0x9e) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e1a7[utf8[2] - 0x81];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa0) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9f) {
           return grn_nfkc50_char_type_table_e1a8[utf8[2] - 0x80];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xb4) {
-          return grn_nfkc50_char_type_table_e1ac[utf8[2] - 0x85];
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xb3) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbd) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_char_type_table_e1ad[utf8[2] - 0x85];
         }
         break;
       case 0xb4 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_ALPHA;
-        }
-        break;
-      case 0xb7 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
+        return GRN_CHAR_ALPHA;
+      case 0xb5 :
+        return GRN_CHAR_ALPHA;
+      case 0xb6 :
+        return GRN_CHAR_ALPHA;
       case 0xb8 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_ALPHA;
-        }
-        break;
+        return GRN_CHAR_ALPHA;
+      case 0xb9 :
+        return GRN_CHAR_ALPHA;
       case 0xba :
-        if (utf8[2] >= 0x9c && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e1ba[utf8[2] - 0x9c];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e1ba[utf8[2] - 0x80];
       case 0xbb :
-        if (utf8[2] == 0xba) {
-          return GRN_CHAR_OTHERS;
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb9) {
+          return GRN_CHAR_ALPHA;
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e1bc[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e1bc[utf8[2] - 0x80];
       case 0xbd :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0xbe) {
-          return grn_nfkc50_char_type_table_e1bd[utf8[2] - 0x86];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbd) {
+          return grn_nfkc50_char_type_table_e1bd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_e1be[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e1be[utf8[2] - 0x80];
       case 0xbf :
-        if (utf8[2] >= 0x82 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_e1bf[utf8[2] - 0x82];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
+          return grn_nfkc50_char_type_table_e1bf[utf8[2] - 0x80];
         }
         break;
       default :
@@ -1696,148 +1946,175 @@ grn_nfkc50_char_type(const unsigned char *utf8)
     case 0xe2 :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e280[utf8[2] - 0x90];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x9f && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_e281[utf8[2] - 0x9f];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e281[utf8[2] - 0x80];
       case 0x82 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb6) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb5) {
           return grn_nfkc50_char_type_table_e282[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbc) {
-          return grn_nfkc50_char_type_table_e284[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e284[utf8[2] - 0x80];
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x93) {
-          return grn_nfkc50_char_type_table_e285[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e285[utf8[2] - 0x80];
       case 0x86 :
-        if (utf8[2] >= 0x83 && utf8[2] <= 0x90) {
-          return grn_nfkc50_char_type_table_e286[utf8[2] - 0x83];
-        }
-        break;
-      case 0x8f :
-        if (utf8[2] == 0xa8) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-      case 0x90 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa7) {
-          return grn_nfkc50_char_type_table_e290[utf8[2] - 0x80];
-        }
-        break;
-      case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa0) {
-          return grn_nfkc50_char_type_table_e291[utf8[2] - 0x80];
+        return grn_nfkc50_char_type_table_e286[utf8[2] - 0x80];
+      case 0x87 :
+        return GRN_CHAR_SYMBOL;
+      case 0x88 :
+        return GRN_CHAR_SYMBOL;
+      case 0x89 :
+        return GRN_CHAR_SYMBOL;
+      case 0x8a :
+        return GRN_CHAR_SYMBOL;
+      case 0x8b :
+        return GRN_CHAR_SYMBOL;
+      case 0x8c :
+        return GRN_CHAR_SYMBOL;
+      case 0x8d :
+        return GRN_CHAR_SYMBOL;
+      case 0x8e :
+        return GRN_CHAR_SYMBOL;
+      case 0x8f :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa7) {
+          return GRN_CHAR_SYMBOL;
         }
         break;
-      case 0x92 :
-        if (utf8[2] == 0x9c) {
+      case 0x90 :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa6) {
           return GRN_CHAR_SYMBOL;
         }
         break;
+      case 0x91 :
+        return grn_nfkc50_char_type_table_e291[utf8[2] - 0x80];
+      case 0x92 :
+        return grn_nfkc50_char_type_table_e292[utf8[2] - 0x80];
       case 0x93 :
-        if (utf8[2] == 0xaa) {
-          return GRN_CHAR_DIGIT;
-        }
-        break;
+        return grn_nfkc50_char_type_table_e293[utf8[2] - 0x80];
       case 0x94 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_SYMBOL;
-        }
-        break;
+        return GRN_CHAR_SYMBOL;
+      case 0x95 :
+        return GRN_CHAR_SYMBOL;
+      case 0x96 :
+        return GRN_CHAR_SYMBOL;
+      case 0x97 :
+        return GRN_CHAR_SYMBOL;
+      case 0x98 :
+        return GRN_CHAR_SYMBOL;
+      case 0x99 :
+        return GRN_CHAR_SYMBOL;
       case 0x9a :
-        if (utf8[2] >= 0x9d && utf8[2] <= 0xb3) {
-          return grn_nfkc50_char_type_table_e29a[utf8[2] - 0x9d];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb2) {
+          return grn_nfkc50_char_type_table_e29a[utf8[2] - 0x80];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xa9) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_char_type_table_e29c[utf8[2] - 0x81];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xb6) {
-          return grn_nfkc50_char_type_table_e29d[utf8[2] - 0x8c];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e29d[utf8[2] - 0x80];
       case 0x9e :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_e29e[utf8[2] - 0x94];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
+          return grn_nfkc50_char_type_table_e29e[utf8[2] - 0x80];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb0) {
-          return grn_nfkc50_char_type_table_e29f[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e29f[utf8[2] - 0x80];
+      case 0xa0 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa1 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa2 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa3 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa4 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa5 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa6 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa7 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa8 :
+        return GRN_CHAR_SYMBOL;
+      case 0xa9 :
+        return GRN_CHAR_SYMBOL;
+      case 0xaa :
+        return GRN_CHAR_SYMBOL;
+      case 0xab :
+        return GRN_CHAR_SYMBOL;
       case 0xac :
-        if (utf8[2] >= 0x9b && utf8[2] <= 0xa4) {
-          return grn_nfkc50_char_type_table_e2ac[utf8[2] - 0x9b];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa3) {
+          return grn_nfkc50_char_type_table_e2ac[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb0) {
-          return grn_nfkc50_char_type_table_e2b0[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e2b0[utf8[2] - 0x80];
       case 0xb1 :
-        if (utf8[2] >= 0x9f && utf8[2] <= 0xb8) {
-          return grn_nfkc50_char_type_table_e2b1[utf8[2] - 0x9f];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb7) {
+          return grn_nfkc50_char_type_table_e2b1[utf8[2] - 0x80];
         }
         break;
       case 0xb2 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_ALPHA;
-        }
-        break;
+        return GRN_CHAR_ALPHA;
       case 0xb3 :
-        if (utf8[2] >= 0xa5 && utf8[2] <= 0xbe) {
-          return grn_nfkc50_char_type_table_e2b3[utf8[2] - 0xa5];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e2b3[utf8[2] - 0x80];
       case 0xb4 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb0) {
-          return grn_nfkc50_char_type_table_e2b4[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_char_type_table_e2b4[utf8[2] - 0x80];
       case 0xb5 :
-        if (utf8[2] >= 0xa6 && utf8[2] <= 0xb0) {
-          return grn_nfkc50_char_type_table_e2b5[utf8[2] - 0xa6];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaf) {
+          return grn_nfkc50_char_type_table_e2b5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_char_type_table_e2b6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x9f) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9e) {
           return grn_nfkc50_char_type_table_e2b7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x98) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x97) {
           return grn_nfkc50_char_type_table_e2b8[utf8[2] - 0x80];
         }
         break;
       case 0xba :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_KANJI;
-        }
-        break;
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
       case 0xbf :
-        if (utf8[2] >= 0xa0 && utf8[2] <= 0xbc) {
-          return grn_nfkc50_char_type_table_e2bf[utf8[2] - 0xa0];
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbb) {
+          return grn_nfkc50_char_type_table_e2bf[utf8[2] - 0x80];
         }
         break;
       default :
@@ -1847,450 +2124,3127 @@ grn_nfkc50_char_type(const unsigned char *utf8)
     case 0xe3 :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_SYMBOL;
-        }
-        break;
+        return GRN_CHAR_SYMBOL;
       case 0x81 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_HIRAGANA;
-        }
-        break;
+        return GRN_CHAR_HIRAGANA;
       case 0x82 :
-        if (utf8[2] == 0xa0) {
-          return GRN_CHAR_KATAKANA;
-        }
-        break;
+        return grn_nfkc50_char_type_table_e382[utf8[2] - 0x80];
+      case 0x83 :
+        return GRN_CHAR_KATAKANA;
       case 0x84 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_KANJI;
-        }
-        break;
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
       case 0x87 :
-        if (utf8[2] == 0xb0) {
-          return GRN_CHAR_KATAKANA;
-        }
-        break;
+        return grn_nfkc50_char_type_table_e387[utf8[2] - 0x80];
       case 0x88 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_SYMBOL;
-        }
-        break;
+        return GRN_CHAR_SYMBOL;
+      case 0x89 :
+        return GRN_CHAR_SYMBOL;
+      case 0x8a :
+        return GRN_CHAR_SYMBOL;
+      case 0x8b :
+        return GRN_CHAR_SYMBOL;
+      case 0x8c :
+        return GRN_CHAR_SYMBOL;
+      case 0x8d :
+        return GRN_CHAR_SYMBOL;
+      case 0x8e :
+        return GRN_CHAR_SYMBOL;
+      case 0x8f :
+        return GRN_CHAR_SYMBOL;
       case 0x90 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_KANJI;
-        }
-        break;
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
       default :
         break;
       }
       break;
     case 0xe4 :
       switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
       case 0xb7 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_SYMBOL;
-        }
-        break;
+        return GRN_CHAR_SYMBOL;
       case 0xb8 :
-        if (utf8[2] == 0x80) {
-          return GRN_CHAR_KANJI;
-        }
-        break;
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
       default :
         break;
       }
       break;
-    case 0xea :
+    case 0xe5 :
       switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
       case 0x93 :
-        if (utf8[2] == 0x90) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
       case 0x9c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa2) {
-          return grn_nfkc50_char_type_table_ea9c[utf8[2] - 0x80];
-        }
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
         break;
+      }
+      break;
+    case 0xe6 :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xac) {
-          return grn_nfkc50_char_type_table_eaa0[utf8[2] - 0x80];
-        }
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
         break;
+      }
+      break;
+    case 0xe7 :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
-          return grn_nfkc50_char_type_table_eaa1[utf8[2] - 0x80];
-        }
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
         break;
+      }
+      break;
+    case 0xe8 :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
       case 0xb0 :
-        if (utf8[2] == 0x80) {
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
+        break;
+      }
+      break;
+    case 0xe9 :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
+        break;
+      }
+      break;
+    case 0xea :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x8f) {
+          return GRN_CHAR_KANJI;
+        }
+        break;
+      case 0x9c :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa1) {
+          return grn_nfkc50_char_type_table_ea9c[utf8[2] - 0x80];
+        }
+        break;
+      case 0xa0 :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xab) {
+          return grn_nfkc50_char_type_table_eaa0[utf8[2] - 0x80];
+        }
+        break;
+      case 0xa1 :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb7) {
+          return grn_nfkc50_char_type_table_eaa1[utf8[2] - 0x80];
+        }
+        break;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
+        break;
+      }
+      break;
+    case 0xeb :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
+        break;
+      }
+      break;
+    case 0xec :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        return GRN_CHAR_KANJI;
+      case 0x9f :
+        return GRN_CHAR_KANJI;
+      case 0xa0 :
+        return GRN_CHAR_KANJI;
+      case 0xa1 :
+        return GRN_CHAR_KANJI;
+      case 0xa2 :
+        return GRN_CHAR_KANJI;
+      case 0xa3 :
+        return GRN_CHAR_KANJI;
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        return GRN_CHAR_KANJI;
+      case 0xad :
+        return GRN_CHAR_KANJI;
+      case 0xae :
+        return GRN_CHAR_KANJI;
+      case 0xaf :
+        return GRN_CHAR_KANJI;
+      case 0xb0 :
+        return GRN_CHAR_KANJI;
+      case 0xb1 :
+        return GRN_CHAR_KANJI;
+      case 0xb2 :
+        return GRN_CHAR_KANJI;
+      case 0xb3 :
+        return GRN_CHAR_KANJI;
+      case 0xb4 :
+        return GRN_CHAR_KANJI;
+      case 0xb5 :
+        return GRN_CHAR_KANJI;
+      case 0xb6 :
+        return GRN_CHAR_KANJI;
+      case 0xb7 :
+        return GRN_CHAR_KANJI;
+      case 0xb8 :
+        return GRN_CHAR_KANJI;
+      case 0xb9 :
+        return GRN_CHAR_KANJI;
+      case 0xba :
+        return GRN_CHAR_KANJI;
+      case 0xbb :
+        return GRN_CHAR_KANJI;
+      case 0xbc :
+        return GRN_CHAR_KANJI;
+      case 0xbd :
+        return GRN_CHAR_KANJI;
+      case 0xbe :
+        return GRN_CHAR_KANJI;
+      case 0xbf :
+        return GRN_CHAR_KANJI;
+      default :
+        break;
+      }
+      break;
+    case 0xed :
+      switch (utf8[1]) {
+      case 0x80 :
+        return GRN_CHAR_KANJI;
+      case 0x81 :
+        return GRN_CHAR_KANJI;
+      case 0x82 :
+        return GRN_CHAR_KANJI;
+      case 0x83 :
+        return GRN_CHAR_KANJI;
+      case 0x84 :
+        return GRN_CHAR_KANJI;
+      case 0x85 :
+        return GRN_CHAR_KANJI;
+      case 0x86 :
+        return GRN_CHAR_KANJI;
+      case 0x87 :
+        return GRN_CHAR_KANJI;
+      case 0x88 :
+        return GRN_CHAR_KANJI;
+      case 0x89 :
+        return GRN_CHAR_KANJI;
+      case 0x8a :
+        return GRN_CHAR_KANJI;
+      case 0x8b :
+        return GRN_CHAR_KANJI;
+      case 0x8c :
+        return GRN_CHAR_KANJI;
+      case 0x8d :
+        return GRN_CHAR_KANJI;
+      case 0x8e :
+        return GRN_CHAR_KANJI;
+      case 0x8f :
+        return GRN_CHAR_KANJI;
+      case 0x90 :
+        return GRN_CHAR_KANJI;
+      case 0x91 :
+        return GRN_CHAR_KANJI;
+      case 0x92 :
+        return GRN_CHAR_KANJI;
+      case 0x93 :
+        return GRN_CHAR_KANJI;
+      case 0x94 :
+        return GRN_CHAR_KANJI;
+      case 0x95 :
+        return GRN_CHAR_KANJI;
+      case 0x96 :
+        return GRN_CHAR_KANJI;
+      case 0x97 :
+        return GRN_CHAR_KANJI;
+      case 0x98 :
+        return GRN_CHAR_KANJI;
+      case 0x99 :
+        return GRN_CHAR_KANJI;
+      case 0x9a :
+        return GRN_CHAR_KANJI;
+      case 0x9b :
+        return GRN_CHAR_KANJI;
+      case 0x9c :
+        return GRN_CHAR_KANJI;
+      case 0x9d :
+        return GRN_CHAR_KANJI;
+      case 0x9e :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaf) {
+          return GRN_CHAR_KANJI;
+        }
+        break;
+      default :
+        break;
+      }
+      break;
+    case 0xef :
+      switch (utf8[1]) {
+      case 0xa4 :
+        return GRN_CHAR_KANJI;
+      case 0xa5 :
+        return GRN_CHAR_KANJI;
+      case 0xa6 :
+        return GRN_CHAR_KANJI;
+      case 0xa7 :
+        return GRN_CHAR_KANJI;
+      case 0xa8 :
+        return GRN_CHAR_KANJI;
+      case 0xa9 :
+        return GRN_CHAR_KANJI;
+      case 0xaa :
+        return GRN_CHAR_KANJI;
+      case 0xab :
+        return GRN_CHAR_KANJI;
+      case 0xac :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
+          return grn_nfkc50_char_type_table_efac[utf8[2] - 0x80];
+        }
+        break;
+      case 0xad :
+        return grn_nfkc50_char_type_table_efad[utf8[2] - 0x80];
+      case 0xae :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb1) {
+          return GRN_CHAR_ALPHA;
+        }
+        break;
+      case 0xaf :
+        if (utf8[2] >= 0x93 &&
+            utf8[2] <= 0xbf) {
+          return GRN_CHAR_ALPHA;
+        }
+        break;
+      case 0xb0 :
+        return GRN_CHAR_ALPHA;
+      case 0xb1 :
+        return GRN_CHAR_ALPHA;
+      case 0xb2 :
+        return GRN_CHAR_ALPHA;
+      case 0xb3 :
+        return GRN_CHAR_ALPHA;
+      case 0xb4 :
+        return grn_nfkc50_char_type_table_efb4[utf8[2] - 0x80];
+      case 0xb5 :
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
+          return GRN_CHAR_ALPHA;
+        }
+        break;
+      case 0xb6 :
+        return grn_nfkc50_char_type_table_efb6[utf8[2] - 0x80];
+      case 0xb7 :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbd) {
+          return grn_nfkc50_char_type_table_efb7[utf8[2] - 0x80];
+        }
+        break;
+      case 0xb8 :
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
+          return grn_nfkc50_char_type_table_efb8[utf8[2] - 0x90];
+        }
+        break;
+      case 0xb9 :
+        return grn_nfkc50_char_type_table_efb9[utf8[2] - 0x80];
+      case 0xba :
+        return GRN_CHAR_ALPHA;
+      case 0xbb :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbc) {
+          return GRN_CHAR_ALPHA;
+        }
+        break;
+      case 0xbc :
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
+          return grn_nfkc50_char_type_table_efbc[utf8[2] - 0x81];
+        }
+        break;
+      case 0xbd :
+        return grn_nfkc50_char_type_table_efbd[utf8[2] - 0x80];
+      case 0xbe :
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
+          return GRN_CHAR_ALPHA;
+        }
+        break;
+      case 0xbf :
+        if (utf8[2] >= 0x82 &&
+            utf8[2] <= 0xbf) {
+          return grn_nfkc50_char_type_table_efbf[utf8[2] - 0x82];
+        }
+        break;
+      default :
+        break;
+      }
+      break;
+    case 0xf0 :
+      switch (utf8[1]) {
+      case 0x90 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return grn_nfkc50_char_type_table_f09080[utf8[3] - 0x80];
+        case 0x81 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9d) {
+            return grn_nfkc50_char_type_table_f09081[utf8[3] - 0x80];
+          }
+          break;
+        case 0x82 :
+          return GRN_CHAR_ALPHA;
+        case 0x83 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xba) {
+            return GRN_CHAR_ALPHA;
+          }
+          break;
+        case 0x84 :
+          return grn_nfkc50_char_type_table_f09084[utf8[3] - 0x80];
+        case 0x85 :
+          return grn_nfkc50_char_type_table_f09085[utf8[3] - 0x80];
+        case 0x86 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x8a) {
+            return grn_nfkc50_char_type_table_f09086[utf8[3] - 0x80];
+          }
+          break;
+        case 0x8c :
+          return grn_nfkc50_char_type_table_f0908c[utf8[3] - 0x80];
+        case 0x8d :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x8a) {
+            return grn_nfkc50_char_type_table_f0908d[utf8[3] - 0x80];
+          }
+          break;
+        case 0x8e :
+          return grn_nfkc50_char_type_table_f0908e[utf8[3] - 0x80];
+        case 0x8f :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x95) {
+            return grn_nfkc50_char_type_table_f0908f[utf8[3] - 0x80];
+          }
+          break;
+        case 0x90 :
+          return GRN_CHAR_ALPHA;
+        case 0x91 :
+          return GRN_CHAR_ALPHA;
+        case 0x92 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xa9) {
+            return grn_nfkc50_char_type_table_f09092[utf8[3] - 0x80];
+          }
+          break;
+        case 0xa0 :
+          return grn_nfkc50_char_type_table_f090a0[utf8[3] - 0x80];
+        case 0xa4 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9f) {
+            return grn_nfkc50_char_type_table_f090a4[utf8[3] - 0x80];
+          }
+          break;
+        case 0xa8 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xb3) {
+            return grn_nfkc50_char_type_table_f090a8[utf8[3] - 0x80];
+          }
+          break;
+        case 0xa9 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x98) {
+            return grn_nfkc50_char_type_table_f090a9[utf8[3] - 0x80];
+          }
+          break;
+        default :
+          break;
+        }
+        break;
+      case 0x92 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_ALPHA;
+        case 0x81 :
+          return GRN_CHAR_ALPHA;
+        case 0x82 :
+          return GRN_CHAR_ALPHA;
+        case 0x83 :
+          return GRN_CHAR_ALPHA;
+        case 0x84 :
+          return GRN_CHAR_ALPHA;
+        case 0x85 :
+          return GRN_CHAR_ALPHA;
+        case 0x86 :
+          return GRN_CHAR_ALPHA;
+        case 0x87 :
+          return GRN_CHAR_ALPHA;
+        case 0x88 :
+          return GRN_CHAR_ALPHA;
+        case 0x89 :
+          return GRN_CHAR_ALPHA;
+        case 0x8a :
+          return GRN_CHAR_ALPHA;
+        case 0x8b :
+          return GRN_CHAR_ALPHA;
+        case 0x8c :
+          return GRN_CHAR_ALPHA;
+        case 0x8d :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xae) {
+            return GRN_CHAR_ALPHA;
+          }
+          break;
+        case 0x90 :
+          return GRN_CHAR_DIGIT;
+        case 0x91 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xb3) {
+            return grn_nfkc50_char_type_table_f09291[utf8[3] - 0x80];
+          }
+          break;
+        default :
+          break;
+        }
+        break;
+      case 0x9d :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_SYMBOL;
+        case 0x81 :
+          return GRN_CHAR_SYMBOL;
+        case 0x82 :
+          return GRN_CHAR_SYMBOL;
+        case 0x83 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xb5) {
+            return GRN_CHAR_SYMBOL;
+          }
+          break;
+        case 0x84 :
+          return grn_nfkc50_char_type_table_f09d84[utf8[3] - 0x80];
+        case 0x85 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xac) {
+            return grn_nfkc50_char_type_table_f09d85[utf8[3] - 0x80];
+          }
+          break;
+        case 0x86 :
+          if (utf8[3] >= 0x83 &&
+              utf8[3] <= 0xbf) {
+            return grn_nfkc50_char_type_table_f09d86[utf8[3] - 0x83];
+          }
+          break;
+        case 0x87 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9d) {
+            return GRN_CHAR_SYMBOL;
+          }
+          break;
+        case 0x88 :
+          return GRN_CHAR_SYMBOL;
+        case 0x89 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x85) {
+            return grn_nfkc50_char_type_table_f09d89[utf8[3] - 0x80];
+          }
+          break;
+        case 0x8c :
+          return GRN_CHAR_SYMBOL;
+        case 0x8d :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xb1) {
+            return grn_nfkc50_char_type_table_f09d8d[utf8[3] - 0x80];
+          }
+          break;
+        case 0x90 :
+          return GRN_CHAR_ALPHA;
+        case 0x91 :
+          return grn_nfkc50_char_type_table_f09d91[utf8[3] - 0x80];
+        case 0x92 :
+          return grn_nfkc50_char_type_table_f09d92[utf8[3] - 0x80];
+        case 0x93 :
+          return grn_nfkc50_char_type_table_f09d93[utf8[3] - 0x80];
+        case 0x94 :
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xbe) {
+            return grn_nfkc50_char_type_table_f09d94[utf8[3] - 0x80];
+          }
+          break;
+        case 0x95 :
+          return grn_nfkc50_char_type_table_f09d95[utf8[3] - 0x80];
+        case 0x96 :
+          return GRN_CHAR_ALPHA;
+        case 0x97 :
+          return GRN_CHAR_ALPHA;
+        case 0x98 :
+          return GRN_CHAR_ALPHA;
+        case 0x99 :
+          return GRN_CHAR_ALPHA;
+        case 0x9a :
+          return grn_nfkc50_char_type_table_f09d9a[utf8[3] - 0x80];
+        case 0x9b :
+          return grn_nfkc50_char_type_table_f09d9b[utf8[3] - 0x80];
+        case 0x9c :
+          return grn_nfkc50_char_type_table_f09d9c[utf8[3] - 0x80];
+        case 0x9d :
+          return grn_nfkc50_char_type_table_f09d9d[utf8[3] - 0x80];
+        case 0x9e :
+          return grn_nfkc50_char_type_table_f09d9e[utf8[3] - 0x80];
+        case 0x9f :
+          return grn_nfkc50_char_type_table_f09d9f[utf8[3] - 0x80];
+        default :
+          break;
+        }
+        break;
+      case 0xa0 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa1 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa2 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa3 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa4 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa5 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa6 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa7 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
+        }
+        break;
+      case 0xa8 :
+        switch (utf8[2]) {
+        case 0x80 :
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
+        case 0x83 :
+          return GRN_CHAR_KANJI;
+        case 0x84 :
+          return GRN_CHAR_KANJI;
+        case 0x85 :
+          return GRN_CHAR_KANJI;
+        case 0x86 :
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
+        case 0x8c :
+          return GRN_CHAR_KANJI;
+        case 0x8d :
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
+        case 0x90 :
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
+        case 0x92 :
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
+        case 0xa0 :
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
+        case 0xa8 :
+          return GRN_CHAR_KANJI;
+        case 0xa9 :
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
           return GRN_CHAR_KANJI;
-        }
-        break;
-      default :
-        break;
-      }
-      break;
-    case 0xed :
-      switch (utf8[1]) {
-      case 0x9e :
-        if (utf8[2] == 0xb0) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-    case 0xef :
-      case 0xa4 :
-        if (utf8[2] == 0x80) {
+        case 0xb3 :
           return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
+        default :
+          break;
         }
         break;
-      case 0xac :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_char_type_table_efac[utf8[2] - 0x80];
-        }
-        break;
-      case 0xad :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x86) {
-          return grn_nfkc50_char_type_table_efad[utf8[2] - 0x80];
-        }
-        break;
-      case 0xae :
-        if (utf8[2] == 0xb2) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-      case 0xaf :
-        if (utf8[2] == 0x93) {
-          return GRN_CHAR_ALPHA;
-        }
-        break;
-      case 0xb4 :
-        if (utf8[2] == 0xbe) {
-          return GRN_CHAR_SYMBOL;
-        }
-        break;
-      case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x90) {
-          return grn_nfkc50_char_type_table_efb5[utf8[2] - 0x80];
-        }
-        break;
-      case 0xb6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0x92) {
-          return grn_nfkc50_char_type_table_efb6[utf8[2] - 0x90];
-        }
-        break;
-      case 0xb7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xbe) {
-          return grn_nfkc50_char_type_table_efb7[utf8[2] - 0x88];
-        }
-        break;
-      case 0xb8 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xb0) {
-          return grn_nfkc50_char_type_table_efb8[utf8[2] - 0x90];
-        }
-        break;
-      case 0xb9 :
-        if (utf8[2] >= 0x93 && utf8[2] <= 0xb6) {
-          return grn_nfkc50_char_type_table_efb9[utf8[2] - 0x93];
-        }
-        break;
-      case 0xbb :
-        if (utf8[2] == 0xbd) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-      case 0xbc :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xbb) {
-          return grn_nfkc50_char_type_table_efbc[utf8[2] - 0x81];
-        }
-        break;
-      case 0xbd :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xa6) {
-          return grn_nfkc50_char_type_table_efbd[utf8[2] - 0x81];
-        }
-        break;
-      case 0xbe :
-        if (utf8[2] == 0xbf) {
-          return GRN_CHAR_OTHERS;
-        }
-        break;
-      case 0xbf :
-        if (utf8[2] >= 0x82 && utf8[2] <= 0xbc) {
-          return grn_nfkc50_char_type_table_efbf[utf8[2] - 0x82];
-        }
-        break;
-      default :
-        break;
-      }
-      break;
-    case 0xf0 :
-      switch (utf8[1]) {
-      case 0x90 :
+      case 0xa9 :
         switch (utf8[2]) {
         case 0x80 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_char_type_table_f09080[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x81 :
-          if (utf8[3] >= 0x8e && utf8[3] <= 0x9e) {
-            return grn_nfkc50_char_type_table_f09081[utf8[3] - 0x8e];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x82 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_ALPHA;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x83 :
-          if (utf8[3] == 0xbb) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x84 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xb7) {
-            return grn_nfkc50_char_type_table_f09084[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x85 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xb9) {
-            return grn_nfkc50_char_type_table_f09085[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x86 :
-          if (utf8[3] >= 0x8a && utf8[3] <= 0x8b) {
-            return grn_nfkc50_char_type_table_f09086[utf8[3] - 0x8a];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x87 :
+          return GRN_CHAR_KANJI;
+        case 0x88 :
+          return GRN_CHAR_KANJI;
+        case 0x89 :
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
         case 0x8c :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xb0) {
-            return grn_nfkc50_char_type_table_f0908c[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x8d :
-          if (utf8[3] >= 0x81 && utf8[3] <= 0x8b) {
-            return grn_nfkc50_char_type_table_f0908d[utf8[3] - 0x81];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x8e :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xa0) {
-            return grn_nfkc50_char_type_table_f0908e[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x8f :
-          if (utf8[3] >= 0x84 && utf8[3] <= 0x96) {
-            return grn_nfkc50_char_type_table_f0908f[utf8[3] - 0x84];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x90 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_ALPHA;
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x91 :
+          return GRN_CHAR_KANJI;
         case 0x92 :
-          if (utf8[3] >= 0x9e && utf8[3] <= 0xaa) {
-            return grn_nfkc50_char_type_table_f09092[utf8[3] - 0x9e];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x93 :
+          return GRN_CHAR_KANJI;
+        case 0x94 :
+          return GRN_CHAR_KANJI;
+        case 0x95 :
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
+        case 0x9a :
+          return GRN_CHAR_KANJI;
+        case 0x9b :
+          return GRN_CHAR_KANJI;
+        case 0x9c :
+          return GRN_CHAR_KANJI;
+        case 0x9d :
+          return GRN_CHAR_KANJI;
+        case 0x9e :
+          return GRN_CHAR_KANJI;
+        case 0x9f :
+          return GRN_CHAR_KANJI;
         case 0xa0 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_char_type_table_f090a0[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0xa1 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
         case 0xa4 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xa0) {
-            return grn_nfkc50_char_type_table_f090a4[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
         case 0xa8 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xb4) {
-            return grn_nfkc50_char_type_table_f090a8[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0xa9 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0x99) {
-            return grn_nfkc50_char_type_table_f090a9[utf8[3] - 0x80];
-          }
-          break;
-        default :
-          break;
-        }
-        break;
-      case 0x92 :
-        switch (utf8[2]) {
-        case 0x80 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_ALPHA;
-          }
-          break;
-        case 0x8d :
-          if (utf8[3] == 0xaf) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
-        case 0x90 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_DIGIT;
-          }
-          break;
-        case 0x91 :
-          if (utf8[3] >= 0xa3 && utf8[3] <= 0xb4) {
-            return grn_nfkc50_char_type_table_f09291[utf8[3] - 0xa3];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0xaa :
+          return GRN_CHAR_KANJI;
+        case 0xab :
+          return GRN_CHAR_KANJI;
+        case 0xac :
+          return GRN_CHAR_KANJI;
+        case 0xad :
+          return GRN_CHAR_KANJI;
+        case 0xae :
+          return GRN_CHAR_KANJI;
+        case 0xaf :
+          return GRN_CHAR_KANJI;
+        case 0xb0 :
+          return GRN_CHAR_KANJI;
+        case 0xb1 :
+          return GRN_CHAR_KANJI;
+        case 0xb2 :
+          return GRN_CHAR_KANJI;
+        case 0xb3 :
+          return GRN_CHAR_KANJI;
+        case 0xb4 :
+          return GRN_CHAR_KANJI;
+        case 0xb5 :
+          return GRN_CHAR_KANJI;
+        case 0xb6 :
+          return GRN_CHAR_KANJI;
+        case 0xb7 :
+          return GRN_CHAR_KANJI;
+        case 0xb8 :
+          return GRN_CHAR_KANJI;
+        case 0xb9 :
+          return GRN_CHAR_KANJI;
+        case 0xba :
+          return GRN_CHAR_KANJI;
+        case 0xbb :
+          return GRN_CHAR_KANJI;
+        case 0xbc :
+          return GRN_CHAR_KANJI;
+        case 0xbd :
+          return GRN_CHAR_KANJI;
+        case 0xbe :
+          return GRN_CHAR_KANJI;
+        case 0xbf :
+          return GRN_CHAR_KANJI;
         default :
           break;
         }
         break;
-      case 0x9d :
+      case 0xaa :
         switch (utf8[2]) {
         case 0x80 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_SYMBOL;
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x81 :
+          return GRN_CHAR_KANJI;
+        case 0x82 :
+          return GRN_CHAR_KANJI;
         case 0x83 :
-          if (utf8[3] == 0xb6) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x84 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xaa) {
-            return grn_nfkc50_char_type_table_f09d84[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x85 :
-          if (utf8[3] >= 0xa5 && utf8[3] <= 0xad) {
-            return grn_nfkc50_char_type_table_f09d85[utf8[3] - 0xa5];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x86 :
-          if (utf8[3] >= 0x83 && utf8[3] <= 0xae) {
-            return grn_nfkc50_char_type_table_f09d86[utf8[3] - 0x83];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x87 :
-          if (utf8[3] == 0x9e) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x88 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_SYMBOL;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x89 :
-          if (utf8[3] >= 0x82 && utf8[3] <= 0x86) {
-            return grn_nfkc50_char_type_table_f09d89[utf8[3] - 0x82];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x8a :
+          return GRN_CHAR_KANJI;
+        case 0x8b :
+          return GRN_CHAR_KANJI;
         case 0x8c :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_SYMBOL;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x8d :
-          if (utf8[3] >= 0x97 && utf8[3] <= 0xb2) {
-            return grn_nfkc50_char_type_table_f09d8d[utf8[3] - 0x97];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x8e :
+          return GRN_CHAR_KANJI;
+        case 0x8f :
+          return GRN_CHAR_KANJI;
         case 0x90 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_ALPHA;
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x91 :
-          if (utf8[3] >= 0x95 && utf8[3] <= 0x96) {
-            return grn_nfkc50_char_type_table_f09d91[utf8[3] - 0x95];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x92 :
-          if (utf8[3] >= 0x9d && utf8[3] <= 0xbd) {
-            return grn_nfkc50_char_type_table_f09d92[utf8[3] - 0x9d];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x93 :
-          if (utf8[3] >= 0x84 && utf8[3] <= 0x85) {
-            return grn_nfkc50_char_type_table_f09d93[utf8[3] - 0x84];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x94 :
-          if (utf8[3] >= 0x86 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_char_type_table_f09d94[utf8[3] - 0x86];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x95 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0x92) {
-            return grn_nfkc50_char_type_table_f09d95[utf8[3] - 0x80];
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0x96 :
+          return GRN_CHAR_KANJI;
+        case 0x97 :
+          return GRN_CHAR_KANJI;
+        case 0x98 :
+          return GRN_CHAR_KANJI;
+        case 0x99 :
+          return GRN_CHAR_KANJI;
         case 0x9a :
-          if (utf8[3] >= 0xa6 && utf8[3] <= 0xa8) {
-            return grn_nfkc50_char_type_table_f09d9a[utf8[3] - 0xa6];
-          }
-          break;
+          return GRN_CHAR_KANJI;
         case 0x9b :
-          if (utf8[3] >= 0x81 && utf8[3] <= 0xbc) {
-            return grn_nfkc50_char_type_table_f09d9b[utf8[3] - 0x81];
-          }
-          break;
-        case 0x9c :
-          if (utf8[3] >= 0x95 && utf8[3] <= 0xb6) {
-            return grn_nfkc50_char_type_table_f09d9c[utf8[3] - 0x95];
-          }
-          break;
-        case 0x9d :
-          if (utf8[3] >= 0x8f && utf8[3] <= 0xb0) {
-            return grn_nfkc50_char_type_table_f09d9d[utf8[3] - 0x8f];
-          }
-          break;
-        case 0x9e :
-          if (utf8[3] >= 0x89 && utf8[3] <= 0xaa) {
-            return grn_nfkc50_char_type_table_f09d9e[utf8[3] - 0x89];
-          }
-          break;
-        case 0x9f :
-          if (utf8[3] >= 0x83 && utf8[3] <= 0x8e) {
-            return grn_nfkc50_char_type_table_f09d9f[utf8[3] - 0x83];
-          }
-          break;
-        case 0xa0 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_OTHERS;
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9f) {
+            return GRN_CHAR_KANJI;
           }
           break;
         default :
           break;
         }
         break;
-      case 0xa0 :
-        switch (utf8[2]) {
-        case 0x80 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_KANJI;
-          }
-          break;
-      case 0xaa :
-        case 0x9b :
-          if (utf8[3] == 0xa0) {
-            return GRN_CHAR_OTHERS;
-          }
-          break;
       case 0xaf :
+        switch (utf8[2]) {
         case 0xa0 :
-          if (utf8[3] == 0x80) {
-            return GRN_CHAR_KANJI;
-          }
-          break;
+          return GRN_CHAR_KANJI;
+        case 0xa1 :
+          return GRN_CHAR_KANJI;
+        case 0xa2 :
+          return GRN_CHAR_KANJI;
+        case 0xa3 :
+          return GRN_CHAR_KANJI;
+        case 0xa4 :
+          return GRN_CHAR_KANJI;
+        case 0xa5 :
+          return GRN_CHAR_KANJI;
+        case 0xa6 :
+          return GRN_CHAR_KANJI;
+        case 0xa7 :
+          return GRN_CHAR_KANJI;
         case 0xa8 :
-          if (utf8[3] == 0xa0) {
-            return GRN_CHAR_OTHERS;
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9f) {
+            return GRN_CHAR_KANJI;
           }
           break;
         default :
@@ -3384,7 +6338,8 @@ const char *
 grn_nfkc50_map1(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x41 && utf8[0] <= 0x5a) {
+    if (utf8[0] >= 0x41 &&
+        utf8[0] <= 0x5a) {
       return grn_nfkc50_decompose_table_[utf8[0] - 0x41];
     } else {
       return NULL;
@@ -3392,62 +6347,66 @@ grn_nfkc50_map1(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc2 :
-      if (utf8[1] >= 0xa0 && utf8[1] <= 0xbe) {
+      if (utf8[1] >= 0xa0 &&
+          utf8[1] <= 0xbe) {
         return grn_nfkc50_decompose_table_c2[utf8[1] - 0xa0];
       }
       break;
     case 0xc3 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0x9d) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0x9d) {
         return grn_nfkc50_decompose_table_c3[utf8[1] - 0x80];
       }
       break;
     case 0xc4 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xbf) {
-        return grn_nfkc50_decompose_table_c4[utf8[1] - 0x80];
-      }
-      break;
+      return grn_nfkc50_decompose_table_c4[utf8[1] - 0x80];
     case 0xc5 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xbf) {
-        return grn_nfkc50_decompose_table_c5[utf8[1] - 0x80];
-      }
-      break;
+      return grn_nfkc50_decompose_table_c5[utf8[1] - 0x80];
     case 0xc6 :
-      if (utf8[1] >= 0xa0 && utf8[1] <= 0xaf) {
+      if (utf8[1] >= 0xa0 &&
+          utf8[1] <= 0xaf) {
         return grn_nfkc50_decompose_table_c6[utf8[1] - 0xa0];
       }
       break;
     case 0xc7 :
-      if (utf8[1] >= 0x84 && utf8[1] <= 0xba) {
+      if (utf8[1] >= 0x84 &&
+          utf8[1] <= 0xba) {
         return grn_nfkc50_decompose_table_c7[utf8[1] - 0x84];
       }
       break;
     case 0xc8 :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xb2) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xb2) {
         return grn_nfkc50_decompose_table_c8[utf8[1] - 0x80];
       }
       break;
     case 0xca :
-      if (utf8[1] >= 0xb0 && utf8[1] <= 0xb8) {
+      if (utf8[1] >= 0xb0 &&
+          utf8[1] <= 0xb8) {
         return grn_nfkc50_decompose_table_ca[utf8[1] - 0xb0];
       }
       break;
     case 0xcb :
-      if (utf8[1] >= 0x98 && utf8[1] <= 0xa4) {
+      if (utf8[1] >= 0x98 &&
+          utf8[1] <= 0xa4) {
         return grn_nfkc50_decompose_table_cb[utf8[1] - 0x98];
       }
       break;
     case 0xcd :
-      if (utf8[1] >= 0x80 && utf8[1] <= 0xbe) {
+      if (utf8[1] >= 0x80 &&
+          utf8[1] <= 0xbe) {
         return grn_nfkc50_decompose_table_cd[utf8[1] - 0x80];
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x84 && utf8[1] <= 0x87) {
+      if (utf8[1] >= 0x84 &&
+          utf8[1] <= 0x87) {
         return grn_nfkc50_decompose_table_ce[utf8[1] - 0x84];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x90 && utf8[1] <= 0xb9) {
+      if (utf8[1] >= 0x90 &&
+          utf8[1] <= 0xb9) {
         return grn_nfkc50_decompose_table_cf[utf8[1] - 0x90];
       }
       break;
@@ -3457,34 +6416,40 @@ grn_nfkc50_map1(const unsigned char *utf8)
       }
       break;
     case 0xd9 :
-      if (utf8[1] >= 0xb5 && utf8[1] <= 0xb8) {
+      if (utf8[1] >= 0xb5 &&
+          utf8[1] <= 0xb8) {
         return grn_nfkc50_decompose_table_d9[utf8[1] - 0xb5];
       }
       break;
     case 0xe0 :
       switch (utf8[1]) {
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0x9f) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0x9f) {
           return grn_nfkc50_decompose_table_e0a5[utf8[2] - 0x98];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x9c && utf8[2] <= 0x9f) {
+        if (utf8[2] >= 0x9c &&
+            utf8[2] <= 0x9f) {
           return grn_nfkc50_decompose_table_e0a7[utf8[2] - 0x9c];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0xb3 && utf8[2] <= 0xb6) {
+        if (utf8[2] >= 0xb3 &&
+            utf8[2] <= 0xb6) {
           return grn_nfkc50_decompose_table_e0a8[utf8[2] - 0xb3];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x99 && utf8[2] <= 0x9e) {
+        if (utf8[2] >= 0x99 &&
+            utf8[2] <= 0x9e) {
           return grn_nfkc50_decompose_table_e0a9[utf8[2] - 0x99];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x9c && utf8[2] <= 0x9d) {
+        if (utf8[2] >= 0x9c &&
+            utf8[2] <= 0x9d) {
           return grn_nfkc50_decompose_table_e0ad[utf8[2] - 0x9c];
         }
         break;
@@ -3499,7 +6464,8 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x9c && utf8[2] <= 0x9d) {
+        if (utf8[2] >= 0x9c &&
+            utf8[2] <= 0x9d) {
           return grn_nfkc50_decompose_table_e0bb[utf8[2] - 0x9c];
         }
         break;
@@ -3509,12 +6475,14 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x83 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0x83 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_decompose_table_e0bd[utf8[2] - 0x83];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_decompose_table_e0be[utf8[2] - 0x81];
         }
         break;
@@ -3530,52 +6498,62 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0xac && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0xac &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e1b4[utf8[2] - 0xac];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_decompose_table_e1b5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x9b && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x9b &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e1b6[utf8[2] - 0x9b];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e1b8[utf8[2] - 0x80];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e1b9[utf8[2] - 0x80];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e1ba[utf8[2] - 0x80];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_decompose_table_e1bb[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0xb1 && utf8[2] <= 0xbd) {
+        if (utf8[2] >= 0xb1 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_decompose_table_e1bd[utf8[2] - 0xb1];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0xbb && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0xbb &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e1be[utf8[2] - 0xbb];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e1bf[utf8[2] - 0x80];
         }
         break;
@@ -3586,52 +6564,50 @@ grn_nfkc50_map1(const unsigned char *utf8)
     case 0xe2 :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e280[utf8[2] - 0x80];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x87 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x87 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e281[utf8[2] - 0x87];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_decompose_table_e282[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e284[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e284[utf8[2] - 0x80];
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e285[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e285[utf8[2] - 0x80];
       case 0x88 :
-        if (utf8[2] >= 0xac && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0xac &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_decompose_table_e288[utf8[2] - 0xac];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0xa9 && utf8[2] <= 0xaa) {
+        if (utf8[2] >= 0xa9 &&
+            utf8[2] <= 0xaa) {
           return grn_nfkc50_decompose_table_e28c[utf8[2] - 0xa9];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0xa0 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0xa0 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e291[utf8[2] - 0xa0];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e292[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e292[utf8[2] - 0x80];
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xaa) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaa) {
           return grn_nfkc50_decompose_table_e293[utf8[2] - 0x80];
         }
         break;
@@ -3641,7 +6617,8 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0xb4 && utf8[2] <= 0xb6) {
+        if (utf8[2] >= 0xb4 &&
+            utf8[2] <= 0xb6) {
           return grn_nfkc50_decompose_table_e2a9[utf8[2] - 0xb4];
         }
         break;
@@ -3666,22 +6643,14 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e2bc[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e2bc[utf8[2] - 0x80];
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e2bd[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e2bd[utf8[2] - 0x80];
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e2be[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e2be[utf8[2] - 0x80];
       case 0xbf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x95) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x95) {
           return grn_nfkc50_decompose_table_e2bf[utf8[2] - 0x80];
         }
         break;
@@ -3692,12 +6661,14 @@ grn_nfkc50_map1(const unsigned char *utf8)
     case 0xe3 :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xba) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xba) {
           return grn_nfkc50_decompose_table_e380[utf8[2] - 0x80];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x9b && utf8[2] <= 0x9f) {
+        if (utf8[2] >= 0x9b &&
+            utf8[2] <= 0x9f) {
           return grn_nfkc50_decompose_table_e382[utf8[2] - 0x9b];
         }
         break;
@@ -3707,60 +6678,43 @@ grn_nfkc50_map1(const unsigned char *utf8)
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0xb1 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0xb1 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_e384[utf8[2] - 0xb1];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e385[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e385[utf8[2] - 0x80];
       case 0x86 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x9f) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x9f) {
           return grn_nfkc50_decompose_table_e386[utf8[2] - 0x80];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e388[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e388[utf8[2] - 0x80];
       case 0x89 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e389[utf8[2] - 0x80];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e38a[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e38a[utf8[2] - 0x80];
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_e38b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e38c[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e38c[utf8[2] - 0x80];
       case 0x8d :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e38d[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e38d[utf8[2] - 0x80];
       case 0x8e :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e38e[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e38e[utf8[2] - 0x80];
       case 0x8f :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_e38f[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_e38f[utf8[2] - 0x80];
       default :
         break;
       }
@@ -3768,142 +6722,106 @@ grn_nfkc50_map1(const unsigned char *utf8)
     case 0xef :
       switch (utf8[1]) {
       case 0xa4 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa4[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa4[utf8[2] - 0x80];
       case 0xa5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa5[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa5[utf8[2] - 0x80];
       case 0xa6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa6[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa6[utf8[2] - 0x80];
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa7[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa7[utf8[2] - 0x80];
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa8[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa8[utf8[2] - 0x80];
       case 0xa9 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efa9[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efa9[utf8[2] - 0x80];
       case 0xaa :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efaa[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efaa[utf8[2] - 0x80];
       case 0xab :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x99) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x99) {
           return grn_nfkc50_decompose_table_efab[utf8[2] - 0x80];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_efac[utf8[2] - 0x80];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efad[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efad[utf8[2] - 0x80];
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb1) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb1) {
           return grn_nfkc50_decompose_table_efae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x93 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x93 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_efaf[utf8[2] - 0x93];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb0[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb0[utf8[2] - 0x80];
       case 0xb1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb1[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb1[utf8[2] - 0x80];
       case 0xb2 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb2[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb2[utf8[2] - 0x80];
       case 0xb3 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb3[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb3[utf8[2] - 0x80];
       case 0xb4 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbd) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_decompose_table_efb4[utf8[2] - 0x80];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_efb5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb6[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb6[utf8[2] - 0x80];
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_decompose_table_efb7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_efb8[utf8[2] - 0x90];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efb9[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efb9[utf8[2] - 0x80];
       case 0xba :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efba[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efba[utf8[2] - 0x80];
       case 0xbb :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_decompose_table_efbb[utf8[2] - 0x80];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_decompose_table_efbc[utf8[2] - 0x81];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbf) {
-          return grn_nfkc50_decompose_table_efbd[utf8[2] - 0x80];
-        }
-        break;
+        return grn_nfkc50_decompose_table_efbd[utf8[2] - 0x80];
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xbe) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xbe) {
           return grn_nfkc50_decompose_table_efbe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x82 && utf8[2] <= 0xae) {
+        if (utf8[2] >= 0x82 &&
+            utf8[2] <= 0xae) {
           return grn_nfkc50_decompose_table_efbf[utf8[2] - 0x82];
         }
         break;
@@ -3916,12 +6834,14 @@ grn_nfkc50_map1(const unsigned char *utf8)
       case 0x9d :
         switch (utf8[2]) {
         case 0x85 :
-          if (utf8[3] >= 0x9e && utf8[3] <= 0xa4) {
+          if (utf8[3] >= 0x9e &&
+              utf8[3] <= 0xa4) {
             return grn_nfkc50_decompose_table_f09d85[utf8[3] - 0x9e];
           }
           break;
         case 0x86 :
-          if (utf8[3] >= 0xbb && utf8[3] <= 0xbf) {
+          if (utf8[3] >= 0xbb &&
+              utf8[3] <= 0xbf) {
             return grn_nfkc50_decompose_table_f09d86[utf8[3] - 0xbb];
           }
           break;
@@ -3931,85 +6851,41 @@ grn_nfkc50_map1(const unsigned char *utf8)
           }
           break;
         case 0x90 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d90[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d90[utf8[3] - 0x80];
         case 0x91 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d91[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d91[utf8[3] - 0x80];
         case 0x92 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d92[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d92[utf8[3] - 0x80];
         case 0x93 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d93[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d93[utf8[3] - 0x80];
         case 0x94 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbe) {
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0xbe) {
             return grn_nfkc50_decompose_table_f09d94[utf8[3] - 0x80];
           }
           break;
         case 0x95 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d95[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d95[utf8[3] - 0x80];
         case 0x96 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d96[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d96[utf8[3] - 0x80];
         case 0x97 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d97[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d97[utf8[3] - 0x80];
         case 0x98 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d98[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d98[utf8[3] - 0x80];
         case 0x99 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d99[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d99[utf8[3] - 0x80];
         case 0x9a :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9a[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9a[utf8[3] - 0x80];
         case 0x9b :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9b[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9b[utf8[3] - 0x80];
         case 0x9c :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9c[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9c[utf8[3] - 0x80];
         case 0x9d :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9d[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9d[utf8[3] - 0x80];
         case 0x9e :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9e[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9e[utf8[3] - 0x80];
         case 0x9f :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f09d9f[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f09d9f[utf8[3] - 0x80];
         default :
           break;
         }
@@ -4017,47 +6893,24 @@ grn_nfkc50_map1(const unsigned char *utf8)
       case 0xaf :
         switch (utf8[2]) {
         case 0xa0 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa0[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa0[utf8[3] - 0x80];
         case 0xa1 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa1[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa1[utf8[3] - 0x80];
         case 0xa2 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa2[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa2[utf8[3] - 0x80];
         case 0xa3 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa3[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa3[utf8[3] - 0x80];
         case 0xa4 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa4[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa4[utf8[3] - 0x80];
         case 0xa5 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa5[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa5[utf8[3] - 0x80];
         case 0xa6 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa6[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa6[utf8[3] - 0x80];
         case 0xa7 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0xbf) {
-            return grn_nfkc50_decompose_table_f0afa7[utf8[3] - 0x80];
-          }
-          break;
+          return grn_nfkc50_decompose_table_f0afa7[utf8[3] - 0x80];
         case 0xa8 :
-          if (utf8[3] >= 0x80 && utf8[3] <= 0x9d) {
+          if (utf8[3] >= 0x80 &&
+              utf8[3] <= 0x9d) {
             return grn_nfkc50_decompose_table_f0afa8[utf8[3] - 0x80];
           }
           break;
@@ -4147,7 +7000,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc80(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc80_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4155,12 +7009,14 @@ grn_nfkc50_compose_prefix_cc80(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc3 :
-      if (utf8[1] >= 0xa2 && utf8[1] <= 0xbc) {
+      if (utf8[1] >= 0xa2 &&
+          utf8[1] <= 0xbc) {
         return grn_nfkc50_compose_prefix_cc80_table_c3[utf8[1] - 0xa2];
       }
       break;
     case 0xc4 :
-      if (utf8[1] >= 0x83 && utf8[1] <= 0x93) {
+      if (utf8[1] >= 0x83 &&
+          utf8[1] <= 0x93) {
         return grn_nfkc50_compose_prefix_cc80_table_c4[utf8[1] - 0x83];
       }
       break;
@@ -4170,34 +7026,40 @@ grn_nfkc50_compose_prefix_cc80(const unsigned char *utf8)
       }
       break;
     case 0xc6 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xb0) {
         return grn_nfkc50_compose_prefix_cc80_table_c6[utf8[1] - 0xa1];
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_compose_prefix_cc80_table_ce[utf8[1] - 0x91];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x85 && utf8[1] <= 0x8b) {
+      if (utf8[1] >= 0x85 &&
+          utf8[1] <= 0x8b) {
         return grn_nfkc50_compose_prefix_cc80_table_cf[utf8[1] - 0x85];
       }
       break;
     case 0xd0 :
-      if (utf8[1] >= 0x95 && utf8[1] <= 0xb8) {
+      if (utf8[1] >= 0x95 &&
+          utf8[1] <= 0xb8) {
         return grn_nfkc50_compose_prefix_cc80_table_d0[utf8[1] - 0x95];
       }
       break;
     case 0xe1 :
       switch (utf8[1]) {
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_compose_prefix_cc80_table_e1bc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa9) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa9) {
           return grn_nfkc50_compose_prefix_cc80_table_e1bd[utf8[2] - 0x80];
         }
         break;
@@ -4293,7 +7155,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc81(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_cc81_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4301,49 +7164,58 @@ grn_nfkc50_compose_prefix_cc81(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc3 :
-      if (utf8[1] >= 0x86 && utf8[1] <= 0xbc) {
+      if (utf8[1] >= 0x86 &&
+          utf8[1] <= 0xbc) {
         return grn_nfkc50_compose_prefix_cc81_table_c3[utf8[1] - 0x86];
       }
       break;
     case 0xc4 :
-      if (utf8[1] >= 0x83 && utf8[1] <= 0x93) {
+      if (utf8[1] >= 0x83 &&
+          utf8[1] <= 0x93) {
         return grn_nfkc50_compose_prefix_cc81_table_c4[utf8[1] - 0x83];
       }
       break;
     case 0xc5 :
-      if (utf8[1] >= 0x8d && utf8[1] <= 0xa9) {
+      if (utf8[1] >= 0x8d &&
+          utf8[1] <= 0xa9) {
         return grn_nfkc50_compose_prefix_cc81_table_c5[utf8[1] - 0x8d];
       }
       break;
     case 0xc6 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xb0) {
         return grn_nfkc50_compose_prefix_cc81_table_c6[utf8[1] - 0xa1];
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_compose_prefix_cc81_table_ce[utf8[1] - 0x91];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x85 && utf8[1] <= 0x8b) {
+      if (utf8[1] >= 0x85 &&
+          utf8[1] <= 0x8b) {
         return grn_nfkc50_compose_prefix_cc81_table_cf[utf8[1] - 0x85];
       }
       break;
     case 0xd0 :
-      if (utf8[1] >= 0x93 && utf8[1] <= 0xba) {
+      if (utf8[1] >= 0x93 &&
+          utf8[1] <= 0xba) {
         return grn_nfkc50_compose_prefix_cc81_table_d0[utf8[1] - 0x93];
       }
       break;
     case 0xe1 :
       switch (utf8[1]) {
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_compose_prefix_cc81_table_e1bc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xa9) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xa9) {
           return grn_nfkc50_compose_prefix_cc81_table_e1bd[utf8[2] - 0x80];
         }
         break;
@@ -4377,7 +7249,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc82(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_cc82_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4387,7 +7260,8 @@ grn_nfkc50_compose_prefix_cc82(const unsigned char *utf8)
     case 0xe1 :
       switch (utf8[1]) {
       case 0xba :
-        if (utf8[2] >= 0xa1 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0xa1 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_compose_prefix_cc82_table_e1ba[utf8[2] - 0xa1];
         }
         break;
@@ -4430,7 +7304,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc83(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc83_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4438,7 +7313,8 @@ grn_nfkc50_compose_prefix_cc83(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc3 :
-      if (utf8[1] >= 0xa2 && utf8[1] <= 0xb4) {
+      if (utf8[1] >= 0xa2 &&
+          utf8[1] <= 0xb4) {
         return grn_nfkc50_compose_prefix_cc83_table_c3[utf8[1] - 0xa2];
       }
       break;
@@ -4448,7 +7324,8 @@ grn_nfkc50_compose_prefix_cc83(const unsigned char *utf8)
       }
       break;
     case 0xc6 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xb0) {
         return grn_nfkc50_compose_prefix_cc83_table_c6[utf8[1] - 0xa1];
       }
       break;
@@ -4502,7 +7379,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc88(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc88_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4520,7 +7398,8 @@ grn_nfkc50_compose_prefix_cc88(const unsigned char *utf8)
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x99 && utf8[1] <= 0xb9) {
+      if (utf8[1] >= 0x99 &&
+          utf8[1] <= 0xb9) {
         return grn_nfkc50_compose_prefix_cc88_table_ce[utf8[1] - 0x99];
       }
       break;
@@ -4530,17 +7409,20 @@ grn_nfkc50_compose_prefix_cc88(const unsigned char *utf8)
       }
       break;
     case 0xd0 :
-      if (utf8[1] >= 0x86 && utf8[1] <= 0xbe) {
+      if (utf8[1] >= 0x86 &&
+          utf8[1] <= 0xbe) {
         return grn_nfkc50_compose_prefix_cc88_table_d0[utf8[1] - 0x86];
       }
       break;
     case 0xd1 :
-      if (utf8[1] >= 0x83 && utf8[1] <= 0x96) {
+      if (utf8[1] >= 0x83 &&
+          utf8[1] <= 0x96) {
         return grn_nfkc50_compose_prefix_cc88_table_d1[utf8[1] - 0x83];
       }
       break;
     case 0xd3 :
-      if (utf8[1] >= 0x98 && utf8[1] <= 0xa9) {
+      if (utf8[1] >= 0x98 &&
+          utf8[1] <= 0xa9) {
         return grn_nfkc50_compose_prefix_cc88_table_d3[utf8[1] - 0x98];
       }
       break;
@@ -4563,7 +7445,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc8a(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc8a_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4584,7 +7467,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cca7(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x63 && utf8[0] <= 0x74) {
+    if (utf8[0] >= 0x63 &&
+        utf8[0] <= 0x74) {
       return grn_nfkc50_compose_prefix_cca7_table_[utf8[0] - 0x63];
     } else {
       return NULL;
@@ -4638,7 +7522,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc84(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc84_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4646,7 +7531,8 @@ grn_nfkc50_compose_prefix_cc84(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc3 :
-      if (utf8[1] >= 0x86 && utf8[1] <= 0xbc) {
+      if (utf8[1] >= 0x86 &&
+          utf8[1] <= 0xbc) {
         return grn_nfkc50_compose_prefix_cc84_table_c3[utf8[1] - 0x86];
       }
       break;
@@ -4656,12 +7542,14 @@ grn_nfkc50_compose_prefix_cc84(const unsigned char *utf8)
       }
       break;
     case 0xc8 :
-      if (utf8[1] >= 0xa7 && utf8[1] <= 0xaf) {
+      if (utf8[1] >= 0xa7 &&
+          utf8[1] <= 0xaf) {
         return grn_nfkc50_compose_prefix_cc84_table_c8[utf8[1] - 0xa7];
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xb9) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xb9) {
         return grn_nfkc50_compose_prefix_cc84_table_ce[utf8[1] - 0x91];
       }
       break;
@@ -4671,7 +7559,8 @@ grn_nfkc50_compose_prefix_cc84(const unsigned char *utf8)
       }
       break;
     case 0xd0 :
-      if (utf8[1] >= 0x98 && utf8[1] <= 0xb8) {
+      if (utf8[1] >= 0x98 &&
+          utf8[1] <= 0xb8) {
         return grn_nfkc50_compose_prefix_cc84_table_d0[utf8[1] - 0x98];
       }
       break;
@@ -4732,7 +7621,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc86(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cc86_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4745,7 +7635,8 @@ grn_nfkc50_compose_prefix_cc86(const unsigned char *utf8)
       }
       break;
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xb9) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xb9) {
         return grn_nfkc50_compose_prefix_cc86_table_ce[utf8[1] - 0x91];
       }
       break;
@@ -4755,7 +7646,8 @@ grn_nfkc50_compose_prefix_cc86(const unsigned char *utf8)
       }
       break;
     case 0xd0 :
-      if (utf8[1] >= 0x90 && utf8[1] <= 0xb8) {
+      if (utf8[1] >= 0x90 &&
+          utf8[1] <= 0xb8) {
         return grn_nfkc50_compose_prefix_cc86_table_d0[utf8[1] - 0x90];
       }
       break;
@@ -4793,7 +7685,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cca8(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cca8_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4819,7 +7712,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc87(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_cc87_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4827,7 +7721,8 @@ grn_nfkc50_compose_prefix_cc87(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc5 :
-      if (utf8[1] >= 0x9b && utf8[1] <= 0xa1) {
+      if (utf8[1] >= 0x9b &&
+          utf8[1] <= 0xa1) {
         return grn_nfkc50_compose_prefix_cc87_table_c5[utf8[1] - 0x9b];
       }
       break;
@@ -4861,7 +7756,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc8c(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_cc8c_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4899,7 +7795,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc8b(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x6f && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x6f &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cc8b_table_[utf8[0] - 0x6f];
     } else {
       return NULL;
@@ -4932,7 +7829,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc9b(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x6f && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x6f &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cc9b_table_[utf8[0] - 0x6f];
     } else {
       return NULL;
@@ -4957,7 +7855,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc8f(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cc8f_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -4965,7 +7864,8 @@ grn_nfkc50_compose_prefix_cc8f(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xd1 :
-      if (utf8[1] >= 0xb4 && utf8[1] <= 0xb5) {
+      if (utf8[1] >= 0xb4 &&
+          utf8[1] <= 0xb5) {
         return grn_nfkc50_compose_prefix_cc8f_table_d1[utf8[1] - 0xb4];
       }
       break;
@@ -4987,7 +7887,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc91(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_cc91_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -5006,7 +7907,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cca6(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x73 && utf8[0] <= 0x74) {
+    if (utf8[0] >= 0x73 &&
+        utf8[0] <= 0x74) {
       return grn_nfkc50_compose_prefix_cca6_table_[utf8[0] - 0x73];
     } else {
       return NULL;
@@ -5056,12 +7958,14 @@ grn_nfkc50_compose_prefix_d994(const unsigned char *utf8)
       }
       break;
     case 0xd9 :
-      if (utf8[1] >= 0x88 && utf8[1] <= 0x8a) {
+      if (utf8[1] >= 0x88 &&
+          utf8[1] <= 0x8a) {
         return grn_nfkc50_compose_prefix_d994_table_d9[utf8[1] - 0x88];
       }
       break;
     case 0xdb :
-      if (utf8[1] >= 0x81 && utf8[1] <= 0x95) {
+      if (utf8[1] >= 0x81 &&
+          utf8[1] <= 0x95) {
         return grn_nfkc50_compose_prefix_d994_table_db[utf8[1] - 0x81];
       }
       break;
@@ -5104,7 +8008,8 @@ grn_nfkc50_compose_prefix_e0a4bc(const unsigned char *utf8)
     case 0xe0 :
       switch (utf8[1]) {
       case 0xa4 :
-        if (utf8[2] >= 0xa8 && utf8[2] <= 0xb3) {
+        if (utf8[2] >= 0xa8 &&
+            utf8[2] <= 0xb3) {
           return grn_nfkc50_compose_prefix_e0a4bc_table_e0a4[utf8[2] - 0xa8];
         }
         break;
@@ -5281,7 +8186,8 @@ grn_nfkc50_compose_prefix_e0aebe(const unsigned char *utf8)
     case 0xe0 :
       switch (utf8[1]) {
       case 0xaf :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0x87) {
+        if (utf8[2] >= 0x86 &&
+            utf8[2] <= 0x87) {
           return grn_nfkc50_compose_prefix_e0aebe_table_e0af[utf8[2] - 0x86];
         }
         break;
@@ -5338,7 +8244,8 @@ grn_nfkc50_compose_prefix_e0b395(const unsigned char *utf8)
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0x8a) {
+        if (utf8[2] >= 0x86 &&
+            utf8[2] <= 0x8a) {
           return grn_nfkc50_compose_prefix_e0b395_table_e0b3[utf8[2] - 0x86];
         }
         break;
@@ -5414,7 +8321,8 @@ grn_nfkc50_compose_prefix_e0b4be(const unsigned char *utf8)
     case 0xe0 :
       switch (utf8[1]) {
       case 0xb5 :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0x87) {
+        if (utf8[2] >= 0x86 &&
+            utf8[2] <= 0x87) {
           return grn_nfkc50_compose_prefix_e0b4be_table_e0b5[utf8[2] - 0x86];
         }
         break;
@@ -5466,7 +8374,8 @@ grn_nfkc50_compose_prefix_e0b78a(const unsigned char *utf8)
     case 0xe0 :
       switch (utf8[1]) {
       case 0xb7 :
-        if (utf8[2] >= 0x99 && utf8[2] <= 0x9c) {
+        if (utf8[2] >= 0x99 &&
+            utf8[2] <= 0x9c) {
           return grn_nfkc50_compose_prefix_e0b78a_table_e0b7[utf8[2] - 0x99];
         }
         break;
@@ -5573,7 +8482,8 @@ grn_nfkc50_compose_prefix_e1acb5(const unsigned char *utf8)
     case 0xe1 :
       switch (utf8[1]) {
       case 0xac :
-        if (utf8[2] >= 0x85 && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x85 &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_compose_prefix_e1acb5_table_e1ac[utf8[2] - 0x85];
         }
         break;
@@ -5625,7 +8535,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cca3(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_cca3_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -5633,7 +8544,8 @@ grn_nfkc50_compose_prefix_cca3(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc6 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xb0) {
         return grn_nfkc50_compose_prefix_cca3_table_c6[utf8[1] - 0xa1];
       }
       break;
@@ -5656,7 +8568,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_ccb1(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x62 && utf8[0] <= 0x7a) {
+    if (utf8[0] >= 0x62 &&
+        utf8[0] <= 0x7a) {
       return grn_nfkc50_compose_prefix_ccb1_table_[utf8[0] - 0x62];
     } else {
       return NULL;
@@ -5677,7 +8590,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_ccad(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x64 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x64 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_ccad_table_[utf8[0] - 0x64];
     } else {
       return NULL;
@@ -5698,7 +8612,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_ccb0(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x65 && utf8[0] <= 0x75) {
+    if (utf8[0] >= 0x65 &&
+        utf8[0] <= 0x75) {
       return grn_nfkc50_compose_prefix_ccb0_table_[utf8[0] - 0x65];
     } else {
       return NULL;
@@ -5761,7 +8676,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_cc89(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x61 && utf8[0] <= 0x79) {
+    if (utf8[0] >= 0x61 &&
+        utf8[0] <= 0x79) {
       return grn_nfkc50_compose_prefix_cc89_table_[utf8[0] - 0x61];
     } else {
       return NULL;
@@ -5769,7 +8685,8 @@ grn_nfkc50_compose_prefix_cc89(const unsigned char *utf8)
   } else {
     switch (utf8[0]) {
     case 0xc3 :
-      if (utf8[1] >= 0xa2 && utf8[1] <= 0xb4) {
+      if (utf8[1] >= 0xa2 &&
+          utf8[1] <= 0xb4) {
         return grn_nfkc50_compose_prefix_cc89_table_c3[utf8[1] - 0xa2];
       }
       break;
@@ -5779,7 +8696,8 @@ grn_nfkc50_compose_prefix_cc89(const unsigned char *utf8)
       }
       break;
     case 0xc6 :
-      if (utf8[1] >= 0xa1 && utf8[1] <= 0xb0) {
+      if (utf8[1] >= 0xa1 &&
+          utf8[1] <= 0xb0) {
         return grn_nfkc50_compose_prefix_cc89_table_c6[utf8[1] - 0xa1];
       }
       break;
@@ -5811,12 +8729,14 @@ grn_nfkc50_compose_prefix_cc93(const unsigned char *utf8)
   {
     switch (utf8[0]) {
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_compose_prefix_cc93_table_ce[utf8[1] - 0x91];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x81 && utf8[1] <= 0x89) {
+      if (utf8[1] >= 0x81 &&
+          utf8[1] <= 0x89) {
         return grn_nfkc50_compose_prefix_cc93_table_cf[utf8[1] - 0x81];
       }
       break;
@@ -5848,12 +8768,14 @@ grn_nfkc50_compose_prefix_cc94(const unsigned char *utf8)
   {
     switch (utf8[0]) {
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xbf) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xbf) {
         return grn_nfkc50_compose_prefix_cc94_table_ce[utf8[1] - 0x91];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x81 && utf8[1] <= 0x89) {
+      if (utf8[1] >= 0x81 &&
+          utf8[1] <= 0x89) {
         return grn_nfkc50_compose_prefix_cc94_table_cf[utf8[1] - 0x81];
       }
       break;
@@ -5898,24 +8820,28 @@ grn_nfkc50_compose_prefix_cd82(const unsigned char *utf8)
   {
     switch (utf8[0]) {
     case 0xce :
-      if (utf8[1] >= 0xb1 && utf8[1] <= 0xb9) {
+      if (utf8[1] >= 0xb1 &&
+          utf8[1] <= 0xb9) {
         return grn_nfkc50_compose_prefix_cd82_table_ce[utf8[1] - 0xb1];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x85 && utf8[1] <= 0x8b) {
+      if (utf8[1] >= 0x85 &&
+          utf8[1] <= 0x8b) {
         return grn_nfkc50_compose_prefix_cd82_table_cf[utf8[1] - 0x85];
       }
       break;
     case 0xe1 :
       switch (utf8[1]) {
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb9) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb9) {
           return grn_nfkc50_compose_prefix_cd82_table_e1bc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xa9) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xa9) {
           return grn_nfkc50_compose_prefix_cd82_table_e1bd[utf8[2] - 0x90];
         }
         break;
@@ -5975,24 +8901,28 @@ grn_nfkc50_compose_prefix_cd85(const unsigned char *utf8)
   {
     switch (utf8[0]) {
     case 0xce :
-      if (utf8[1] >= 0x91 && utf8[1] <= 0xb7) {
+      if (utf8[1] >= 0x91 &&
+          utf8[1] <= 0xb7) {
         return grn_nfkc50_compose_prefix_cd85_table_ce[utf8[1] - 0x91];
       }
       break;
     case 0xcf :
-      if (utf8[1] >= 0x89 && utf8[1] <= 0x8e) {
+      if (utf8[1] >= 0x89 &&
+          utf8[1] <= 0x8e) {
         return grn_nfkc50_compose_prefix_cd85_table_cf[utf8[1] - 0x89];
       }
       break;
     case 0xe1 :
       switch (utf8[1]) {
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xaf) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xaf) {
           return grn_nfkc50_compose_prefix_cd85_table_e1bc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0xa0 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0xa0 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_cd85_table_e1bd[utf8[2] - 0xa0];
         }
         break;
@@ -6002,7 +8932,8 @@ grn_nfkc50_compose_prefix_cd85(const unsigned char *utf8)
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0xb6) {
+        if (utf8[2] >= 0x86 &&
+            utf8[2] <= 0xb6) {
           return grn_nfkc50_compose_prefix_cd85_table_e1bf[utf8[2] - 0x86];
         }
         break;
@@ -6066,7 +8997,8 @@ static inline const char *
 grn_nfkc50_compose_prefix_ccb8(const unsigned char *utf8)
 {
   if (utf8[0] < 0x80) {
-    if (utf8[0] >= 0x3c && utf8[0] <= 0x3e) {
+    if (utf8[0] >= 0x3c &&
+        utf8[0] <= 0x3e) {
       return grn_nfkc50_compose_prefix_ccb8_table_[utf8[0] - 0x3c];
     } else {
       return NULL;
@@ -6076,27 +9008,32 @@ grn_nfkc50_compose_prefix_ccb8(const unsigned char *utf8)
     case 0xe2 :
       switch (utf8[1]) {
       case 0x86 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0x94) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0x94) {
           return grn_nfkc50_compose_prefix_ccb8_table_e286[utf8[2] - 0x90];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0x94) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0x94) {
           return grn_nfkc50_compose_prefix_ccb8_table_e287[utf8[2] - 0x90];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x83 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x83 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_ccb8_table_e288[utf8[2] - 0x83];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x83 && utf8[2] <= 0xbd) {
+        if (utf8[2] >= 0x83 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_compose_prefix_ccb8_table_e289[utf8[2] - 0x83];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x82 && utf8[2] <= 0xb5) {
+        if (utf8[2] >= 0x82 &&
+            utf8[2] <= 0xb5) {
           return grn_nfkc50_compose_prefix_ccb8_table_e28a[utf8[2] - 0x82];
         }
         break;
@@ -6149,17 +9086,20 @@ grn_nfkc50_compose_prefix_e38299(const unsigned char *utf8)
     case 0xe3 :
       switch (utf8[1]) {
       case 0x81 :
-        if (utf8[2] >= 0x86 && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0x86 &&
+            utf8[2] <= 0xbb) {
           return grn_nfkc50_compose_prefix_e38299_table_e381[utf8[2] - 0x86];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x9d && utf8[2] <= 0xbf) {
+        if (utf8[2] >= 0x9d &&
+            utf8[2] <= 0xbf) {
           return grn_nfkc50_compose_prefix_e38299_table_e382[utf8[2] - 0x9d];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x81 && utf8[2] <= 0xbd) {
+        if (utf8[2] >= 0x81 &&
+            utf8[2] <= 0xbd) {
           return grn_nfkc50_compose_prefix_e38299_table_e383[utf8[2] - 0x81];
         }
         break;
@@ -6193,12 +9133,14 @@ grn_nfkc50_compose_prefix_e3829a(const unsigned char *utf8)
     case 0xe3 :
       switch (utf8[1]) {
       case 0x81 :
-        if (utf8[2] >= 0xaf && utf8[2] <= 0xbb) {
+        if (utf8[2] >= 0xaf &&
+            utf8[2] <= 0xbb) {
           return grn_nfkc50_compose_prefix_e3829a_table_e381[utf8[2] - 0xaf];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x8f && utf8[2] <= 0x9b) {
+        if (utf8[2] >= 0x8f &&
+            utf8[2] <= 0x9b) {
           return grn_nfkc50_compose_prefix_e3829a_table_e383[utf8[2] - 0x8f];
         }
         break;
@@ -6228,7 +9170,8 @@ grn_nfkc50_compose_prefix_e185a1(const unsigned char *utf8)
     case 0xe1 :
       switch (utf8[1]) {
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0x92) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0x92) {
           return grn_nfkc50_compose_prefix_e185a1_table_e184[utf8[2] - 0x80];
         }
         break;
@@ -7670,82 +10613,98 @@ grn_nfkc50_compose_prefix_e186a8(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -7756,322 +10715,386 @@ grn_nfkc50_compose_prefix_e186a8(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -8082,322 +11105,386 @@ grn_nfkc50_compose_prefix_e186a8(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -8408,152 +11495,182 @@ grn_nfkc50_compose_prefix_e186a8(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a8_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -10000,82 +13117,98 @@ grn_nfkc50_compose_prefix_e186a9(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -10086,322 +13219,386 @@ grn_nfkc50_compose_prefix_e186a9(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -10412,322 +13609,386 @@ grn_nfkc50_compose_prefix_e186a9(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -10738,152 +13999,182 @@ grn_nfkc50_compose_prefix_e186a9(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186a9_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -12330,82 +15621,98 @@ grn_nfkc50_compose_prefix_e186aa(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -12416,322 +15723,386 @@ grn_nfkc50_compose_prefix_e186aa(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -12742,322 +16113,386 @@ grn_nfkc50_compose_prefix_e186aa(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -13068,152 +16503,182 @@ grn_nfkc50_compose_prefix_e186aa(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186aa_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -14660,82 +18125,98 @@ grn_nfkc50_compose_prefix_e186ab(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -14746,322 +18227,386 @@ grn_nfkc50_compose_prefix_e186ab(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -15072,322 +18617,386 @@ grn_nfkc50_compose_prefix_e186ab(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -15398,152 +19007,182 @@ grn_nfkc50_compose_prefix_e186ab(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ab_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -16990,82 +20629,98 @@ grn_nfkc50_compose_prefix_e186ac(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -17076,322 +20731,386 @@ grn_nfkc50_compose_prefix_e186ac(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -17402,322 +21121,386 @@ grn_nfkc50_compose_prefix_e186ac(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -17728,152 +21511,182 @@ grn_nfkc50_compose_prefix_e186ac(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ac_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -19320,82 +23133,98 @@ grn_nfkc50_compose_prefix_e186ad(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -19406,322 +23235,386 @@ grn_nfkc50_compose_prefix_e186ad(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -19732,322 +23625,386 @@ grn_nfkc50_compose_prefix_e186ad(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -20058,152 +24015,182 @@ grn_nfkc50_compose_prefix_e186ad(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ad_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -21650,82 +25637,98 @@ grn_nfkc50_compose_prefix_e186ae(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -21736,322 +25739,386 @@ grn_nfkc50_compose_prefix_e186ae(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -22062,322 +26129,386 @@ grn_nfkc50_compose_prefix_e186ae(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -22388,152 +26519,182 @@ grn_nfkc50_compose_prefix_e186ae(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186ae_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -23980,82 +28141,98 @@ grn_nfkc50_compose_prefix_e186af(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -24066,322 +28243,386 @@ grn_nfkc50_compose_prefix_e186af(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -24392,322 +28633,386 @@ grn_nfkc50_compose_prefix_e186af(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -24718,152 +29023,182 @@ grn_nfkc50_compose_prefix_e186af(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186af_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186af_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186af_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186af_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186af_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -26310,82 +30645,98 @@ grn_nfkc50_compose_prefix_e186b0(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -26396,322 +30747,386 @@ grn_nfkc50_compose_prefix_e186b0(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -26722,322 +31137,386 @@ grn_nfkc50_compose_prefix_e186b0(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -27048,152 +31527,182 @@ grn_nfkc50_compose_prefix_e186b0(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b0_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -28640,82 +33149,98 @@ grn_nfkc50_compose_prefix_e186b1(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -28726,322 +33251,386 @@ grn_nfkc50_compose_prefix_e186b1(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -29052,322 +33641,386 @@ grn_nfkc50_compose_prefix_e186b1(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -29378,152 +34031,182 @@ grn_nfkc50_compose_prefix_e186b1(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b1_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -30970,82 +35653,98 @@ grn_nfkc50_compose_prefix_e186b2(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -31056,322 +35755,386 @@ grn_nfkc50_compose_prefix_e186b2(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -31382,322 +36145,386 @@ grn_nfkc50_compose_prefix_e186b2(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -31708,152 +36535,182 @@ grn_nfkc50_compose_prefix_e186b2(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b2_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -33300,82 +38157,98 @@ grn_nfkc50_compose_prefix_e186b3(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -33386,322 +38259,386 @@ grn_nfkc50_compose_prefix_e186b3(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -33712,322 +38649,386 @@ grn_nfkc50_compose_prefix_e186b3(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -34038,152 +39039,182 @@ grn_nfkc50_compose_prefix_e186b3(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b3_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -35630,82 +40661,98 @@ grn_nfkc50_compose_prefix_e186b4(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -35716,322 +40763,386 @@ grn_nfkc50_compose_prefix_e186b4(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -36042,322 +41153,386 @@ grn_nfkc50_compose_prefix_e186b4(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -36368,152 +41543,182 @@ grn_nfkc50_compose_prefix_e186b4(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed9c[utf8[2] - 0x98];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b4_table_ed9d[utf8[2] - 0x90];
         }
         break;
@@ -37960,82 +43165,98 @@ grn_nfkc50_compose_prefix_e186b5(const unsigned char *utf8)
     case 0xea :
       switch (utf8[1]) {
       case 0xb0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab0[utf8[2] - 0x80];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab1[utf8[2] - 0x94];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab2[utf8[2] - 0x8c];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab3[utf8[2] - 0x84];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab4[utf8[2] - 0x98];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab5[utf8[2] - 0x90];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab6[utf8[2] - 0x88];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab7[utf8[2] - 0x80];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab8[utf8[2] - 0x94];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eab9[utf8[2] - 0x8c];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eaba[utf8[2] - 0x84];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eabb[utf8[2] - 0x98];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eabc[utf8[2] - 0x90];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eabd[utf8[2] - 0x88];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eabe[utf8[2] - 0x80];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eabf[utf8[2] - 0x94];
         }
         break;
@@ -38046,322 +43267,386 @@ grn_nfkc50_compose_prefix_e186b5(const unsigned char *utf8)
     case 0xeb :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb80[utf8[2] - 0x8c];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb81[utf8[2] - 0x84];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb82[utf8[2] - 0x98];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb83[utf8[2] - 0x90];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb84[utf8[2] - 0x88];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb85[utf8[2] - 0x80];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb86[utf8[2] - 0x94];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb87[utf8[2] - 0x8c];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb88[utf8[2] - 0x84];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb89[utf8[2] - 0x98];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8a[utf8[2] - 0x90];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8b[utf8[2] - 0x88];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8c[utf8[2] - 0x80];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8d[utf8[2] - 0x94];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8e[utf8[2] - 0x8c];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb8f[utf8[2] - 0x84];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb90[utf8[2] - 0x98];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb91[utf8[2] - 0x90];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb92[utf8[2] - 0x88];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb93[utf8[2] - 0x80];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb94[utf8[2] - 0x94];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb95[utf8[2] - 0x8c];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb96[utf8[2] - 0x84];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb97[utf8[2] - 0x98];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb98[utf8[2] - 0x90];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb99[utf8[2] - 0x88];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9a[utf8[2] - 0x80];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9b[utf8[2] - 0x94];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9c[utf8[2] - 0x8c];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9d[utf8[2] - 0x84];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9e[utf8[2] - 0x98];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eb9f[utf8[2] - 0x90];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba0[utf8[2] - 0x88];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba1[utf8[2] - 0x80];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba2[utf8[2] - 0x94];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba3[utf8[2] - 0x8c];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba4[utf8[2] - 0x84];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba5[utf8[2] - 0x98];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba6[utf8[2] - 0x90];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba7[utf8[2] - 0x88];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba8[utf8[2] - 0x80];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eba9[utf8[2] - 0x94];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebaa[utf8[2] - 0x8c];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebab[utf8[2] - 0x84];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebac[utf8[2] - 0x98];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebad[utf8[2] - 0x90];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebae[utf8[2] - 0x88];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebaf[utf8[2] - 0x80];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb0[utf8[2] - 0x94];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb1[utf8[2] - 0x8c];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb2[utf8[2] - 0x84];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb3[utf8[2] - 0x98];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb4[utf8[2] - 0x90];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb5[utf8[2] - 0x88];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb6[utf8[2] - 0x80];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb7[utf8[2] - 0x94];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb8[utf8[2] - 0x8c];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebb9[utf8[2] - 0x84];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebba[utf8[2] - 0x98];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebbb[utf8[2] - 0x90];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebbc[utf8[2] - 0x88];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebbd[utf8[2] - 0x80];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebbe[utf8[2] - 0x94];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ebbf[utf8[2] - 0x8c];
         }
         break;
@@ -38372,322 +43657,386 @@ grn_nfkc50_compose_prefix_e186b5(const unsigned char *utf8)
     case 0xec :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec80[utf8[2] - 0x84];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec81[utf8[2] - 0x98];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec82[utf8[2] - 0x90];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec83[utf8[2] - 0x88];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec84[utf8[2] - 0x80];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec85[utf8[2] - 0x94];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec86[utf8[2] - 0x8c];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec87[utf8[2] - 0x84];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec88[utf8[2] - 0x98];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec89[utf8[2] - 0x90];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8a[utf8[2] - 0x88];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8b[utf8[2] - 0x80];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8c[utf8[2] - 0x94];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8d[utf8[2] - 0x8c];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8e[utf8[2] - 0x84];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec8f[utf8[2] - 0x98];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec90[utf8[2] - 0x90];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec91[utf8[2] - 0x88];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec92[utf8[2] - 0x80];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec93[utf8[2] - 0x94];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec94[utf8[2] - 0x8c];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec95[utf8[2] - 0x84];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec96[utf8[2] - 0x98];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec97[utf8[2] - 0x90];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec98[utf8[2] - 0x88];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec99[utf8[2] - 0x80];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9a[utf8[2] - 0x94];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9b[utf8[2] - 0x8c];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9c[utf8[2] - 0x84];
         }
         break;
       case 0x9d :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9d[utf8[2] - 0x98];
         }
         break;
       case 0x9e :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9e[utf8[2] - 0x90];
         }
         break;
       case 0x9f :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ec9f[utf8[2] - 0x88];
         }
         break;
       case 0xa0 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca0[utf8[2] - 0x80];
         }
         break;
       case 0xa1 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca1[utf8[2] - 0x94];
         }
         break;
       case 0xa2 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca2[utf8[2] - 0x8c];
         }
         break;
       case 0xa3 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca3[utf8[2] - 0x84];
         }
         break;
       case 0xa4 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca4[utf8[2] - 0x98];
         }
         break;
       case 0xa5 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca5[utf8[2] - 0x90];
         }
         break;
       case 0xa6 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca6[utf8[2] - 0x88];
         }
         break;
       case 0xa7 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca7[utf8[2] - 0x80];
         }
         break;
       case 0xa8 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca8[utf8[2] - 0x94];
         }
         break;
       case 0xa9 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_eca9[utf8[2] - 0x8c];
         }
         break;
       case 0xaa :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecaa[utf8[2] - 0x84];
         }
         break;
       case 0xab :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecab[utf8[2] - 0x98];
         }
         break;
       case 0xac :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecac[utf8[2] - 0x90];
         }
         break;
       case 0xad :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecad[utf8[2] - 0x88];
         }
         break;
       case 0xae :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecae[utf8[2] - 0x80];
         }
         break;
       case 0xaf :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecaf[utf8[2] - 0x94];
         }
         break;
       case 0xb0 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb0[utf8[2] - 0x8c];
         }
         break;
       case 0xb1 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb1[utf8[2] - 0x84];
         }
         break;
       case 0xb2 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb2[utf8[2] - 0x98];
         }
         break;
       case 0xb3 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb3[utf8[2] - 0x90];
         }
         break;
       case 0xb4 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb4[utf8[2] - 0x88];
         }
         break;
       case 0xb5 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb5[utf8[2] - 0x80];
         }
         break;
       case 0xb6 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb6[utf8[2] - 0x94];
         }
         break;
       case 0xb7 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb7[utf8[2] - 0x8c];
         }
         break;
       case 0xb8 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb8[utf8[2] - 0x84];
         }
         break;
       case 0xb9 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecb9[utf8[2] - 0x98];
         }
         break;
       case 0xba :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecba[utf8[2] - 0x90];
         }
         break;
       case 0xbb :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecbb[utf8[2] - 0x88];
         }
         break;
       case 0xbc :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecbc[utf8[2] - 0x80];
         }
         break;
       case 0xbd :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecbd[utf8[2] - 0x94];
         }
         break;
       case 0xbe :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecbe[utf8[2] - 0x8c];
         }
         break;
       case 0xbf :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ecbf[utf8[2] - 0x84];
         }
         break;
@@ -38698,152 +44047,182 @@ grn_nfkc50_compose_prefix_e186b5(const unsigned char *utf8)
     case 0xed :
       switch (utf8[1]) {
       case 0x80 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed80[utf8[2] - 0x98];
         }
         break;
       case 0x81 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed81[utf8[2] - 0x90];
         }
         break;
       case 0x82 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed82[utf8[2] - 0x88];
         }
         break;
       case 0x83 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed83[utf8[2] - 0x80];
         }
         break;
       case 0x84 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed84[utf8[2] - 0x94];
         }
         break;
       case 0x85 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed85[utf8[2] - 0x8c];
         }
         break;
       case 0x86 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed86[utf8[2] - 0x84];
         }
         break;
       case 0x87 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed87[utf8[2] - 0x98];
         }
         break;
       case 0x88 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed88[utf8[2] - 0x90];
         }
         break;
       case 0x89 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed89[utf8[2] - 0x88];
         }
         break;
       case 0x8a :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8a[utf8[2] - 0x80];
         }
         break;
       case 0x8b :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8b[utf8[2] - 0x94];
         }
         break;
       case 0x8c :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8c[utf8[2] - 0x8c];
         }
         break;
       case 0x8d :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8d[utf8[2] - 0x84];
         }
         break;
       case 0x8e :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8e[utf8[2] - 0x98];
         }
         break;
       case 0x8f :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed8f[utf8[2] - 0x90];
         }
         break;
       case 0x90 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed90[utf8[2] - 0x88];
         }
         break;
       case 0x91 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed91[utf8[2] - 0x80];
         }
         break;
       case 0x92 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed92[utf8[2] - 0x94];
         }
         break;
       case 0x93 :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed93[utf8[2] - 0x8c];
         }
         break;
       case 0x94 :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed94[utf8[2] - 0x84];
         }
         break;
       case 0x95 :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed95[utf8[2] - 0x98];
         }
         break;
       case 0x96 :
-        if (utf8[2] >= 0x90 && utf8[2] <= 0xac) {
+        if (utf8[2] >= 0x90 &&
+            utf8[2] <= 0xac) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed96[utf8[2] - 0x90];
         }
         break;
       case 0x97 :
-        if (utf8[2] >= 0x88 && utf8[2] <= 0xa4) {
+        if (utf8[2] >= 0x88 &&
+            utf8[2] <= 0xa4) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed97[utf8[2] - 0x88];
         }
         break;
       case 0x98 :
-        if (utf8[2] >= 0x80 && utf8[2] <= 0xb8) {
+        if (utf8[2] >= 0x80 &&
+            utf8[2] <= 0xb8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed98[utf8[2] - 0x80];
         }
         break;
       case 0x99 :
-        if (utf8[2] >= 0x94 && utf8[2] <= 0xb0) {
+        if (utf8[2] >= 0x94 &&
+            utf8[2] <= 0xb0) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed99[utf8[2] - 0x94];
         }
         break;
       case 0x9a :
-        if (utf8[2] >= 0x8c && utf8[2] <= 0xa8) {
+        if (utf8[2] >= 0x8c &&
+            utf8[2] <= 0xa8) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed9a[utf8[2] - 0x8c];
         }
         break;
       case 0x9b :
-        if (utf8[2] >= 0x84 && utf8[2] <= 0xbc) {
+        if (utf8[2] >= 0x84 &&
+            utf8[2] <= 0xbc) {
           return grn_nfkc50_compose_prefix_e186b5_table_ed9b[utf8[2] - 0x84];
         }
         break;
       case 0x9c :
-        if (utf8[2] >= 0x98 && utf8[2] <= 0xb4) {
+        if (utf8[2] >= 0x98 &&
+            utf8[2] <= 0xb4) {
... truncated to 1.0MB




More information about the Groonga-commit mailing list
Back to archive index