Other Alias
XmbTextPerCharExtents, Xutf8TextPerCharExtents書式
Status XmbTextPerCharExtents(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;
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;
引き数
- array_size
- ink_array_return と logical_array_return の大きさを指定する。 関数呼び出しの際には、この数の配列を渡さなければならない。
- font_set
- フォントセットを指定する。
- ink_array_return
- 各文字が実際に描画されるディメンジョンが返される。
- logical_array_return
- 各文字の論理的なディメンジョンが返される。
- num_bytes
- 引き数 string のバイト数を指定する。
- num_chars_return
- 引き数 string の文字数が返される。
- num_wchars
- 引き数 string の文字数を指定する。
- overall_ink_return
- 実際に描画が行われる 文字列全体の領域 が返される。
- overall_logical_return
- 論理的な 文字列全体の領域 が返される。
- string
- 文字列を指定する。
説明
関数 XmbTextPerCharExtents, XwcTextPerCharExtents, Xutf8TextPerCharExtents は、与えられたフォントセットに対してロードされたフォントを使い、指定の テキストの各文字のディメンジョンを返す。 ink_array_return と logical_array_return の連続するそれぞれの要素には、 与えられたテキスト文字列内の各文字に対し、文字が描画される寸法が、文字 列の描画の原点に対する相対位置の一つの長方形として連続的にセットされる。 セットされた ink_array_return と logical_array_return の要素の数が num_chars_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 で判定できる。