NAME
XmbDrawText, XwcDrawText, Xutf8DrawText - draw text using multiple font sets
SYNTAX
void
XmbDrawText(Display * display, Drawable d, GC gc, int
x, int y, XmbTextItem *items, int nitems);
void
XwcDrawText(Display * display, Drawable d, GC gc, int
x, int y, XwcTextItem *items, int nitems);
void
Xutf8DrawText(Display * display, Drawable d, GC gc, int
x, int y, XmbTextItem *items, int nitems);
ARGUMENTS
- d
- Specifies the drawable.
- display
- Specifies the connection to the X server.
- gc
- Specifies the GC.
- items
- Specifies an array of text items.
- nitems
- Specifies the number of text items in the array.
- x
-
- y
- Specify the x and y coordinates.
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.
STRUCTURES
The
XmbTextItem structure contains:
typedef struct {
char *chars; /* pointer to string */
int nchars; /* number of bytes */
int delta; /* pixel delta between strings */
XFontSet font_set; /* fonts, None means don't change */
} XmbTextItem;
The
XwcTextItem structure contains:
typedef struct {
wchar_t *chars; /* pointer to wide char string */
int nchars; /* number of wide characters */
int delta; /* pixel delta between strings */
XFontSet font_set; /* fonts, None means don't change */
} XwcTextItem;
SEE ALSO
XDrawImageString(3), XDrawString(3), XDrawText(3), XmbDrawImageString(3),
XmbDrawString(3)
Xlib - C Language X Interface