icuSetCollate              package:base              R Documentation

Setup Collation by ICU

Description:

     Controls the way collation is done by ICU (an optional part of the
     R build).

Usage:

     icuSetCollate(...)

Arguments:

     ...: Named arguments, see 'Details'.

Details:

     Optionally, R can be built to collate character strings by ICU
     (<URL: http://www.icu-project.org>).  For such systems,
     'icuSetCollate' can be used to tune the way collation is done. On
     other builds calling this function does nothing, with a warning.

     Possible arguments are

     'locale': A character string such as '"da_DK"' giving the country
          whose collation rules are to be used.  If present, this
          should be the first argument.

     'case_first': '"upper"', '"lower"' or '"default"', asking for
          upper- or lower-case characters to be sorted first.  The
          default is usually lower-case first, but not in all languages
          (see the Danish example).

     'alternate_handling': Controls the handling of 'variable'
          characters (mainly punctuation and symbols). Possible values
          are '"non_ignorable"' (primary strength) and '"shifted"'
          (quaternary strength).

     'strength': Which components should be used?  Possible values
          '"primary"', '"secondary"', '"tertiary"' (default),
          '"quaternary"' and '"identical"'. 

     'french_collation': In a French locale the way accents affect
          collation is from right to left, whereas in most other
          locales it is from left to right.  Possible values '"on"',
          '"off"' and '"default"'.

     'normalization': Should strings be normalized? Possible values
          '"on"' and '"off"' (default). This affects the collation of
          composite characters.

     'case_level': An additional level between secondary and tertiary,
          used to distinguish large and small Japanese Kana characters.
          Possible values '"on"' and '"off"' (default).

     'hiragana_quaternary': Possible values '"on"' (sort Hiragana first
          at quaternary level) and '"off"'.

     Only the first three are likely to be of interest except to those
     with a  detailed understanding of collation and specialized
     requirements.

     Some examples are 'case_level="on", strength="primary"' to ignore
     accent differences, 'alternate_handling="shifted"' to ignore space
     and punctuation characters.

See Also:

     Comparison, 'sort'

     The ICU user guide chapter on collation (<URL:
     http://www.icu-project.org/userguide/Collate_Intro.html>).

Examples:

     x <- c("Aarhus", "aarhus", "safe", "test", "Zoo")
     sort(x)
     icuSetCollate(case_first="upper"); sort(x)
     icuSetCollate(case_first="lower"); sort(x)

     icuSetCollate(locale="da_DK", case_first="default"); sort(x)
     icuSetCollate(locale="et_EE"); sort(x)

