XmbDrawText(3X11)

名前
XmbDrawText, XwcDrawText, Xutf8DrawText - 複数のフォントセットを用いてテキストを描画する

書式
void XmbDrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XmbTextItem *items;
      int nitems;

void XwcDrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XwcTextItem *items;
      int nitems;

void Xutf8DrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XmbTextItem *items;
      int nitems;

引き数

d   ドロウアブルを指定する。

display
    X サーバへの接続を指定する。

gc  GC を指定する。

items
    テキストの配列を指定する。

nitems
    配列内のテキストの数を指定する。

x

y   x, y 座標を指定する。

説明
関数 はテキスト文字列間で複雑なスペーシングとフォントセットの遷移が可能であ る。 各テキストアイテム(text item)は順番に処理され、テキスト要素の原点は前のテキストア イテムの文字送りの分だけ主描画方向(primary draw direction)に移動する。 テキストアイテムを表す構造体の delta 要素は、テキストアイテムの描画の 原点の主描画方向への追加の文字送り量を指定する。 テキストアイテム構造体の font_set メンバが 以外の場合には、text_items リストのそのアイテム以降の描画にこのフォン トセットが使用される。 先頭のテキストアイテムの font_set メンバが である場合には、描画は実行されない。

はテキストセグメント間でのコンテクストに依存する描画は行わない。 クライアントはテキストセグメントを あるいは に渡すことによって描画領域の寸法を計算できる。 に欠けている文字集合がある場合には、該当する文字は が返すデフォルト文字列で描画される。 不正な文字コードに対する挙動は未定義である。

関数 は XFree86 4.0.2 から導入された XFree86 独自の拡張である。この関数が あるかどうかはマクロ で判定できる。

構造体
構造体の内容を以下に示す。 typedef struct {
    char *chars;
    int nchars;
    int delta;
    XFontSet font_set; } XmbTextItem;

構造体の内容を示す。 typedef struct {
    wchar_t *chars;
    int nchars;
    int delta;
    XFontSet font_set; } XwcTextItem;

関連項目
XDrawImageString(3X11), XDrawString(3X11), XDrawText(3X11), XmbDrawImageString(3X11), XmbDrawString(3X11)
Xlib - C Language X Interface