Provided by: libx11-doc_1.8.7-1build1_all bug

NAME

       XmbTextListToTextProperty,             XwcTextListToTextProperty,            Xutf8TextListToTextProperty,
       XmbTextPropertyToTextList,  XwcTextPropertyToTextList,  Xutf8TextPropertyToTextList,   XwcFreeStringList,
       XDefaultString - convert text lists and text property structures

SYNTAX

       int   XmbTextListToTextProperty(Display  *display,  char  **list,  int  count,  XICCEncodingStyle  style,
              XTextProperty *text_prop_return);

       int XwcTextListToTextProperty(Display *display,  wchar_t  **list,  int  count,  XICCEncodingStyle  style,
              XTextProperty *text_prop_return);

       int  Xutf8TextListToTextProperty(Display  *display,  char  **list,  int  count,  XICCEncodingStyle style,
              XTextProperty *text_prop_return);

       int XmbTextPropertyToTextList(Display *display, _Xconst XTextProperty  *text_prop,  char  ***list_return,
              int *count_return);

       int XwcTextPropertyToTextList(Display *display, _Xconst XTextProperty *text_prop, wchar_t ***list_return,
              int *count_return);

       int Xutf8TextPropertyToTextList(Display *display, _Xconst XTextProperty *text_prop, char  ***list_return,
              int *count_return);

       void XwcFreeStringList(wchar_t **list);

       char *XDefaultString(void)

ARGUMENTS

       display   Specifies the connection to the X server.

       list      Specifies a list of null-terminated character strings.

       count     Specifies the number of strings specified.

       style     Specifies the manner in which the property is encoded.

       text_prop_return
                 Returns the XTextProperty structure.

       text_prop Specifies the XTextProperty structure to be used.

       list_return
                 Returns a list of null-terminated character strings.

       count_return
                 Returns the number of strings.

       list      Specifies the list of strings to be freed.

DESCRIPTION

       The  XmbTextListToTextProperty,  XwcTextListToTextProperty  and Xutf8TextListToTextProperty functions set
       the specified XTextProperty value to a set of null-separated elements representing the  concatenation  of
       the  specified list of null-terminated text strings.  The input text strings must be given in the current
       locale encoding (for XmbTextListToTextProperty and XwcTextListToTextProperty), or in UTF-8 encoding  (for
       Xutf8TextListToTextProperty).

       The  functions set the encoding field of text_prop_return to an Atom for the specified display naming the
       encoding determined by the specified style and convert the specified  text  list  to  this  encoding  for
       storage  in  the  text_prop_return  value  field.   If  the  style  XStringStyle or XCompoundTextStyle is
       specified, this encoding is “STRING” or “COMPOUND_TEXT”, respectively.  If the style XUTF8StringStyle  is
       specified,  this  encoding  is  “UTF8_STRING”.   (This is an extension introduced by The XFree86 Project,
       Inc., in their 4.0.2 release.  Its presence is indicated by the macro X_HAVE_UTF8_STRING.)  If the  style
       XTextStyle  is  specified,  this  encoding  is  the  encoding  of  the  current  locale.   If  the  style
       XStdICCTextStyle is specified, this encoding is “STRING” if the text is fully convertible to STRING, else
       “COMPOUND_TEXT”.   A  final  terminating  null  byte  is  stored  at  the  end  of  the  value  field  of
       text_prop_return but is not included in the nitems member.

       If insufficient memory is available for the new value string, the functions  return  XNoMemory.   If  the
       current locale is not supported, the functions return XLocaleNotSupported.  In both of these error cases,
       the functions do not set text_prop_return.

       To determine if the functions are guaranteed not to return XLocaleNotSupported, use XSupportsLocale.

       If the supplied text is not fully convertible to the specified encoding, the functions return the  number
       of  unconvertible characters.  Each unconvertible character is converted to an implementation-defined and
       encoding-specific  default  string.   Otherwise,  the  functions  return   Success.    Note   that   full
       convertibility to all styles except XStringStyle is guaranteed.

       To free the storage for the value field, use XFree.

       The XmbTextPropertyToTextList, XwcTextPropertyToTextList and Xutf8TextPropertyToTextList functions return
       a list of text strings representing the null-separated elements of the specified XTextProperty structure.
       The  returned  strings  are  encoded using the current locale encoding (for XmbTextPropertyToTextList and
       XwcTextPropertyToTextList) or in UTF-8 (for Xutf8TextPropertyToTextList).  The data in text_prop must  be
       format 8.

       Multiple  elements  of the property (for example, the strings in a disjoint text selection) are separated
       by a null byte.  The contents of the property are not required to  be  null-terminated;  any  terminating
       null should not be included in text_prop.nitems.

       If   insufficient  memory  is  available  for  the  list  and  its  elements,  XmbTextPropertyToTextList,
       XwcTextPropertyToTextList and Xutf8TextPropertyToTextList return XNoMemory.  If the current locale is not
       supported,  the  functions  return XLocaleNotSupported.  Otherwise, if the encoding field of text_prop is
       not convertible to the encoding of the current locale,  the  functions  return  XConverterNotFound.   For
       supported  locales,  existence  of a converter from COMPOUND_TEXT, STRING, UTF8_STRING or the encoding of
       the current locale is guaranteed if XSupportsLocale returns True for the current locale (but  the  actual
       text  may  contain unconvertible characters).  Conversion of other encodings is implementation-dependent.
       In all of these error cases, the functions do not set any return values.

       Otherwise, XmbTextPropertyToTextList, XwcTextPropertyToTextList  and  Xutf8TextPropertyToTextList  return
       the list of null-terminated text strings to list_return and the number of text strings to count_return.

       If  the  value  field  of  text_prop  is not fully convertible to the encoding of the current locale, the
       functions return the number of unconvertible characters.  Each unconvertible character is converted to  a
       string in the current locale that is specific to the current locale.  To obtain the value of this string,
       use    XDefaultString.     Otherwise,    XmbTextPropertyToTextList,     XwcTextPropertyToTextList     and
       Xutf8TextPropertyToTextList return Success.

       To   free   the  storage  for  the  list  and  its  contents  returned  by  XmbTextPropertyToTextList  or
       Xutf8TextPropertyToTextList, use XFreeStringList.  To free the storage for  the  list  and  its  contents
       returned by XwcTextPropertyToTextList, use XwcFreeStringList.

       The XwcFreeStringList function frees memory allocated by XwcTextPropertyToTextList.

       The  XDefaultString function returns the default string used by Xlib for text conversion (for example, in
       XmbTextPropertyToTextList).  The default string is the string in the current locale that is  output  when
       an  unconvertible character is found during text conversion.  If the string returned by XDefaultString is
       the empty string (""), no character is output in the converted  text.   XDefaultString  does  not  return
       NULL.

       The  string  returned  by  XDefaultString  is  independent  of  the  default string for text drawing; see
       XCreateFontSet to obtain the default string for an XFontSet.

       The behavior when an invalid codepoint is supplied to any Xlib function is undefined.

       The returned string is null-terminated.  It is owned by Xlib and should not be modified or freed  by  the
       client.   It  may  be freed after the current locale is changed.  Until freed, it will not be modified by
       Xlib.

       The functions Xutf8TextListToTextProperty and Xutf8TextPropertyToTextList are  extensions  introduced  by
       The  XFree86  Project,  Inc.,  in  their  4.0.2  release.   Their  presence  is  indicated  by  the macro
       X_HAVE_UTF8_STRING.

STRUCTURES

       The XTextProperty structure contains:

       typedef struct {
               unsigned char *value;   /* property data */
               Atom encoding;  /* type of property */
               int format;     /* 8, 16, or 32 */
               unsigned long nitems;   /* number of items in value */
       } XTextProperty;

       The XICCEncodingStyle structure contains:

       #define   XNoMemory              -1
       #define   XLocaleNotSupported    -2
       #define   XConverterNotFound     -3
       typedef enum {
               XStringStyle,           /* STRING */
               XCompoundTextStyle,     /* COMPOUND_TEXT */
               XTextStyle,             /* text in owner's encoding (current locale) */
               XStdICCTextStyle,       /* STRING, else COMPOUND_TEXT */
               XUTF8StringStyle        /* UTF8_STRING */
       } XICCEncodingStyle;

SEE ALSO

       XSetTextProperty(3), XStringListToTextProperty(3)
       Xlib - C Language X Interface