Table of Contents

Name

XmbDrawText, XwcDrawText, Xutf8DrawText - draw text using multiple font sets

Syntax

void XmbDrawText(display, d, gc, x, y, items, nitems)
Display *display;

Drawable d;

GC gc;

int x, y;

XmbTextItem *items;

int nitems;

void XwcDrawText(display, d, gc, x, y, items, nitems)
Display *display;

Drawable d;

GC gc;

int x, y;

XwcTextItem *items;

int nitems;

void Xutf8DrawText(display, d, gc, x, y, items, nitems)
Display *display;

Drawable d;

GC gc;

int x, 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 coordinatesXy.

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 XFree86 extension introduced in XFree86 4.0.2. Its presence is indicated by the macro X_HAVE_UTF8_STRING.

Structures

The XmbTextItem structure contains:
0
0>=40 .vs 0u
0<=39 .vs 0p
typedef struct {
    char *chars;    
    int nchars;    
    int delta;    
    XFontSet font_set;     
} XmbTextItem;

The XwcTextItem structure contains:
0
0>=40 .vs 0u
0<=39 .vs 0p
typedef struct {
    wchar_t *chars;    
    int nchars;    
    int delta;    
    XFontSet font_set;    
} XwcTextItem;

See Also

XDrawImageString(3X11) , XDrawString(3X11) , XDrawText(3X11) , XmbDrawImageString(3X11) , XmbDrawString(3X11)
Xlib - C Language X Interface


Table of Contents