XTextExtents16(font_struct, string, nchars, direction_return, font_ascent_return,
font_descent_return, overall_return)
XFontStruct *font_struct;
XChar2b *string;
int nchars;
int *direction_return;
int *font_ascent_return, *font_descent_return;
XCharStruct *overall_return;
XQueryTextExtents(display, font_ID, string, nchars, direction_return, font_ascent_return,
font_descent_return, overall_return)
Display *display;
XID font_ID;
char *string;
int nchars;
int *direction_return;
int *font_ascent_return, *font_descent_return;
XCharStruct *overall_return;
XQueryTextExtents16(display, font_ID, string, nchars, direction_return, font_ascent_return,
font_descent_return, overall_return)
Display *display;
XID font_ID;
XChar2b *string;
int nchars;
int *direction_return;
int *font_ascent_return, *font_descent_return;
XCharStruct *overall_return;
ascent メンバは、文字列中の各文字 ascent 寸法の最大値に設定される。 descent メンバは descent 寸法の最大値に設定される。 width メンバには、文字列中のそれぞれの文字の幅の寸法の総和が設定される。 文字列中の各文字に対して、W を文字列中でその文字より前にある文字幅の寸 法の総和とする。 L はその文字の左側bearing寸法に W を加えたものとする。 R はその文字の右側bearing寸法に W を加えたものとする。 lbearing メンバは、文字列中の全ての文字についての L の最小値に設定され る。 同じく rbearing は R の最大値に設定される。
2バイトの行列形式のインデックス(2-byte matrix indexing)ではなく、線形 インデックス(linear indexing)で定義されたフォントについては、各 XChar2b 構造体は byte1 が最上位バイトである16ビットの数と解釈される。 フォントにデフォルト文字が定義されていない場合、文字列中の未定義文字の 寸法は全て 0 として扱われる。
関数 XQueryTextExtents および XQueryTextExtents16 は、指定したフォントあるいは指定したGCが含むフォントに関して、指定した 8ビット文字および16ビット文字の文字列のバウンディングボックスを返す。 これらの関数は X サーバに問い合わせを行うため、 XTextExtents や XTextExtents16 では起こらないサーバとのやり取りが余分なオーバヘッドとなる。 どちらの関数も XCharStruct を返し、そのメンバは以下のように値が設定される。
ascent メンバは、文字列中の各文字 ascent 寸法の最大値に設定される。 descent メンバは descent 寸法の最大値に設定される。 width メンバには、文字列中の各文字の幅の寸法の総和が設定される。 文字列中の各文字に対して、W を文字列中でその文字より前にある文字幅寸法 の総和とする。 L はその文字の左側bearing寸法に W を加えたものとする。 R はその文字の右側bearing寸法に W を加えたものとする。 lbearing メンバは、文字列中の全ての文字についての L の最小値に設定され る。 同じく rbearing は R の最大値に設定される。
2バイトの行列形式のインデックスではなく、線形インデックスで定義された フォントについては、各 XChar2b 構造体は byte1 が最上位バイトである16ビットの数と解釈される。 フォントにデフォルト文字が定義されていない場合、文字列中の未定義文字の 寸法は全て 0 として扱われる。
寸法が全て 0 である文字は無視される。 フォントにデフォルト文字が定義されていない場合、文字列中の未定義文字も 無視される。
XQueryTextExtents および XQueryTextExtents16 はエラー BadFont と BadGC を起こすことがある。