# File lib/active_support/multibyte/chars.rb, line 404
      def normalize(form=ActiveSupport::Multibyte.default_normalization_form)
        # See http://www.unicode.org/reports/tr15, Table 1
        codepoints = self.class.u_unpack(@wrapped_string)
        chars(case form
          when :d
            self.class.reorder_characters(self.class.decompose_codepoints(:canonical, codepoints))
          when :c
            self.class.compose_codepoints(self.class.reorder_characters(self.class.decompose_codepoints(:canonical, codepoints)))
          when :kd
            self.class.reorder_characters(self.class.decompose_codepoints(:compatability, codepoints))
          when :kc
            self.class.compose_codepoints(self.class.reorder_characters(self.class.decompose_codepoints(:compatability, codepoints)))
          else
            raise ArgumentError, "#{form} is not a valid normalization variant", caller
        end.pack('U*'))
      end