Status XwcTextPerCharExtents(font_set, string, num_wchars, ink_array_return,
logical_array_return, array_size, num_chars_return, overall_ink_return, overall_logical_return)
XFontSet font_set;
wchar_t *string;
int num_wchars;
XRectangle *ink_array_return;
XRectangle *logical_array_return;
int array_size;
int *num_chars_return;
XRectangle *overall_ink_return;
XRectangle *overall_logical_return;
Status Xutf8TextPerCharExtents(font_set, string, num_bytes, ink_array_return,
logical_array_return, array_size, num_chars_return, overall_ink_return, overall_logical_return)
XFontSet font_set;
char *string;
int num_bytes;
XRectangle *ink_array_return;
XRectangle *logical_array_return;
int array_size;
int *num_chars_return;
XRectangle *overall_ink_return;
XRectangle *overall_logical_return;
ink_array_return の各要素には、フォアグラウンドカラーで描画されるキャ ラクタに対応するバウンディングボックスがセットされる。 logical_array_return の各要素には、対応する文字に対して他のグラフィカ ルフィーチャへの最小スペーシングを含むバウンディングボックスがセットさ れる。 このグラフィカルフィーチャは logical_array_return の長方形のどの部分と も干渉してはならない。
XRectangle は、文字の描画に使われるフォントグリフの数や文字が描画される方向にかか わらず、効率的な文字の描画ディメンジョンを表す点に注意すること。 複数の文字が単一の文字グリフにマッピングされている場合、これらの文字全 ての XRectangles のディメンジョンは同じである。
XFontSet に存在しない文字集合がある場合、実際に描画される寸法を表すようにするた め、該当する各文字に対する寸法は XCreateFontSet が返すデフォルト文字列から得る。 不正な文字コードに対する動作は未定義である。
与えられたテキスト内の文字数に対して array_size が小さすぎた場合、関数 は 0 を返し、num_chars_return には必要な XRectangle の数がセットされ る。 それ以外の場合、関数は 0 でない値を返す。
引き数 overall_ink_return か overall_logical_return が NULL でない場合、 XmbTextPerCharExtents, XwcTextPerCharExtents, Xutf8TextPerCharExtents は文字列の寸法の最大領域を overall_ink_return または overall_logical_return に返す。これは XmbTextExtents や XwcTextExtents, Xutf8TextExtents の動作と同様である。
関数 Xutf8TextPerCharExtents は XFree86 4.0.2 から導入された XFree86 独自の拡張である。この関数が あるかどうかはマクロ X_HAVE_UTF8_STRING で判定できる。