NAME

XmbTextExtents, XwcTextExtents, Xutf8TextExtents - compute text extents

SYNTAX

int XmbTextExtents(XFontSet _f_o_n_t___s_e_t, char *_s_t_r_i_n_g, int _n_u_m___b_y_t_e_s, XRectangle *_o_v_e_r_a_l_l___i_n_k___r_e_t_u_r_n, XRectangle *_o_v_e_r_a_l_l___l_o_g_i_c_a_l___r_e_t_u_r_n); int XwcTextExtents(XFontSet _f_o_n_t___s_e_t, wchar_t *_s_t_r_i_n_g, int _n_u_m___w_c_h_a_r_s, XRectangle *_o_v_e_r_a_l_l___i_n_k___r_e_t_u_r_n, XRectangle *_o_v_e_r_a_l_l___l_o_g_i_c_a_l___r_e_t_u_r_n); int Xutf8TextExtents(XFontSet _f_o_n_t___s_e_t, char *_s_t_r_i_n_g, int _n_u_m___b_y_t_e_s, XRectangle *_o_v_e_r_a_l_l___i_n_k___r_e_t_u_r_n, XRectangle *_o_v_e_r_a_l_l___l_o_g_i_c_a_l___r_e_t_u_r_n);

ARGUMENTS

_f_o_n_t___s_e_t Specifies the font set.
_n_u_m___b_y_t_e_s Specifies the number of bytes in the string argument.
_n_u_m___w_c_h_a_r_s Specifies the number of characters in the string argument.
_o_v_e_r_a_l_l___i_n_k___r_e_t_u_r_n Returns the overall ink dimensions.
_o_v_e_r_a_l_l___l_o_g_i_c_a_l___r_e_t_u_r_n Returns the overall logical dimensions.
_s_t_r_i_n_g Specifies the character string.

DESCRIPTION

The _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 and _X_u_t_f_8_T_e_x_t_E_x_t_e_n_t_s functions set the components of the specified overall_ink_return and overall_logical_return arguments to the overall bounding box of the string's image and a logical bounding box for spacing purposes, respectively. They return the value returned by _X_m_b_T_e_x_t_E_s_c_a_p_e_m_e_n_t, _X_w_c_T_e_x_t_E_s_c_a_p_e_m_e_n_t or _X_u_t_f_8_T_e_x_t_E_s_c_a_p_e_m_e_n_t. These metrics are relative to the drawing origin of the string, using the fonts loaded for the specified font set.

If the overall_ink_return argument is non-NULL, it is set to the bounding box of the string's character ink. The overall_ink_return for a nondescending, horizontally drawn Latin character is conventionally entirely above the baseline; that is, overall_ink_return.height <= -overall_ink_return.y. The overall_ink_return for a nonkerned character is entirely at, and to the right of, the origin; that is, overall_ink_return.x >= 0. A character consisting of a single pixel at the origin would set overall_ink_return fields y = 0, x = 0, width = 1, and height = 1.

If the overall_logical_return argument is non-NULL, it is set to the bounding box that provides minimum spacing to other graphical features for the string. Other graphical features, for example, a border surrounding the text, should not intersect this rectangle.

When the _X_F_o_n_t_S_e_t has missing charsets, metrics for each unavailable character are taken from the default string returned by _X_C_r_e_a_t_e_F_o_n_t_S_e_t so that the metrics represent the text as it will actually be drawn. The behavior for an invalid codepoint is undefined.

The function _X_u_t_f_8_T_e_x_t_E_x_t_e_n_t_s 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.

SEE ALSO

XmbTextEscapement(3X11), XmbTextPerCharExtents(3X11) _X_l_i_b _- _C _L_a_n_g_u_a_g_e _X _I_n_t_e_r_f_a_c_e