typedef struct { XRectangle max_ink_extent;/* over all drawable characters */ XRectangle max_logical_extent;/* over all drawable characters */ } XFontSetExtents;
The XRectangles used to return font set metrics are the usual Xlib screen-oriented XRectangles, with x, y giving the upper left corner, and width and height always positive.
The max_ink_extent member gives the maximum extent, over all drawable characters, of the rectangles which bound the character glyph image drawn in the foreground color, relative to a constant origin. See XmbTextExtents and XwcTextExtents for detailed semantics.
The max_logical_extent member gives the maximum extent, over all drawable characters, of the rectangles which specify minimum spacing to other graphical features, relative to a constant origin. Other graphical features drawn by the client, for example, a border surrounding the text, should not intersect this rectangle. The max_logical_extent member should be used to compute minimum inter-line spacing and the minimum area which must be allowed in a text field to draw a given number of arbitrary characters.
Due to context-dependent rendering, appending a given character to a string may increase the string's extent by an amount which exceeds the font's max extent:
max possible added extent = (max_extent * <total # chars>) - prev_string_extent