curs_addch(3x) curs_addch(3x)
addch, waddch, mvaddch, mvwaddch, echochar, wechochar - add a character (with attributes) to a curses window, then advance the cursor - 文字と属性を curses のウィンドウに追加し、カーソルを進める
#include <curses.h> int addch(const chtype ch); int waddch(WINDOW *win, const chtype ch); int mvaddch(int y, int x, const chtype ch); int mvwaddch(WINDOW *win, int y, int x, const chtype ch); int echochar(const chtype ch); int wechochar(WINDOW *win, const chtype ch);
The addch, waddch, mvaddch and mvwaddch routines put the character ch into the given window at its current window position, which is then advanced. They are analogous to putchar in stdio(3). If the advance is at the right mar- gin: addch, waddch, mvaddch, mvwaddch の各ルーチンは、文字 ch を 指定のウィンドウの現在位置に書き込んだ後、現在位置を進めます。 これらは stdio(3) の putchar に似ています。 右マージンまで進んだ時は、 o The cursor automatically wraps to the beginning of the next line. カーソルは自動的に次の行の先頭に折返します。 o At the bottom of the current scrolling region, and if scrollok is enabled, the scrolling region is scrolled up one line. 現在のスクロール領域の一番下で、 scrollok が有効な 場合は、スクロール領域が 1 行上へスクロールします。 o If scrollok is not enabled, writing a character at the lower right margin succeeds. However, an error is returned because it is not possible to wrap to a new line scrollok が有効でない場合は、続けて右マージン下方に 文字を書きます。しかし、新しい行に折り返すことが できないので、エラーが返ります。 If ch is a tab, newline, carriage return or backspace, the cursor is moved appropriately within the window: ch がタブ、改行、復帰 (キャリッジ・リターン)、もしくは バックスペースの場合は、カーソルはウィンドウの中で適切に 移動します。 o Backspace moves the cursor one character left; at the left edge of a window it does nothing. バックスペースはカーソルを 1 文字左へ移動します。 ウインドウ左端では何もしません。 o Carriage return moves the cursor to the window left margin on the current line. 復帰はカーソルを現在行のウインドウ左マージンに 移動します。 o Newline does a clrtoeol, then moves the cursor to the window left margin on the next line, scrolling the window if on the last line. 改行は clrtoeol を行った後、最後の行だった場合は ウインドウをスクロールし、カーソルを次の行の ウインドウ左マージンに移動します。 o Tabs are considered to be at every eighth column. The tab interval may be altered by setting the TABSIZE variable. タブは 8 桁ごとと想定します。 タブ間隔は変数 TABSIZE を設定することで変更できます。 If ch is any other control character, it is drawn in ^X notation. Calling winch after adding a control character does not return the character itself, but instead returns the ^-representation of the control character. ch が他の制御文字のときは、 ^X の形式で表示します。 制御文字を追加した後に winch を呼び出すと、 文字そのものではなく、制御文字の ^ 表現を返します。 Video attributes can be combined with a character argument passed to addch or related functions by logical-ORing them into the character. (Thus, text, including attributes, can be copied from one place to another using inch and addch.) See the curs_attr(3x) page for values of prede- fined video attribute constants that can be usefully OR'ed into characters. 表示属性は文字と論理和 (OR) を取ることにより、 addch その他の関連関数に渡す文字引数と合成することができます。 (ですから属性を含む文字列は inch と addch を使って、 ある場所から他の場所へとコピーすることができます。) 文字と論理和 (OR) を取る際に使えて便利な定義済みの 表示属性定数については curs_attr(3x) のマニュアル・ページを 参照してください。
The echochar and wechochar routines are equivalent to a call to addch followed by a call to refresh, or a call to waddch followed by a call to wrefresh. The knowledge that only a single character is being output is used and, for non-control characters, a considerable performance gain may be seen by using these routines instead of their equivalents. echochar と wechochar ルーチンは、 addch を呼び出した後に refresh を呼び出す、または waddch を呼び出した後に wrefresh を呼び出すことと同じです。 1 つの文字だけが出力されるという知識は考慮され、そして、 非制御文字に対しては、等価な関数よりもこれらのルーチンを 使うことで相当な性能の向上がみられることがあります。
The following variables may be used to add line drawing characters to the screen with routines of the addch fam- ily. The default character listed below is used if the acsc capability does not define a terminal-specific replacement for it, or if the terminal and locale configu- ration requires Unicode but the library is unable to use Unicode. addch 一族のルーチンで画面に罫線文字等を加えるために 以下の変数 (訳注: 定数か) が使えるかもしれません。 acsc 機能項目が端末固有の代替を定義していない場合、 または端末とロケールの設定が Unicode を要求するのに ライブラリが Unicode を使うことができない場合、下表の デフォルト文字が使われます。 The names are taken from VT100 nomenclature. 名前は VT100 の命名法から取られています。 Name Default Description 名前 デフォルト 説明 -------------------------------------------------- ACS_BLOCK # solid square block 正方形ボックス ACS_BOARD # board of squares 矩形のボード ACS_BTEE + bottom tee 下ティー ACS_BULLET o bullet 黒丸 ACS_CKBOARD : checker board (stipple) チェッカーボード(点描) ACS_DARROW v arrow pointing down 下向き矢印 ACS_DEGREE ' degree symbol 度記号 ACS_DIAMOND + diamond ダイヤモンド ACS_GEQUAL > greater-than-or-equal-to 以上(不等号) ACS_HLINE - horizontal line 横線 ACS_LANTERN # lantern symbol ランタン記号 ACS_LARROW < arrow pointing left 左向き矢印 ACS_LEQUAL < less-than-or-equal-to 以下(不等号) ACS_LLCORNER + lower left-hand corner 左下隅 ACS_LRCORNER + lower right-hand corner 右下隅 ACS_LTEE + left tee 左ティー ACS_NEQUAL ! not-equal 等号否定 ACS_PI * greek pi ギリシャ語のパイ ACS_PLMINUS # plus/minus プラス/マイナス ACS_PLUS + plus 十字形 ACS_RARROW > arrow pointing right 右向き矢印 ACS_RTEE + right tee 右ティー ACS_S1 - scan line 1 走査線1 ACS_S3 - scan line 3 走査線3 ACS_S7 - scan line 7 走査線7 ACS_S9 _ scan line 9 走査線9 ACS_STERLING f pound-sterling symbol ポンド記号 ACS_TTEE + top tee 上ティー ACS_UARROW ^ arrow pointing up 上向き矢印 ACS_ULCORNER + upper left-hand corner 左上隅 ACS_URCORNER + upper right-hand corner 右上隅 ACS_VLINE | vertical line 縦線
All routines return the integer ERR upon failure and OK on success (the SVr4 manuals specify only "an integer value other than ERR") upon successful completion, unless other- wise noted in the preceding routine descriptions. すべてのルーチンは、上のルーチン説明で特記して いないかぎり、失敗すると整数 ERR を、成功すると OK ( SVr4 マニュアルは「 ERR 以外の整数値」としか 指定していません) を返します。 Functions with a "mv" prefix first perform a cursor move- ment using wmove, and return an error if the position is outside the window, or if the window pointer is null. mv で始まる関数は、最初に wmove を使用してカーソルを 移動し、位置がウィンドウの外だった場合、またはウィンドウ ポインタがヌルの場合にエラーを返します。
Note that addch, mvaddch, mvwaddch, and echochar may be macros. addch, mvaddch, mvwaddch, echochar はマクロであるかも しれないことに注意してください。
All these functions are described in the XSI Curses stan- dard, Issue 4. The defaults specified for forms-drawing characters apply in the POSIX locale. これらすべての関数は、 XSI Curses standard, Issue 4 に 記述されています。POSIX ロケールでは、罫線素片文字に対して 指定されたデフォルトが適用されます。 X/Open Curses states that the ACS_ definitions are char constants. For the wide-character implementation (see curs_add_wch), there are analogous WACS_ definitions which are cchar_t constants. X/Open Curses は、 ACS_ の定義は char 型定数だと明言して います。 ワイド文字用の実装には (curs_add_wch(3x) を参照) 、 これに類似した cchar_t 型定数の WACS_ の定義があります。 Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released System V. However, many publicly available terminfos include acsc strings in which their key characters (pryz{|}) are embedded, and a second-hand list of their character descriptions has come to light. The ACS-prefixed names for them were invented for ncurses(3x). いくつかの ACS 識別子 (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI, ACS_NEQUAL, ACS_STERLING) は、 公に発表されたどの System V にも記述されていません。 しかし、公に利用可能な多くの terminfo は そのキー文字 (pryz{|}) が埋め込まれている中に acsc 文字列を含んでおり、 それらの文字を説明する間接的な表が明らかにされています。 これらの ACS で始まる名前は ncurses(3x) のために 考案されたものです。 The displayed values for the ACS_ and WACS_ constants depend on ACS_ と WACS_ 定数に対して表示される値は下記に依存します。 o the library configuration, i.e., ncurses versus ncurs- esw, where the latter is capable of displaying Unicode while the former is not, and o ライブラリの構成、つまり ncurses に対して ncursesw 。 後者は Unicode を表示することができますが、 前者はできません。 o whether the locale uses UTF-8 encoding. o locale が UTF-8 エンコードを使うかどうか。 In certain cases, the terminal is unable to display line- drawing characters except by using UTF-8 (see the discus- sion of NCURSES_NO_UTF8_ACS in ncurses(3x)). ある場合には、端末は UTF-8 を使わないと罫線文字等を 表示することができません。( ncurses(3x) の NCURSES_NO_UTF8_ACS の議論を参照してください。) The TABSIZE variable is implemented in some versions of curses, but is not part of X/Open curses. 変数 TABSIZE は curses のいくつかのバージョンで 実装されていますが、 X/Open curses の一部ではありません。 If ch is a carriage return, the cursor is moved to the beginning of the current row of the window. This is true of other implementations, but is not documented. ch が復帰 (キャリッジ・リターン) のとき、カーソルは ウインドウの現在行の始めに移動します。 これは他の実装にも当てはまりますが、明文化されていません。
curses(3x), curs_attr(3x), curs_clear(3x), curs_inch(3x), curs_outopts(3x), curs_refresh(3x), curs_variables(3x), putc(3). Comparable functions in the wide-character (ncursesw) library are described in curs_add_wch(3x). ワイド文字用ライブラリ (ncursesw) の対応する関数群は curs_add_wch(3x) で説明しています。 curs_addch(3x)