The XmbTextExtents, XwcTextExtents and Xutf8TextExtents 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
XmbTextEscapement, XwcTextEscapement or Xutf8TextEscapement. 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 XFontSet has missing charsets, metrics for each unavailable character are taken from the default
string returned by XCreateFontSet so that the metrics represent the text as it will actually be drawn.
The behavior for an invalid codepoint is undefined.
The function Xutf8TextExtents is an extension introduced by The XFree86 Project, Inc., in their 4.0.2
release. Its presence is indicated by the macro X_HAVE_UTF8_STRING.