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