DESCRIPTION

The
XmbDrawText,
XwcDrawText
and
Xutf8DrawText
functions allow complex spacing and font set shifts between text strings.
Each text item is processed in turn, with the origin of a text
element advanced in the primary draw direction by the escapement of the
previous text item.
A text item delta specifies an additional escapement of the text item
drawing origin in the primary draw direction.
A font_set member other than
None
in an item causes the font set to be used for this and subsequent text items
in the text_items list.
Leading text items with a font_set member set to
None
will not be drawn.

XmbDrawText,
XwcDrawText
and
Xutf8DrawText
do not perform any context-dependent rendering between text segments.
Clients may compute the drawing metrics by passing each text segment to
XmbTextExtents,
XwcTextExtents,
Xutf8TextExtents
or
XmbTextPerCharExtents,
XwcTextPerCharExtents.
Xutf8TextPerCharExtents.
When the
XFontSet
has missing charsets, each unavailable character is drawn
with the default string returned by
XCreateFontSet.
The behavior for an invalid codepoint is undefined.

The function
Xutf8DrawText
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.