日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
curs_termcap(3X) curs_termcap(3X) 名称 PC, UP, BC, ospeed, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs - terminfo ケーパビリティデータベースへの直接の curses インタフェース 書式 #include <curses.h> #include <term.h> extern char PC; extern char * UP; extern char * BC; extern short ospeed; int tgetent(char *bp, const char *name); int tgetflag(char *id); int tgetnum(char *id); char *tgetstr(char *id, char **area); char *tgoto(const char *cap, int col, int row); int tputs(const char *str, int affcnt, int (*putc)(int)); 解説 これらのルーチンは、termcap ライブラリを使用するプログラムのための変換 支援として含まれています。それらのパラメータは、同じで、ルーチンは、 terminfo データベースを使用してエミュレートされます。したがって、 terminfo エントリがコンパイルされたエントリのケーパビリティを問い合わせ るためだけに、それらを使用することができます。 初期設定 tgetent ルーチンは、name のためのエントリをロードします。次を返します: 1 成功すれば、 0 そのようなエントリ (または、実行する curses アプリケーションのた めのあまりにもわずかな情報がある、一般的なタイプ) がない場合、そ して、 -1 terminfo データベースが見つけられなかった場合。 これは、次の 2 つの方法で termcap ライブラリと異なります: • エミュレーションは、バッファポインタ bp を無視します。termcap ラ イブラリは、このポインタによって参照された領域の端末の記述のコ ピーを格納します。しかしながら、ncurses は、同じものではない、コ ンパイルされたバイナリ形式でその端末の記述を格納します。 • リターンコードに違いがあります。termcap ライブラリは、端末の記述 が一般的なケーパビリティでマークされているかどうか、または端末の 記述がカーソルのアドレス指定があるかどうかをチェックしません。 ケーパビリティ値 tgetflag ルーチンは、id のためのブール値のエントリを取得し、それが利用 可能でないなら、0 を取得します。 tgetnum ルーチンは、id のための数値のエントリを取得し、それが利用可能で ないなら、-1 を取得します。 tgetstr ルーチンは、id のための文字列のエントリを返し、それが利用可能で ないなら、0 を返します。返された文字列を出力するためには、tputs を使用 します。また、返り値は、area によって指されるバッファにコピーされ、area 値は、この値を終了するヌル文字の次を指すために更新されます。 tgetflag, tgetnum と tgetstr の id パラメータの最初の 2 つの文字だけが 検索で比較されます。 書式化されたケーパビリティ tgoto ルーチンは、与えられたケーパビリティへパラメータのインスタンスを 作成します。このルーチンからの出力は、tputs に渡されることになっていま す。 tputs ルーチンは、curs_terminfo(3X) マニュアルページに説明されていま す。termcap または terminfo 名のいずれかによってケーパビリティを検索し て取り出すことができます。 グローバル変数 変数 PC、UP と BC は、それぞれ pad_char、cursor_up と backspace_if_not_bs のための terminfo エントリのデータに tgetent によっ て設定されます。UP は、ncurses で使用されません。PC は、tdelay_output 関数で使用されます。BC は、tgoto エミュレーションで使用されます。変数 ospeed は、端末の速度を反映するシステム特有のコードで ncurses によって 設定されます。 戻り値 明示的に注記されたものを除いて、整数を返すルーチンは、失敗すると ERR を 返し、成功して終了すれば、OK (SVr4 は、"ERR 以外の整数値" とだけ明記さ れています) を返します。 ポインタを返すルーチンは、エラーの場合 NULL を返します。 バグ ca または任意の他のパラメータ化された文字列を取って来るために tgetstr を呼び出すなら、より古くなく、全く互換性があるといえない termcap 記法の terminfo 記法で返されることに注意してください。それで行なうすべてが、 terminfo として terminfo スタイルの文字列を拡張した、tgoto または tparm の呼び出しであるなら、これは、問題を起こしません。(termcap をサポートす るように設定されるなら、tgoto 関数は、文字列が実際に "%p" パラメータま たは "$<..>" 遅延を探すことによって terminfo スタイルかどうかチェック し、文字列が terminfo であるように思えないなら termcap スタイルの構文解 析を呼び出します)。 文字列ケーパビリティ中の詰め物を表わすための terminfo 仕様が termcap と 異なるので、tputs("50"); は、50 ミリ秒のビジー待ちではなく定数 "50" が 出力されます。それに対処してください。 termcap には、terminfo の sgr 文字列に類似のものが何もないことに注意し てください。この 1 つの結論は、termcap アプリケーションが、me (terminfo の sgr0) が代わりの文字セットをリセットしないと仮定することです。この実 装は、この点において termcap の制限に対応するために termcap インタ フェースに示されたデータをチェックして変更しています。 移植性 XSI Curses standard, Issue 4 は、これらの関数を記述しています。しかしな がら、それらは、"取り止める" とマークされ、将来のバージョンで削除される かもしれません。 XSI Curses 規格も SVr4 マニュアルページも、tgetent の返り値を正確に文書 化していません、しかしながら、すべては、SVr1 以来ずっと返された事実があ ります。特に、XSI Curses 文書の手ぬかりは、tgetent が OK または ERR を 返す意味を誤って解釈しています。これらの関数の目的は、termcap ライブラ リとの互換性を提供することであるので、それは、ncurses ではなく XCurses, Issue 4, バージョン 2 の欠陥です。 外部変数は、特定の termcap アプリケーションのサポートを行ないます。しか しながら、それらの変数の termcap アプリケーションの使用は、例えば、入力 と出力の区別がないなど、不完全に文書化されています。特に、いくつかのア プリケーションは、ospeed を宣言し、そして/または、変更することが報告さ れています。 id パラメータの最初の 2 文字だけが使用されるコメントは、多くのアプリ ケーションの開発者をエスケープします。オリジナルの BSD 4.2 termcap ライ ブラリ (とその歴史的な遺物) は、tgetstr, tgetnum と tgetflag に渡される パラメータ名で後続するヌル文字を要求しませんでした。いくつかのアプリ ケーションは、termcap インタフェースがパラメータ名のために後続するヌル 文字を要求しないと仮定します。これらの問題を考慮に入れてください: • 特殊な場合として、tgetflag は、それが端末の記述の終わりであった、提 供された単一文字の識別子と照合しました。利用者は、移植性のあるプロ グラムで、この振る舞いに当てにするべきではありません。この実装は、 単一文字のケーパビリティ名の照合を許可しません。 • この実装は、2 文字より長い拡張ケーパビリティ名に対する termcap イン タフェースによる照合を許可しません。 関連項目 curses(3X), terminfo(5), term_variables(3X), putc(3) http://invisible-island.net/ncurses/tctest.html curs_termcap(3X)