instance method
normalize
Ruby on Rails 3.2.22.5
Since v3.0.20 Last seen in v6.0.6Signature
normalize(string, form=nil)
Returns the KC normalization of the string by default. NFKC is considered the best normalization form for passing strings to databases and validations.
-
string- The string to perform normalization on. -
form- The form you want to normalize in. Should be one of the following::c,:kc,:d, or:kd. Default is ActiveSupport::Multibyte.default_normalization_form
Parameters
-
stringreq -
formopt = nil
Source
# File activesupport/lib/active_support/multibyte/unicode.rb, line 283
def normalize(string, form=nil)
form ||= @default_normalization_form
# See http://www.unicode.org/reports/tr15, Table 1
codepoints = u_unpack(string)
case form
when :d
reorder_characters(decompose_codepoints(:canonical, codepoints))
when :c
compose_codepoints(reorder_characters(decompose_codepoints(:canonical, codepoints)))
when :kd
reorder_characters(decompose_codepoints(:compatability, codepoints))
when :kc
compose_codepoints(reorder_characters(decompose_codepoints(:compatability, codepoints)))
else
raise ArgumentError, "#{form} is not a valid normalization variant", caller
end.pack('U*')
end
Defined in activesupport/lib/active_support/multibyte/unicode.rb line 283
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Multibyte::Unicode