Provided by: tcl8.6-doc_8.6.14+dfsg-1build1_all bug

NAME

       Tcl_UniCharToUpper,     Tcl_UniCharToLower,     Tcl_UniCharToTitle,    Tcl_UtfToUpper,    Tcl_UtfToLower,
       Tcl_UtfToTitle - routines for manipulating the case of Unicode characters and UTF-8 strings

SYNOPSIS

       #include <tcl.h>

       Tcl_UniChar
       Tcl_UniCharToUpper(ch)

       Tcl_UniChar
       Tcl_UniCharToLower(ch)

       Tcl_UniChar
       Tcl_UniCharToTitle(ch)

       int
       Tcl_UtfToUpper(str)

       int
       Tcl_UtfToLower(str)

       int
       Tcl_UtfToTitle(str)

ARGUMENTS

       int ch (in)             The Unicode character to be converted.

       char *str (in/out)      Pointer to UTF-8 string to be converted in place.
________________________________________________________________________________________________________________

DESCRIPTION

       The first three routines convert the case of individual Unicode characters:

       If ch  represents  a  lower-case  character,  Tcl_UniCharToUpper  returns  the  corresponding  upper-case
       character.  If no upper-case character is defined, it returns the character unchanged.

       If  ch  represents  an  upper-case  character,  Tcl_UniCharToLower  returns  the corresponding lower-case
       character.  If no lower-case character is defined, it returns the character unchanged.

       If ch  represents  a  lower-case  character,  Tcl_UniCharToTitle  returns  the  corresponding  title-case
       character.  If no title-case character is defined, it returns the corresponding upper-case character.  If
       no  upper-case  character  is  defined,  it returns the character unchanged.  Title-case is defined for a
       small number of characters that have a  different  appearance  when  they  are  at  the  beginning  of  a
       capitalized word.

       The next three routines convert the case of UTF-8 strings in place in memory:

       Tcl_UtfToUpper  changes  every  UTF-8  character  in  str  to upper-case.  Because changing the case of a
       character may change its size, the byte offset of each character in the resulting string may differ  from
       its  original  location.   Tcl_UtfToUpper  writes  a  null  byte  at  the  end  of  the converted string.
       Tcl_UtfToUpper returns the new length of the string in bytes.  This new length is  guaranteed  to  be  no
       longer than the original string length.

       Tcl_UtfToLower is the same as Tcl_UtfToUpper except it turns each character in the string into its lower-
       case equivalent.

       Tcl_UtfToTitle  is  the same as Tcl_UtfToUpper except it turns the first character in the string into its
       title-case equivalent and all following characters into their lower-case equivalents.

BUGS

       At this time, the case conversions are only defined for the Unicode plane 0 characters.  The  result  for
       Unicode  characters  above  0xFFFF is undefined, but - actually - only the lower 16 bits of the character
       value is handled.

KEYWORDS

       utf, unicode, toupper, tolower, totitle, case

Tcl                                                    8.1                                  Tcl_UtfToUpper(3tcl)