XDrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XTextItem *items;
      int nitems;


display Specifies the connection to the X server.
d Specifies the drawable.
gc Specifies the GC.
Specify the x and y coordinates, which are relative to the origin of the specified drawable and define the origin of the first character.
items Specifies an array of text items.
nitems Specifies the number of text items in the array.


The XDrawText() function allows complex spacing and font shifts between counted strings.

Each text item is processed in turn. A font member other than None in an item causes the font to be stored in the GC and used for subsequent text. A text element delta specifies an additional change in the position along the x axis before the string is drawn. The delta is always added to the character origin and is not dependent on any characteristics of the font. Each character image, as defined by the font in the GC, is treated as an additional mask for a fill operation on the drawable. The drawable is modified only where the font character has a bit set to 1. If a text item generates a BadFont error, the previous text items may have been drawn.

For fonts defined with linear indexing rather than 2-byte matrix indexing, each XChar2b structure is interpreted as a 16-bit number with byte1 as the most-significant byte.

The function uses these GC components: function, plane-mask, fill-style, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. It also uses these GC mode-dependent components: foreground, background, tile, stipple, tile-stipple-x-origin, and tile-stipple-y-origin.

XDrawText() can generate BadDrawable , BadFont , BadGC , and BadMatch errors.


BadDrawable A value for a Drawable argument does not name a defined Window or Pixmap.
BadFont A value for a font argument does not name a defined font (or, in some cases, GContext).
BadGC A value for a GContext argument does not name a defined GContext.
BadMatch An InputOnly window is used as a Drawable.
BadMatch Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.

See also

XDrawImageString(), XLoadFont(), XDrawString(), XDrawText16(), "Drawing Complex Text".
Christophe Tronche, [email protected]