NAME

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

SYNTAX

void XmbDrawText(Display *_d_i_s_p_l_a_y, Drawable _d, GC _g_c, int _x, int _y, XmbTextItem *_i_t_e_m_s, int _n_i_t_e_m_s); void XwcDrawText(Display *_d_i_s_p_l_a_y, Drawable _d, GC _g_c, int _x, int _y, XwcTextItem *_i_t_e_m_s, int _n_i_t_e_m_s); void Xutf8DrawText(Display *_d_i_s_p_l_a_y, Drawable _d, GC _g_c, int _x, int _y, XmbTextItem *_i_t_e_m_s, int _n_i_t_e_m_s);

ARGUMENTS

_d Specifies the drawable.
_d_i_s_p_l_a_y Specifies the connection to the X server.
_g_c Specifies the GC.
_i_t_e_m_s Specifies an array of text items.
_n_i_t_e_m_s Specifies the number of text items in the array.
_x
_y Specify the x and y coordinates.

DESCRIPTION

The _X_m_b_D_r_a_w_T_e_x_t, _X_w_c_D_r_a_w_T_e_x_t and _X_u_t_f_8_D_r_a_w_T_e_x_t 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 _N_o_n_e 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 _N_o_n_e will not be drawn.

_X_m_b_D_r_a_w_T_e_x_t, _X_w_c_D_r_a_w_T_e_x_t and _X_u_t_f_8_D_r_a_w_T_e_x_t do not perform any context-dependent rendering between text segments. Clients may compute the drawing metrics by passing each text segment to _X_m_b_T_e_x_t_E_x_t_e_n_t_s, _X_w_c_T_e_x_t_E_x_t_e_n_t_s, _X_u_t_f_8_T_e_x_t_E_x_t_e_n_t_s or _X_m_b_T_e_x_t_P_e_r_C_h_a_r_E_x_t_e_n_t_s, _X_w_c_T_e_x_t_P_e_r_C_h_a_r_E_x_t_e_n_t_s. _X_u_t_f_8_T_e_x_t_P_e_r_C_h_a_r_E_x_t_e_n_t_s. When the _X_F_o_n_t_S_e_t has missing charsets, each unavailable character is drawn with the default string returned by _X_C_r_e_a_t_e_F_o_n_t_S_e_t. The behavior for an invalid codepoint is undefined.

The function _X_u_t_f_8_D_r_a_w_T_e_x_t is an extension introduced by The XFree86 Project, Inc. in their 4.0.2 release. Its presence is indicated by the macro _X___H_A_V_E___U_T_F_8___S_T_R_I_N_G.

STRUCTURES

The _X_m_b_T_e_x_t_I_t_e_m 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 _X_w_c_T_e_x_t_I_t_e_m 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(3X11), XDrawString(3X11), XDrawText(3X11), XmbDrawImageString(3X11), XmbDrawString(3X11)
_X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e