Method: UTF8Proc::StringExtension#normalize

Defined in:
ext/utf8_proc/utf8_proc.c

#normalize(*args) ⇒ Object



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'ext/utf8_proc/utf8_proc.c', line 116

static VALUE StoNorm(int argc, VALUE* argv, VALUE string){
  VALUE form;
  rb_scan_args(argc, argv, "01", &form);

  if (NIL_P(form)) {
    return StoNFC(string);
  }

  ID s_form;
  s_form = SYM2ID(form);
  if (s_form == NFC) {
    return StoNFC(string);
  }else if(s_form == NFD) {
    return StoNFD(string);
  }else if(s_form == NFKC) {
    return StoNFKC(string);
  }else if(s_form == NFKD) {
    return StoNFKD(string);
  }else if(s_form == NFKC_CF) {
    return StoNFKC_CF(string);
  }else{
    rb_raise(rb_eArgError, "%s",
             "Argument must be one of [:nfc (default), :nfd, :nfkc, " \
             ":nfkd, :nfkc_cf]");
  }
}