FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 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 は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 拡張 | 関連ファイル | 関連項目 | 作者
terminfo(5)                      File Formats                      terminfo(5)



名称
       terminfo - 端末ケーパビリティのデータベース

書式
       /usr/share/misc/terminfo/*/*

解説
       terminfo は、端末の特性を記述するデータベースであり、nvi(1), rogue(1)
       などの画面を活用したプログラムや curses(3X) などのライブラリによって使
       用されます。terminfo は、端末が持つケーパビリティの集合を与え、画面操作
       をどのようにして行うかを指定し、必要なパディングや初期化シーケンスを指
       定することで、端末の特性を記述します。これは、ncurses バージョン 5.9
       (パッチ 20140222) について説明しています。

       terminfo のエントリは、`,' で区切られたフィールドの列からなります
       (フィールド内のコンマはバックスラッシュでエスケープするか、\054 と書き
       ます)。`,' セパレータの後の空白は無視されます。各端末を表す最初のエント
       リは、端末を表すものとして知られている名前を指定します。名前を複数指定
       するときは `|' で区切ります。最初の名前は、その端末のものとして最もよく
       知られた省略形を与えます。最後の名前には、その端末を識別できるだけの長
       い名前を指定するべきです。それら以外の名前は、同じ端末を指す別名と見な
       されます。最後のもの以外の名前は、すべて英小文字からなり、空白が含まれ
       ていてはいけません。最後の名前には、読みやすくするために大文字や空白を
       含めても構いません。

       最初のカラムが `#' で始まる行は、コメントとして扱われます。コメント行が
       全然正当でない間に、@CAPTOINFO@@INFOTOCAP@ (tic の別名) の出力がコ
       メントを動かすので、それらはエントリの間だけに起こります。

       改行と先導するタブは読み易さのための書式化されたエントリに使用されま
       す。これらは、解析されるエントリから取り除かれます。infocmp -f オプショ
       ンは、if-then-else 表現を書式化するためにこれに依存します: tic によって
       結果を読み込むことができます。

       端末名 (最後の冗長なものは除く) は、次の約束にしたがって付けてくださ
       い。端末を構成するハードウェアの特別の部分は、"hp2621" のような、ルート
       名があるべきです。モードや、ユーザの設定が現れる部分については、基本名
       の後に、ハイフンとモードの接尾辞つけて表してください。例えば、vt100 の
       132 桁モードは vt100-w のようになります。使えるところがあれば、次の接尾
       辞を使ってください。


            接尾辞                    意味                    
            -nn      画面の行数                               aaa-60
            -np      画面記憶ページ数                         c100-4p
            -am      自動マージン付 (通常これがデフォルト)    vt100-am
            -m       白黒モード; 色を抑制                     ansi-m
            -mc      魔法のクッキー; ハイライトのときの空白   wy30-mc
            -na      矢印キー無し (局所的にとどめる)          c100-na
            -nam     自動マージン無し                         vt100-nam
            -nl      ステータス行無し                         att4415-nl
            -ns      ステータス行無し                         hp2626-ns
            -rv      反転表示                                 c100-rv
            -s       ステータス行有り                         vt100-s
            -vb      ビープの代わりに可視ベルを使用           wy370-vb
            -w       幅広モード (> 80 桁、通常 132 桁)        vt100-w

       端末の命名規則についてさらに知りたいときは term(7) のマニュアルを参照し
       てください。

   事前に定義されたケーパビリティ
       次は terminfo の記述ブロックに含まれ、terminfo を使うコードが使用できる
       ケーパビリティの完全な表です。表の各行の意味は次の通りです。

       variable は (terminfo レベルの) プログラマがケーパビリティを使用すると
       きに用いる名前です。

       capname は、データベースのテキストの中で用いる短縮名で、データベースを
       更新する人間が用いる名前です。可能な場合は常に、capname は ANSI
       X3.64-1979 標準規格 (現在 ECMA-48 に取って代わられていますが、そこでも
       同一のもしくは非常に良く似た名前を使っています) と同一もしくは類似のも
       のを選んであります。その意味も、その規格での規定に合致するようにしてあ
       ります。

       termcap code は古典的な termcap ケーパビリティの名前です (いくつかの
       ケーパビリティは新しいもので、その名前は termcap に由来しません)。

       ケーパビリティの名前の長さには、決まった上限はありません。ただし、名前
       を短くし、ソースファイルにタブを使って cap をきれいに並べられるように、
       非公式ながら上限 5 文字の制限が既に採用されています。

       最後に、説明ではケーパビリティの意味を伝えようとします。説明の中には次
       のようなコードがある場合があります。

       (P)    パディングが指定可能であることを表します。

       #[1-9] 説明の中では、文字列が (#i) として与えられる引数として tparm を
              介して渡されることを示します。

       (P*)   影響を受ける行数にパディングが比例することを表します。

       (#i)   第 i 番目のパラメータを表します。


       次はブール値ケーパビリティです:


                 変数                cap-       TCap              説明
               ブール値              name       Code
       auto_left_margin              bw         bw        cub1 は桁 0 から最後
                                                          の桁に折りたたむ
       auto_right_margin             am         am        自動マージン機能を持
                                                          つ
       back_color_erase              bce        ut        画面を背景色で消去す
                                                          る
       can_change                    ccc        cc        既存の色を再定義可能
       ceol_standout_glitch          xhp        xs        強調出力は上書きで消
                                                          去されない (hp)
       col_addr_glitch               xhpa       YA        hpa/mhpa では正方向
                                                          のみ移動可能
       cpi_changes_res               cpix       YF        文字ピッチを変えると
                                                          解像度が変わる
       cr_cancels_micro_mode         crxm       YB        cr を使用するとマイ
                                                          クロモードがオフにな
                                                          る
       dest_tabs_magic_smso          xt         xt        タブは破壊的、強調文
                                                          字の動作が奇妙
                                                          (t1061)
       eat_newline_glitch            xenl       xn        80 桁より後の改行は
                                                          無視される (concept)
       erase_overstrike              eo         eo        空白の重ね打ちで消去
                                                          可能
       generic_type                  gn         gn        一般的な回線タイプ
       hard_copy                     hc         hc        ハードコピー端末
       hard_cursor                   chts       HC        カーソルが見にくい
       has_meta_key                  km         km        メタキーを持つ (押す
                                                          と第 8 ビットがセッ
                                                          トされる)


       has_print_wheel               daisy      YC        文字セットを変更する
                                                          のに人手が必要なプリ
                                                          ンタ
       has_status_line               hs         hs        特別なステータス行を
                                                          持つ
       hue_lightness_saturation      hls        hl        端末は HLS 色表記の
                                                          み使用 (Tektronix)
       insert_null_glitch            in         in        挿入モードでヌル文字
                                                          を区別する
       lpi_changes_res               lpix       YG        行ピッチを変えると解
                                                          像度が変わる
       memory_above                  da         da        画面より上の描画が保
                                                          持される
       memory_below                  db         db        画面より下の描画が保
                                                          持される
       move_insert_mode              mir        mi        挿入モードで安全に
                                                          カーソル移動可能
       move_standout_mode            msgr       ms        強調モードで安全に
                                                          カーソル移動可能
       needs_xon_xoff                nxon       nx        パディング機能が働か
                                                          ない。xon/xoff 制御
                                                          が必要
       no_esc_ctlc                   xsb        xb        beehive 端末
                                                          (f1=escape, f2=ctrl
                                                          C)
       no_pad_char                   npc        NP        パディング文字が存在
                                                          しない
       non_dest_scroll_region        ndscr      ND        スクロール領域が非破
                                                          壊的
       non_rev_rmcup                 nrrmc      NR        smcup は rmcup の動
                                                          作を反転しない
       over_strike                   os         os        端末は重ね打ち可能
       prtr_silent                   mc5i       5i        プリンタ出力は画面に
                                                          エコーしない
       row_addr_glitch               xvpa       YD        vpa/mvpa では正方向
                                                          にのみ移動可能
       semi_auto_right_margin        sam        YE        最終桁で出力すると
                                                          cr 動作をする
       status_line_esc_ok            eslok      es        ステータス行上でエス
                                                          ケープ可能
       tilde_glitch                  hz         hz        ~ 表示不可
                                                          (hazeltine 端末)
       transparent_underline         ul         ul        下線付文字は上書きす
                                                          る
       xon_xoff                      xon        xo        端末は xon/xoff ハン
                                                          ドシェイクを行う

       次は数値ケーパビリティです:


              変数               cap-         TCap                説明
              数値               name         Code
       columns                   cols         co          1 行の桁数
       init_tabs                 it           it          タブの初期設定は #
                                                          個の空白毎
       label_height              lh           lh          ラベル 1 つの行数
       label_width               lw           lw          ラベル 1 つの桁数
       lines                     lines        li          画面またはページの行
                                                          数
       lines_of_memory           lm           lm          lines の値以上の場合
                                                          メモリの行数。0 は行
                                                          数が可変であることを
                                                          表す
       magic_cookie_glitch       xmc          sg          smso や rmso で画面
                                                          に残る空白数


       max_attributes            ma           ma          端末が組み合わせて処
                                                          理できる属性数の最大
                                                          値
       max_colors                colors       Co          画面上の最大色数
       max_pairs                 pairs        pa          画面上の色ペアの最大
                                                          値
       maximum_windows           wnum         MW          定義可能なウィンドウ
                                                          数の最大値
       no_color_video            ncv          NC          色付きでは使用できな
                                                          いビデオ属性
       num_labels                nlab         Nl          画面上のラベル数
       padding_baud_rate         pb           pb          パディングが必要な最
                                                          低ボーレート
       virtual_terminal          vt           vt          仮想画面番号
                                                          (CB/unix)
       width_status_line         wsl          ws          ステータス行の桁数

       次の数値ケーパビリティは、SVr4.0 の term 構造体に存在していますが、マ
       ニュアルには未だに説明がありません。SVr4 でプリンタに対応するために採り
       入れられました。


               変数               cap-         TCap               説明
              数値                name         Code
       bit_image_entwining        bitwin       Yo         各ビットイメージ行に
                                                          対するパスの数
       bit_image_type             bitype       Yp         ビットイメージデバイ
                                                          スのタイプ
       buffer_capacity            bufsz        Ya         印字前にバッファリン
                                                          グ可能なバイト数
       buttons                    btns         BT         マウスのボタン数
       dot_horz_spacing           spinh        Yc         1 インチあたりのドッ
                                                          ト数での水平方向の
                                                          ドット間隔
       dot_vert_spacing           spinv        Yb         1 インチあたりのピン
                                                          数での垂直方向のピン
                                                          間隔
       max_micro_address          maddr        Yd         micro_..._address で
                                                          の最大値
       max_micro_jump             mjump        Ye         parm_..._micro での
                                                          最大値
       micro_col_size             mcs          Yf         マイクロモードでの文
                                                          字ステップサイズ
       micro_line_size            mls          Yg         マイクロモードでの行
                                                          ステップサイズ
       number_of_pins             npins        Yh         プリントヘッドのピン
                                                          数
       output_res_char            orc          Yi         1 行あたりのユニット
                                                          数での水平解像度
       output_res_horz_inch       orhi         Yk         1 インチあたりのユ
                                                          ニット数での水平解像
                                                          度
       output_res_line            orl          Yj         1 行あたりのユニット
                                                          数での垂直解像度
       output_res_vert_inch       orvi         Yl         1 インチあたりのユ
                                                          ニット数での垂直解像
                                                          度
       print_rate                 cps          Ym         1 秒あたりの文字数で
                                                          の印字速度
       wide_char_size             widcs        Yn         倍幅モードでの文字ス
                                                          テップサイズ

       次は文字列ケーパビリティです:


                 変数                cap-       TCap              説明

                文字列               name       Code
       acs_chars                     acsc       ac        図形文字セットの組、
                                                          vt100 に基づく
       back_tab                      cbt        bt        後退タブ (P)
       bell                          bel        bl        可聴シグナル (ベル)
                                                          (P)
       carriage_return               cr         cr        復帰文字 (P*) (P*)
       change_char_pitch             cpi        ZA        1 インチあたりの文字
                                                          数を # 1 に変更
       change_line_pitch             lpi        ZB        1 インチあたりの行数
                                                          を #1 に変更
       change_res_horz               chr        ZC        水平解像度を #1 に変
                                                          更
       change_res_vert               cvr        ZD        垂直解像度を #1 に変
                                                          更
       change_scroll_region          csr        cs        領域を行 #1 から行
                                                          #2 までに変更 (P)
       char_padding                  rmp        rP        ip と同様だが挿入
                                                          モード以外で使用
       clear_all_tabs                tbc        ct        タブ設定をすべてクリ
                                                          ア (P)
       clear_margins                 mgc        MC        左右のソフトマージン
                                                          をクリア
       clear_screen                  clear      cl        画面をクリアし、カー
                                                          ソルをホームに移動
                                                          (P*)
       clr_bol                       el1        cb        行先頭までクリア
       clr_eol                       el         ce        行末までクリア (P)
       clr_eos                       ed         cd        画面末までクリア
                                                          (P*)
       column_address                hpa        ch        水平絶対位置 #1 (P)
       command_character             cmdch      CC        端末がプロトタイプで
                                                          設定可能なコマンド文
                                                          字 !?
       create_window                 cwin       CW        ウィンドウ #1 を
                                                          #2,#3 から #4,#5 ま
                                                          でと定義
       cursor_address                cup        cm        行 #1 桁 #2 に移動
       cursor_down                   cud1       do        1 行下に移動
       cursor_home                   home       ho        カーソルをホームに移
                                                          動 (cup がない場合)
       cursor_invisible              civis      vi        カーソルを見えなくす
                                                          る
       cursor_left                   cub1       le        カーソルを 1 空白分
                                                          左に移動
       cursor_mem_address            mrcup      CM        メモリ相対のカーソル
                                                          位置指定であり、行
                                                          #1 列 #2 へ移動
       cursor_normal                 cnorm      ve        カーソルを通常表示に
                                                          する (civis/cvvis を
                                                          元に戻す)
       cursor_right                  cuf1       nd        非破壊空白 (1 空白分
                                                          右に移動)
       cursor_to_ll                  ll         ll        最終行の最初の桁
                                                          (cup がない場合)
       cursor_up                     cuu1       up        1 行上へ
       cursor_visible                cvvis      vs        カーソルをより見える
                                                          ようにする
       define_char                   defc       ZE        文字 #1 を幅 #2 ドッ
                                                          ト、ディセンダ #3 で
                                                          定義する
       delete_character              dch1       dc        文字を削除 (P*)
       delete_line                   dl1        dl        行を削除 (P*)
       dial_phone                    dial       DI        番号 #1 にダイヤルす
                                                          る


       dis_status_line               dsl        ds        ステータス行を無効に
                                                          する
       display_clock                 dclk       DK        時計を表示する
       down_half_line                hd         hd        半行下へ
       ena_acs                       enacs      eA        別の文字セットを有効
                                                          にする
       enter_alt_charset_mode        smacs      as        別の文字セットを開始
                                                          (P)
       enter_am_mode                 smam       SA        自動マージンオン
       enter_blink_mode              blink      mb        点滅モードオン
       enter_bold_mode               bold       md        太字 (更に明るい)
                                                          モードオン
       enter_ca_mode                 smcup      ti        cup を用いたプログラ
                                                          ムを開始する文字列
       enter_delete_mode             smdc       dm        削除モード開始
       enter_dim_mode                dim        mh        半輝度モード開始
       enter_doublewide_mode         swidm      ZF        倍幅モード開始
       enter_draft_quality           sdrfq      ZG        ドラフト印字モード開
                                                          始
       enter_insert_mode             smir       im        挿入モード開始
       enter_italics_mode            sitm       ZH        斜体モード開始
       enter_leftward_mode           slm        ZI        左向き移動モード開始
       enter_micro_mode              smicm      ZJ        マイクロ移動モード開
                                                          始
       enter_near_letter_quality     snlq       ZK        NLQ 印字モード開始
       enter_normal_quality          snrmq      ZL        通常品質印字モード開
                                                          始
       enter_protected_mode          prot       mp        保護モードオン
       enter_reverse_mode            rev        mr        反転表示モードオン
       enter_secure_mode             invis      mk        ブランクモードオン
                                                          (文字が見えない)
       enter_shadow_mode             sshm       ZM        シャドウプリントモー
                                                          ド開始
       enter_standout_mode           smso       so        強調モード開始
       enter_subscript_mode          ssubm      ZN        下付き文字モード開始
       enter_superscript_mode        ssupm      ZO        上付き文字モード開始
       enter_underline_mode          smul       us        下線モード開始
       enter_upward_mode             sum        ZP        上向き移動モード開始
       enter_xon_mode                smxon      SX        xon/xoff ハンドシェ
                                                          イクオン
       erase_chars                   ech        ec        #1 個の文字を消去
                                                          (P)
       exit_alt_charset_mode         rmacs      ae        別の文字セット終了
                                                          (P)
       exit_am_mode                  rmam       RA        自動マージンオフ
       exit_attribute_mode           sgr0       me        全属性オフ
       exit_ca_mode                  rmcup      te        cup を用いたプログラ
                                                          ムを終了する文字列
       exit_delete_mode              rmdc       ed        削除モード終了
       exit_doublewide_mode          rwidm      ZQ        倍幅モード終了
       exit_insert_mode              rmir       ei        挿入モード終了
       exit_italics_mode             ritm       ZR        斜体モード終了
       exit_leftward_mode            rlm        ZS        左向き移動モード終了
       exit_micro_mode               rmicm      ZT        マイクロ移動モード終
                                                          了
       exit_shadow_mode              rshm       ZU        シャドウプリントモー
                                                          ド終了
       exit_standout_mode            rmso       se        強調モード終了
       exit_subscript_mode           rsubm      ZV        下付き文字モード終了
       exit_superscript_mode         rsupm      ZW        上付き文字モード終了
       exit_underline_mode           rmul       ue        下線モード終了
       exit_upward_mode              rum        ZX         逆向き移動モード終
                                                          了
       exit_xon_mode                 rmxon      RX        xon/xoff ハンドシェ
                                                          イクオフ
       fixed_pause                   pause      PA        2-3 秒待つ

       flash_hook                    hook       fh        スイッチフックをフ
                                                          ラッシュ
       flash_screen                  flash      vb        可視ベル (カーソルは
                                                          移動しない)
       form_feed                     ff         ff        ハードコピー端末での
                                                          ページ排出 (P*)
       from_status_line              fsl        fs        ステータス行からの復
                                                          帰
       goto_window                   wingo      WG        ウィンドウ #1 に移動
       hangup                        hup        HU        電話を切る
       init_1string                  is1        i1        初期化文字列
       init_2string                  is2        is        初期化文字列
       init_3string                  is3        i3        初期化文字列
       init_file                     if         if        初期化ファイルの名前
       init_prog                     iprog      iP        初期化プログラムのパ
                                                          ス名
       initialize_color              initc      Ic        色 #1 を (#2,#3,#4)
                                                          に初期化
       initialize_pair               initp      Ip        色ペア #1 を
                                                          fg=(#2,#3,#4),
                                                          bg=(#5,#6,#7) に初期
                                                          化
       insert_character              ich1       ic        文字の挿入 (P)
       insert_line                   il1        al        行の挿入 (P*)
       insert_padding                ip         ip        文字挿入の後にパディ
                                                          ングを挿入
       key_a1                        ka1        K1        キーパッドの左上キー
       key_a3                        ka3        K3        キーパッドの右上キー
       key_b2                        kb2        K2        キーパッドの中央キー
       key_backspace                 kbs        kb        backspace キー
       key_beg                       kbeg       @1        begin キー
       key_btab                      kcbt       kB        back-tab キー
       key_c1                        kc1        K4        キーパッドの左下キー
       key_c3                        kc3        K5        キーパッドの右下キー
       key_cancel                    kcan       @2        cancel キー
       key_catab                     ktbc       ka        clear-all-tabs キー
       key_clear                     kclr       kC        clear-screen キー、
                                                          または erase キー
       key_close                     kclo       @3        close キー
       key_command                   kcmd       @4        command キー
       key_copy                      kcpy       @5        copy キー
       key_create                    kcrt       @6        create キー
       key_ctab                      kctab      kt        clear-tab キー
       key_dc                        kdch1      kD        delete-character
                                                          キー
       key_dl                        kdl1       kL        delete-line キー
       key_down                      kcud1      kd        down-arrow キー
       key_eic                       krmir      kM        挿入モードで rmir や
                                                          smir が送出するデー
                                                          タ
       key_end                       kend       @7        end キー
       key_enter                     kent       @8        enter/send キー
       key_eol                       kel        kE        clear-to-end-of-line
                                                          キー
       key_eos                       ked        kS        clear-to-end-of
                                                          screen キー
       key_exit                      kext       @9        exit キー
       key_f0                        kf0        k0        F0  ファンクション
                                                          キー
       key_f1                        kf1        k1        F1  ファンクション
                                                          キー
       key_f10                       kf10       k;        F10 ファンクション
                                                          キー
       key_f11                       kf11       F1        F11 ファンクション
                                                          キー


       key_f12                       kf12       F2        F12 ファンクション
                                                          キー
       key_f13                       kf13       F3        F13 ファンクション
                                                          キー
       key_f14                       kf14       F4        F14 ファンクション
                                                          キー
       key_f15                       kf15       F5        F15 ファンクション
                                                          キー
       key_f16                       kf16       F6        F16 ファンクション
                                                          キー
       key_f17                       kf17       F7        F17 ファンクション
                                                          キー
       key_f18                       kf18       F8        F18 ファンクション
                                                          キー
       key_f19                       kf19       F9        F19 ファンクション
                                                          キー
       key_f2                        kf2        k2        F2  ファンクション
                                                          キー
       key_f20                       kf20       FA        F20 ファンクション
                                                          キー
       key_f21                       kf21       FB        F21 ファンクション
                                                          キー
       key_f22                       kf22       FC        F22 ファンクション
                                                          キー
       key_f23                       kf23       FD        F23 ファンクション
                                                          キー
       key_f24                       kf24       FE        F24 ファンクション
                                                          キー
       key_f25                       kf25       FF        F25 ファンクション
                                                          キー
       key_f26                       kf26       FG        F26 ファンクション
                                                          キー
       key_f27                       kf27       FH        F27 ファンクション
                                                          キー
       key_f28                       kf28       FI        F28 ファンクション
                                                          キー
       key_f29                       kf29       FJ        F29 ファンクション
                                                          キー
       key_f3                        kf3        k3        F3  ファンクション
                                                          キー
       key_f30                       kf30       FK        F30 ファンクション
                                                          キー
       key_f31                       kf31       FL        F31 ファンクション
                                                          キー
       key_f32                       kf32       FM        F32 ファンクション
                                                          キー
       key_f33                       kf33       FN        F33 ファンクション
                                                          キー
       key_f34                       kf34       FO        F34 ファンクション
                                                          キー
       key_f35                       kf35       FP        F35 ファンクション
                                                          キー
       key_f36                       kf36       FQ        F36 ファンクション
                                                          キー
       key_f37                       kf37       FR        F37 ファンクション
                                                          キー
       key_f38                       kf38       FS        F38 ファンクション
                                                          キー
       key_f39                       kf39       FT        F39 ファンクション
                                                          キー
       key_f4                        kf4        k4        F4  ファンクション
                                                          キー
       key_f40                       kf40       FU        F40 ファンクション
                                                          キー
       key_f41                       kf41       FV        F41 ファンクション
                                                          キー

       key_f42                       kf42       FW        F42 ファンクション
                                                          キー
       key_f43                       kf43       FX        F43 ファンクション
                                                          キー
       key_f44                       kf44       FY        F44 ファンクション
                                                          キー
       key_f45                       kf45       FZ        F45 ファンクション
                                                          キー
       key_f46                       kf46       Fa        F46 ファンクション
                                                          キー
       key_f47                       kf47       Fb        F47 ファンクション
                                                          キー
       key_f48                       kf48       Fc        F48 ファンクション
                                                          キー
       key_f49                       kf49       Fd        F49 ファンクション
                                                          キー
       key_f5                        kf5        k5        F5  ファンクション
                                                          キー
       key_f50                       kf50       Fe        F50 ファンクション
                                                          キー
       key_f51                       kf51       Ff        F51 ファンクション
                                                          キー
       key_f52                       kf52       Fg        F52 ファンクション
                                                          キー
       key_f53                       kf53       Fh        F53 ファンクション
                                                          キー
       key_f54                       kf54       Fi        F54 ファンクション
                                                          キー
       key_f55                       kf55       Fj        F55 ファンクション
                                                          キー
       key_f56                       kf56       Fk        F56 ファンクション
                                                          キー
       key_f57                       kf57       Fl        F57 ファンクション
                                                          キー
       key_f58                       kf58       Fm        F58 ファンクション
                                                          キー
       key_f59                       kf59       Fn        F59 ファンクション
                                                          キー
       key_f6                        kf6        k6        F6  ファンクション
                                                          キー
       key_f60                       kf60       Fo        F60 ファンクション
                                                          キー
       key_f61                       kf61       Fp        F61 ファンクション
                                                          キー
       key_f62                       kf62       Fq        F62 ファンクション
                                                          キー
       key_f63                       kf63       Fr        F63 ファンクション
                                                          キー
       key_f7                        kf7        k7        F7  ファンクション
                                                          キー
       key_f8                        kf8        k8        F8  ファンクション
                                                          キー
       key_f9                        kf9        k9        F9  ファンクション
                                                          キー
       key_find                      kfnd       @0        find キー
       key_help                      khlp       %1        help キー
       key_home                      khome      kh        home キー
       key_ic                        kich1      kI        insert-character
                                                          キー
       key_il                        kil1       kA        insert-line キー
       key_left                      kcub1      kl        left-arrow キー
       key_ll                        kll        kH        lower-left キー
                                                          (home down)
       key_mark                      kmrk       %2        mark キー
       key_message                   kmsg       %3        message キー
       key_move                      kmov       %4        move キー

       key_next                      knxt       %5        next キー
       key_npage                     knp        kN        next-page キー
       key_open                      kopn       %6        open キー
       key_options                   kopt       %7        options キー
       key_ppage                     kpp        kP        previous-page キー
       key_previous                  kprv       %8        previous キー
       key_print                     kprt       %9        print キー
       key_redo                      krdo       %0        redo キー
       key_reference                 kref       &1        reference キー
       key_refresh                   krfr       &2        refresh キー
       key_replace                   krpl       &3        replace キー
       key_restart                   krst       &4        restart キー
       key_resume                    kres       &5        resume キー
       key_right                     kcuf1      kr        right-arrow キー
       key_save                      ksav       &6        save キー
       key_sbeg                      kBEG       &9        シフト状態の begin
                                                          キー
       key_scancel                   kCAN       &0        シフト状態の cancel
                                                          キー
       key_scommand                  kCMD       *1        シフト状態の command
                                                          キー
       key_scopy                     kCPY       *2        シフト状態の copy
                                                          キー
       key_screate                   kCRT       *3        シフト状態の create
                                                          キー
       key_sdc                       kDC        *4        シフト状態の delete
                                                          character キー
       key_sdl                       kDL        *5        シフト状態の delete
                                                          line キー
       key_select                    kslt       *6        select キー
       key_send                      kEND       *7        シフト状態の end
                                                          キー
       key_seol                      kEOL       *8        シフト状態の clear
                                                          to-end-of-line キー
       key_sexit                     kEXT       *9        シフト状態の exit
                                                          キー
       key_sf                        kind       kF        scroll-forward キー
       key_sfind                     kFND       *0        シフト状態の find
                                                          キー
       key_shelp                     kHLP       #1        シフト状態の help
                                                          キー
       key_shome                     kHOM       #2        シフト状態の home
                                                          キー
       key_sic                       kIC        #3        シフト状態の insert
                                                          character キー
       key_sleft                     kLFT       #4        シフト状態の left
                                                          arrow キー
       key_smessage                  kMSG       %a        シフト状態の message
                                                          キー
       key_smove                     kMOV       %b        シフト状態の move
                                                          キー
       key_snext                     kNXT       %c        シフト状態の next
                                                          キー
       key_soptions                  kOPT       %d        シフト状態の options
                                                          キー
       key_sprevious                 kPRV       %e        シフト状態の
                                                          previous キー
       key_sprint                    kPRT       %f        シフト状態の print
                                                          キー
       key_sr                        kri        kR        scroll-backward キー
       key_sredo                     kRDO       %g        シフト状態の redo
                                                          キー
       key_sreplace                  kRPL       %h        シフト状態の replace
                                                          キー
       key_sright                    kRIT       %i        シフト状態の right
                                                          arrow キー

       key_srsume                    kRES       %j        シフト状態の resume
                                                          キー
       key_ssave                     kSAV       !1        シフト状態の save
                                                          キー
       key_ssuspend                  kSPD       !2        シフト状態の suspend
                                                          キー
       key_stab                      khts       kT        set-tab キー
       key_sundo                     kUND       !3        シフト状態の undo
                                                          キー
       key_suspend                   kspd       &7        suspend キー
       key_undo                      kund       &8        undo キー
       key_up                        kcuu1      ku        up-arrow キー
       keypad_local                  rmkx       ke        'keyboard_transmit'
                                                          モードから抜ける
       keypad_xmit                   smkx       ks        'keyboard_transmit'
                                                          モードに入る
       lab_f0                        lf0        l0        f0 でない場合、ファ
                                                          ンクションキー f0 の
                                                          ラベル
       lab_f1                        lf1        l1        f1 でない場合、ファ
                                                          ンクションキー f1 の
                                                          ラベル
       lab_f10                       lf10       la        f10 でない場合、ファ
                                                          ンクションキー f10
                                                          のラベル
       lab_f2                        lf2        l2        f2 でない場合、ファ
                                                          ンクションキー f2 の
                                                          ラベル
       lab_f3                        lf3        l3        f3 でない場合、ファ
                                                          ンクションキー f3 の
                                                          ラベル
       lab_f4                        lf4        l4        f4 でない場合、ファ
                                                          ンクションキー f4 の
                                                          ラベル
       lab_f5                        lf5        l5        f5 でない場合、ファ
                                                          ンクションキー f5 の
                                                          ラベル
       lab_f6                        lf6        l6        f6 でない場合、ファ
                                                          ンクションキー f6 の
                                                          ラベル
       lab_f7                        lf7        l7        f7 でない場合、ファ
                                                          ンクションキー f7 の
                                                          ラベル
       lab_f8                        lf8        l8        f8 でない場合、ファ
                                                          ンクションキー f8 の
                                                          ラベル
       lab_f9                        lf9        l9        f9 でない場合、ファ
                                                          ンクションキー f9 の
                                                          ラベル
       label_format                  fln        Lf        ラベルフォーマット
       label_off                     rmln       LF        ソフトラベルオフ
       label_on                      smln       LO        ソフトラベルオン
       meta_off                      rmm        mo        メタモードオフ
       meta_on                       smm        mm        メタモードオン (8 番
                                                          目のビットオン)
       micro_column_address          mhpa       ZY        マイクロモードの
                                                          column_address
       micro_down                    mcud1      ZZ        マイクロモードの
                                                          cursor_down
       micro_left                    mcub1      Za        マイクロモードの
                                                          cursor_left
       micro_right                   mcuf1      Zb        マイクロモードの
                                                          cursor_right
       micro_row_address             mvpa       Zc        マイクロモードの
                                                          row_address #1


       micro_up                      mcuu1      Zd        マイクロモードの
                                                          cursor_up
       newline                       nel        nw        改行 (cr の後に lf
                                                          が来る)
       order_of_pins                 porder     Ze        ソフトウェアビットを
                                                          印字ヘッドピンに一致
                                                          させる
       orig_colors                   oc         oc        すべての色ペアを本来
                                                          のものにする
       orig_pair                     op         op        デフォルトのペアを本
                                                          来の値にする
       pad_char                      pad        pc        パディング文字 (ヌル
                                                          以外)
       parm_dch                      dch        DC        #1 文字を削除 (P*)
       parm_delete_line              dl         DL        #1 行を削除 (P*)
       parm_down_cursor              cud        DO        #1 行下へ (P*)
       parm_down_micro               mcud       Zf        マイクロモードの
                                                          parm_down_cursor
       parm_ich                      ich        IC        #1 文字を挿入 (P*)
       parm_index                    indn       SF        #1 行の前進スクロー
                                                          ル (P)
       parm_insert_line              il         AL        #1 行を挿入 (P*)
       parm_left_cursor              cub        LE        左へ #1 文字分移動
                                                          (P)
       parm_left_micro               mcub       Zg        マイクロモードの
                                                          parm_left_cursor
       parm_right_cursor             cuf        RI        右へ #1 文字分移動
                                                          (P*)
       parm_right_micro              mcuf       Zh        マイクロモードの
                                                          parm_right_cursor
       parm_rindex                   rin        SR        #1 行の後退スクロー
                                                          ル (P)
       parm_up_cursor                cuu        UP        #1 行上へ (P*)
       parm_up_micro                 mcuu       Zi        マイクロモードの
                                                          parm_up_cursor
       pkey_key                      pfkey      pk        ファンクションキー
                                                          #1 の打鍵文字列を #2
                                                          にする
       pkey_local                    pfloc      pl        ファンクションキー
                                                          #1 の実行文字列を #2
                                                          にする
       pkey_xmit                     pfx        px        ファンクションキー
                                                          #1 の送信文字列を #2
                                                          にする
       plab_norm                     pln        pn        ラベル #1 に文字列
                                                          #2 を表示
       print_screen                  mc0        ps        画面の内容を印字する
       prtr_non                      mc5p       pO        #1 バイトだけプリン
                                                          タをオンにする
       prtr_off                      mc4        pf        プリンタをオフにする
       prtr_on                       mc5        po        プリンタをオンにする
       pulse                         pulse      PU        パルスダイヤルを選択
       quick_dial                    qdial      QD        確認なしで電話番号
                                                          #1 にダイヤルする
       remove_clock                  rmclk      RC        時計を削除
       repeat_char                   rep        rp        文字 #1 を #2 回繰り
                                                          返す (P*)
       req_for_input                 rfi        RF        (pty 用に) 次の入力
                                                          文字を送る
       reset_1string                 rs1        r1        リセット文字列
       reset_2string                 rs2        r2        リセット文字列
       reset_3string                 rs3        r3        リセット文字列
       reset_file                    rf         rf        リセットファイルの名
                                                          前



       restore_cursor                rc         rc        最後の save_cursor
                                                          の位置にカーソルを戻
                                                          す
       row_address                   vpa        cv        垂直絶対位置 #1 (P)
       save_cursor                   sc         sc        現在のカーソル位置を
                                                          保存 (P)
       scroll_forward                ind        sf        テキストを上にスク
                                                          ロール (P)
       scroll_reverse                ri         sr        テキストを下にスク
                                                          ロール (P)
       select_char_set               scs        Zj        文字セット #1 の選択
       set_attributes                sgr        sa        ビデオ属性を #1-#9
                                                          に定義 (PG9)
       set_background                setb       Sb        背景色を #1 に設定
       set_bottom_margin             smgb       Zk        下マージンを現在行に
                                                          設定
       set_bottom_margin_parm        smgbp      Zl        下マージンを #1 行目
                                                          か (smgtp が与えられ
                                                          ていなければ) 下から
                                                          #2 行目にする
       set_clock                     sclk       SC        時計を #1 時 #2 分
                                                          #3 秒に設定
       set_color_pair                scp        sp        現在の色ペアを #1 に
                                                          設定
       set_foreground                setf       Sf        前景色を #1 に設定
       set_left_margin               smgl       ML        左ソフトマージンを現
                                                          在桁に設定  smgl を
                                                          参照 (ML は BSD の
                                                          termcap とは違いま
                                                          す)
       set_left_margin_parm          smglp      Zm        左 (右) マージンを桁
                                                          #1 に設定
       set_right_margin              smgr       MR        右ソフトマージンを現
                                                          在桁に設定
       set_right_margin_parm         smgrp      Zn        右マージンを桁 #1 に
                                                          設定
       set_tab                       hts        st        全行のタブを現在の桁
                                                          に設定
       set_top_margin                smgt       Zo        上マージンを現在行に
                                                          設定
       set_top_margin_parm           smgtp      Zp        上 (下) マージンを行
                                                          #1 に設定
       set_window                    wind       wi        現在のウィンドウを行
                                                          #1-#2、桁 #3-#4 とす
                                                          る
       start_bit_image               sbim       Zq        ビットイメージグラ
                                                          フィック印字の開始
       start_char_set_def            scsd       Zr        #2 個の文字からなる
                                                          文字セット #1 の定義
                                                          の開始
       stop_bit_image                rbim       Zs        ビットイメージグラ
                                                          フィック印字の終了
       stop_char_set_def             rcsd       Zt        文字セット #1 の定義
                                                          の終了
       subscript_characters          subcs      Zu        下付き文字となりうる
                                                          文字のリスト
       superscript_characters        supcs      Zv        上付き文字となりうる
                                                          文字のリスト
       tab                           ht         ta        次の 8 文字分のハー
                                                          ドウェアタブストップ
                                                          へのタブ文字
       these_cause_cr                docr       Zw        これらの文字のうちの
                                                          いずれかの印字は CR
                                                          を引き起こす
       to_status_line                tsl        ts        ステータス行の列 #1
                                                          に移動

       tone                          tone       TO        タッチトーンダイヤル
                                                          を選択
       underline_char                uc         uc        文字 1 つに下線を付
                                                          け、次の文字に移動
       up_half_line                  hu         hu        半行上へ
       user0                         u0         u0        ユーザ文字列 #0
       user1                         u1         u1        ユーザ文字列 #1
       user2                         u2         u2        ユーザ文字列 #2
       user3                         u3         u3        ユーザ文字列 #3
       user4                         u4         u4        ユーザ文字列 #4
       user5                         u5         u5        ユーザ文字列 #5
       user6                         u6         u6        ユーザ文字列 #6
       user7                         u7         u7        ユーザ文字列 #7
       user8                         u8         u8        ユーザ文字列 #8
       user9                         u9         u9        ユーザ文字列 #9
       wait_tone                     wait       WA        ダイヤルトーンを待つ
       xoff_character                xoffc      XF        XOFF 文字
       xon_character                 xonc       XN        XON 文字
       zero_motion                   zerom      Zx        次の文字表示を移動無
                                                          しで行う

       次の文字列ケーパビリティは、SVr4.0 の term 構造体に存在していますが、マ
       ニュアルで未だに説明がなされていません。


                 変数                cap-         TCap             説明
                文字列               name         Code
       alt_scancode_esc              scesa        S8        スキャンコードエ
                                                            ミュレーションのた
                                                            めの別のエスケープ
                                                            文字
       bit_image_carriage_return     bicr         Yv        同一行の先頭へ移動
       bit_image_newline             binel        Zz        ビットイメージの次
                                                            の行に移動
       bit_image_repeat              birep        Xy        ビットイメージセル
                                                            #1 を #2 回繰り返
                                                            す
       char_set_names                csnm         Zy        文字セットの名のリ
                                                            ストから #1 番目の
                                                            item を生成する
       code_set_init                 csin         ci        複数コードセットの
                                                            初期化シーケンス
       color_names                   colornm      Yw        色 #1 に名前を与え
                                                            る
       define_bit_image_region       defbi        Yx        矩形のビットイメー
                                                            ジ領域を定義
       device_type                   devt         dv        言語/コードセット
                                                            サポートの指定
       display_pc_char               dispc        S1        PC 文字 #1 を表示
       end_bit_image_region          endbi        Yy        ビットイメージ領域
                                                            の終了
       enter_pc_charset_mode         smpch        S2        PC 文字表示モード
                                                            開始
       enter_scancode_mode           smsc         S4        PC スキャンコード
                                                            モード開始
       exit_pc_charset_mode          rmpch        S3        PC 文字表示モード
                                                            終了
       exit_scancode_mode            rmsc         S5        PC スキャンコード
                                                            モード終了
       get_mouse                     getm         Gm        curses がボタンイ
                                                            ベントを取得すべ
                                                            き。パラメータ #1
                                                            は文書化されていな
                                                            い
       key_mouse                     kmous        Km        マウスイベントが起
                                                            きた

       mouse_info                    minfo        Mi        マウス状態の情報
       pc_term_options               pctrm        S6        PC 端末オプション
       pkey_plab                     pfxl         xl        ファンクションキー
                                                            #1 に文字列 #2 を
                                                            送信させ文字列 #3
                                                            を表示させる
       req_mouse_pos                 reqmp        RQ        マウス位置の要求
       scancode_escape               scesc        S7        スキャンコードエ
                                                            ミュレーションのた
                                                            めのエスケープ
       set0_des_seq                  s0ds         s0        コードセット 0 に
                                                            シフト (EUC セット
                                                            0、ASCII)
       set1_des_seq                  s1ds         s1        コードセット 1 に
                                                            シフト
       set2_des_seq                  s2ds         s2        コードセット 2 に
                                                            シフト
       set3_des_seq                  s3ds         s3        コードセット 3 に
                                                            シフト
       set_a_background              setab        AB        ANSI エスケープ
                                                            シーケンスを使って
                                                            背景色を #1 に設定
       set_a_foreground              setaf        AF        ANSI エスケープ
                                                            シーケンスを使って
                                                            前景色を #1 に設定
       set_color_band                setcolor     Yz        リボンの色を #1 に
                                                            変更
       set_lr_margin                 smglr        ML        左右両マージンを
                                                            #1、#2 に設定、(ML
                                                            は BSD の termcap
                                                            のものと違います)
       set_page_length               slines       YZ        ページ長を #1 行に
                                                            設定
       set_tb_margin                 smgtb        MT        上下両マージンを
                                                            #1、#2 に設定

        XSI Curses 規格は、これらのハードコピーケーパビリティを追加しました。
        それらは、システム V curses の 4.1 以降のバージョンで使用されました、
        例えば、Solaris 2.5 と IRIX 6.x。YI を除いて、それらのための ncurses
        termcap 名が、考案されています。XSI Curses 規格にしたがって、それらに
        は、termcap 名がありません。コンパイルされた terminfo エントリがこれら
        を使っていれば、SVr4.1 以降の System V terminfo エントリとはバイナリ互
        換ではないかも知れません。用心してください!


                  変数               cap-        TCap             説明
                 文字列              name        Code
        enter_horizontal_hl_mode     ehhlm       Xh       水平ハイライトモード
                                                          に入る
        enter_left_hl_mode           elhlm       Xl       左ハイライトモードに
                                                          入る
        enter_low_hl_mode            elohlm      Xo       下ハイライトモードに
                                                          入る
        enter_right_hl_mode          erhlm       Xr       右ハイライトモードに
                                                          入る
        enter_top_hl_mode            ethlm       Xt       上ハイライトモードに
                                                          入る
        enter_vertical_hl_mode       evhlm       Xv       垂直ハイライトモード
                                                          に入る
        set_a_attributes             sgr1        sA       ビデオ属性の 2 番目
                                                          の組を #1-#6 と定義
        set_pglen_inch               slength     YI       ページ長を 100分の
                                                          #1 インチに設定しま
                                                          す (いくつかの実装
                                                          は、termcap のために
                                                          sL を使用します)

   ユーザ定義ケーパビリティ
       前のセクションは、事前に定義された ケーパビリティをリストしました。それ
       らは、もはや (または恐らく、決してない) 生成されなかった端末のためのい
       くつかの特別の機能を処理します。時々、厄介か、または事前に定義された
       ケーパビリティの再使用によって表わすことができない、より新しい端末の特
       別の機能ががあります。

       ncurses は、ユーザ定義のケーパビリティを許可することによって、この制限
       に対処します。ticinfocmp プログラムは、この目的のために -x オプショ
       ンを提供しています。-x が設定されるとき、tic は、ユーザ定義ののような未
       知のケーパビリティを扱います。すなわち、tic が、それが認識しないケーパ
       ビリティ名に遭遇するなら、それは、構文からそのタイプ (ブール値、数値ま
       たは文字列) を推測し、そのケーパビリティのための拡張テーブルエントリを
       作成します。use_extended_names 関数は、この情報をアプリケーションに条件
       付きで利用可能とします。ncurses ライブラリは、アプリケーションに、ほと
       んどの振る舞いを残すデータを提供しています:

       •   名前が "k" で始まるユーザ定義のケーパビリティの文字列は、ファンク
           ションキーとして扱われます。

       •   tic によって決定されたタイプ (ブール値、数値、文字列) は、tigetflag
           などで成功した呼び出しによって推測することができます。

       •   ケーパビリティ名がたまたま 2 文字であったなら、さらに、ケーパビリ
           ティは、termcap インタフェースを通して利用可能です。

       termcap は、それがケーパビリティの事前定義されたセットを使用しないの
       で、拡張可能であると言われていますが、実際には、それは、terminfo の実装
       によって定義されたケーパビリティに制限されています。原則として、termcap
       実装とそれらのアプリケーションによって仮定された 1023 バイトの制限を越
       えて実行を回避するために、termcap アプリケーションによって使用されるた
       めのユーザ定義のケーパビリティは、ブール値と数値に制限されるべきです。
       特に、(60 個の番号が付けられたキーとわずかの特別に指定されたキーを越え
       た) ファンクションキーの拡張されたセットを提供することは、terminfo を使
       用して利用可能なより長い名前を使用して、うまく行われます。

   エントリの例
       次のエントリは、ANSI 規格端末を記述したものですが、現代的な端末の
       terminfo エントリが典型的にはどのようであるかを表しています。

       ansi|ansi/pc-term compatible with color,
               am, mc5i, mir, msgr,
               colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
               acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260
                    j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303
                    u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
               bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
               cr=^M, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
               cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
               cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
               dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
               el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG, ht=\E[I, hts=\EH,
               ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
               indn=\E[%p1%dS, invis=\E[8m, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
               kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, kich1=\E[L,
               mc4=\E[4i, mc5=\E[5i, nel=\r\E[S, op=\E[39;49m,
               rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rin=\E[%p1%dT,
               rmacs=\E[10m, rmpch=\E[10m, rmso=\E[m, rmul=\E[m,
               s0ds=\E(B, s1ds=\E)B, s2ds=\E*B, s3ds=\E+B,
               setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
               sgr=\E[0;10%?%p1%t;7%;
                          %?%p2%t;4%;
                          %?%p3%t;7%;
                          %?%p4%t;5%;
                          %?%p6%t;1%;
                          %?%p7%t;8%;
                          %?%p9%t;11%;m,
               sgr0=\E[0;10m, smacs=\E[11m, smpch=\E[11m, smso=\E[7m,
               smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
               u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,

       2 行目以後の行先頭に空白類文字を置くことで、エントリを複数行に分けて継
       続して書くことができます。行先頭に "#" を置くことでコメントを含めること
       ができます。terminfo のケーパビリティには、3 つの型があります:

       •   ブール値ケーパビリティは、その端末がある特性を有しているかどうかを
           表します。

       •   数値ケーパビリティは、その端末の大きさや、遅延の大きさを指定しま
           す。

       •   文字列ケーパビリティは、端末のある機能を実行させる際に用いるシーケ
           ンスを指定します。


   ケーパビリティの型
       すべてのケーパビリティには名前があります。例えば、ANSI 標準端末が自動
       マージン (つまり、行の端に到達すれば自動的に復帰改行がなされること) を
       有することはケーパビリティ am で表されます。よって ansi の記述は am を
       含みます。数値ケーパビリティの後には文字 "#" が続き、そして正の値が続き
       ます。cols は、その端末の桁数を表しており、ansi では、この値は、"80" で
       あることを示します。数値ケーパビリティの値は、プログラミング言語 C の規
       約を使って 10 進数、8 進数、16 進数で与えることができます (例えば、
       255、0377、0xff、0xFF)。

       最後に、(行の終りまでクリアするシーケンス) el のような値がある文字列の
       ケーパビリティは、2 文字のコード、"=" と次に続く "," で終る文字列によっ
       て、与えられます。

       文字列ケーパビリティの中で、文字のエンコードを簡単にするために、いくつ
       かのエスケープシーケンスが利用できます。\E\e はともに、ESCAPE 文字
       にマップされます。^x は任意の適切な x に関して control-x にマップされま
       す。\n \l \r \t \b \f \s はそれぞれ、改行、ラインフィード、復帰、タブ、
       バックスペース、フォームフィード、空白にマップされます。他のエスケープ
       は、次を含んでいます。

       •   ^ のための \^、

       •   \ のための \\、

       •   コンマのための \、

       •   : のための \:、

       •   と null のための \0\0 は、文字列を終了しないが、CS7 が指定される場合は、ほとんどの端末
           でヌル文字として作用する、\200 を生成します。stty(1) を参照してくだ
           さい。

           この奇行の理由は、他の実装でコンパイルされた terminfo ファイルのバ
           イナリ互換性を保守することです、例えば、これを文書化する、SVr4 シス
           テム。コンパイルされた terminfo ファイルは、長さなしで、ヌル文字で
           終了した文字列を使用します。これを修正することは、他の実装で動作し
           ない、新しいバイナリ形式を要求します。

       最後に、\ の後に 8 進 3 桁の数を指定して文字を表すこともできます。

       ミリ秒単位の遅延は、el=\EK$<5> のように、文字列ケーパビリティのどの場所
       でも $<..> のブラケットで囲んで置くことができます。この遅延を与えるため
       のパディングは、関数 tputs が行います。遅延は、1/10 の精度の数である必
       要があります。接尾辞 "*" または "/" またはその両方がついているかもしれ
       ません。"*" は、パディングをその処理で影響を受ける行の行数に比例させる
       必要があること、そしてその総計は影響を受ける 1 単位あたりの必要パディン
       グにより決まることを表します。(文字挿入の場合、乗数は影響を受ける行の数
       です) 通常、デバイスに xon ケーパビリティがあれば、パディングは勧告的な
       ものです。コスト計算には使われますが遅延を引き起こしません。"/" 接尾辞
       は、パディングが必須のものであることを示し、フロー制御を示す xon がある
       デバイスに対しても指定されたミリ秒単位の遅延を強制します。

       あるケーパビリティをコメントアウトせねばならない場合があります。そうい
       う場合は、ケーパビリティ名の前にピリオドを置いてください。上の例の 2 番
       目の ind がその例です。


   コンパイルされた記述を取って来る
       ncurses ライブラリは、いくつかの場所の端末の記述を検索します。それは、
       見つかった最初の記述だけを使用します。ライブラリは、環境変数によって無
       視することができる検索する場所のコンパイルされたリストがあります。検索
       を開始する前に、ncurses は、その検索リストの複写を除去します。

       •   環境変数 TERMINFO が設定されているなら、それは作業中の記述をコンパ
           イルしたものを含むディレクトリのパス名と解釈されます。そのディレク
           トリだけを探します。

       •   環境変数 TERMINFO が設定されるなら、それは、利用者が取り組んでいる
           コンパイルされた記述を含んでいるディレクトリのパス名として解釈され
           ます。そのディレクトリだけが、検索されます。

       •   TERMINFO が設定されないなら、ncurses は、コンパイルされた記述のため
           に、代りに、ディレクトリ $HOME/.terminfo を調べます。

       •   次に、環境変数 TERMINFO_DIRS が設定されているなら、ncurses は、検索
           されるコロンで区切られたディレクトリ (またはデータベースファイル)
           のリストとしてその変数の内容を解釈します。

           空のディレクトリ名 (すなわち、変数がコロンから始まるかまたは終了す
           るか、または隣接するコロンを含んでいるなら) は、システム位置
           /usr/share/misc/terminfo として解釈されます。

       •   最後に、ncurses は、これらのコンパイルされた位置を検索します:

           •   ディレクトリ (TERMINFOXDIRS) のリスト、と terminfo_dirs

           •   システム terminfo ディレクトリ /usr/share/misc/terminfo (コンパ
               イルされたデフォルト)。

   端末記述の準備
       ここでは、どのようにして端末の記述を準備するかの概略を説明します。もっ
       とも効率的なやり方は、terminfo の中にある類似の端末の記述をまねて作成す
       ることです。vi などのスクリーンエディタに書き掛けの記述を使わせてみて、
       その記述が正しいかどうかをチェックしながら、記述を徐々に作り上げてゆく
       ことです。通常のものとあまりにもかけ離れた端末の場合、terminfo ファイル
       の記述能力の欠陥、もしくはテストプログラムの画面操作のコードのバグが明
       らかになるかも知れないので、それには注意してください。

       (端末メーカが文書に書いてくれていない場合に) 行の右挿入の際のパディング
       を得るには、大きなファイルを 9600 ボーで編集し、画面の中ほどで 16 行程
       度を削除してから、"u" キーを数度すばやく連打するという厳しいテストを行
       うとよいでしょう。端末がぐちゃぐちゃになるのなら、普通は、もう少しパ
       ディングが必要だということです。文字挿入についても似たようなテストを行
       うことができます。


   基本的なケーパビリティ
       端末の各行の桁数は数値型ケーパビリティ cols で指定します。端末が CRT の
       場合、画面の行数はケーパビリティ lines で指定します。カーソルが右マージ
       ンに達したときに次の行の左端に回り込む場合、ケーパビリティ am を指定す
       る必要があります。端末が、画面消去後カーソルをホームポジションにもって
       ゆくことができる場合、その機能は文字列ケーパビリティ clear で指定しま
       す。端末が (ある文字を上に出力した時にその場所を消去するのではなく) 重
       ね打ちする場合、ケーパビリティ os を指定する必要があります。印字端末
       で、ソフトコピー装置を持たない場合、hcos とを指定します。(os は、
       ハードコピー端末や、APL 端末だけでなく、TEKTRONIX 4010 シリーズのような
       ストレージスコープ管端末にも適用されます。) 現在の行の左端にカーソルを
       移動させるコードが存在する場合、それを cr で指定します。(通常、これは復
       帰文字、つまり control M になります。) 可聴シグナル (ベル、ビープ音な
       ど) を生成するコードがある場合、それを bel で指定します。

       カーソルを (バックスペースのように) 1 ポジションだけ左へ移動させるコー
       ドがある場合、それは cub1 で指定します。同様に、右への移動、上への移
       動、下への移動はそれぞれ、cuf1, cuu1cud1 で指定します。これらの局所
       的カーソル移動機能は、通過する場所のテキストを変更するものであってはな
       りません。たとえば、空白文字はその下のテキストを消去してしまうため、普
       通は "cuf1= " とは指定しません。

       ここで極めて重要なこととして、terminfo にエンコードされた局所的カーソル
       移動は、CRT 端末の左端および上端では定義されないということです。プログ
       ラムは、bw の指定がない限り、左端でバックスペースを出力しようとしてはい
       けません。また、画面上端で、上に移動しようとしてはいけません。テキスト
       を上にスクロールするためには、プログラムは画面左下隅にカーソルを移動さ
       せて、ind (index) 文字列を送出してください。

       テキストを下にスクロールするには、プログラムは画面左上隅にカーソルを移
       動させて、ri (reverse index) 文字列を送出してください。文字列 indri
       の挙動は、それぞれ先に述べた画面隅にカーソルがない場合には定義されてい
       ません。

       スクロールシーケンスのパラメータ付きバージョンは、indnrin で、これ
       らは、スクロールする行数を指定するパラメータを 1 つ取ることを除いては
       indri と、同じ挙動を示します。これらも、カーソルが適切な画面端に存
       在しない場合の挙動は定義されません。

       ケーパビリティ am は、右端でテキストが出力されてもカーソルが右端に留ま
       り続けるかどうかを示します。ただし、この挙動は最終桁での cuf1 の挙動に
       は必ずしも適用されません。左端からの局所的移動で定義されたものは、bw が
       指定されている場合に、左端からの cub1 が 1 つ前の行の右端に移動するとい
       うことだけです。bw が指定されていない場合、この効果は定義されません。こ
       れは、例えば、画面の端に沿って箱を描くときに便利なものです。端末が自動
       マージン機能を切り替え可能な場合、terminfo ファイルでは、通常はその機能
       はオン状態、つまり am であると想定します。端末が次の行の先頭桁に移動す
       るコマンドを持つ場合、そのコマンドを nel (newline) で指定することができ
       ます。このコマンドが、現在行の残りの部分を消去するかどうかは関係ありま
       せん。ですから、端末が、crlf を持たない場合でも、動作する nel を作
       ることは可能でしょう。

       これまで紹介したケーパビリティで、ハードコピー端末や、"ガラスの tty" 端
       末を記述するには十分です。ここで、model 33 teletype は、

       33|tty33|tty|model 33 teletype,
               bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,

       と記述されます。一方、Lear Siegler 社の ADM-3 は、次のように記述されま
       す。

       adm3|3|lsi adm3,
               am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
               ind=^J, lines#24,


   パラメータ化された文字列
       カーソル位置設定など、パラメータを必要とする文字列は、printf のようなエ
       スケープ %x を含むパラメータ化文字列ケーパビリティを用いて記述します。
       例えば、カーソル位置を指定する cup ケーパビリティは、移動先の行と桁を指
       定する 2 つのパラメータを与える必要があります。(行と桁は 0 から数え、
       ユーザに見える物理画面を参照します。目に見えないメモリ部分は参照しませ
       ん。) 端末がメモリ相対のカーソル位置指定機能を持つ場合、これは mrcup で
       表します。

       パラメータ渡し機構では、スタックと、それを操作する特別の % コードを用い
       ます。通常は、シーケンスはパラメータを 1 つスタックにプッシュし、それを
       ある形式で出力します。print (例えば、"%d") は、特別な場合です。"%t" を
       含む他の操作は、スタックからそれらのオペランドをポップアップします。よ
       り複雑な操作が、例えば、sgr 文字列で、しばしば必要であることに注意して
       ください、

       % コードには、次の意味があります。


       %%   "%" を出力します

       %[[:]flags][width[.precision]][doxXs]
            printf でのように、フラグは、[-+#] と空白です。":" を使用すること
            によって、次の文字は、オペレータとして "%-" を解釈することを避け
            て、"-" フラグとすることができます。

       %c   printf の %c のように、pop() を印刷 (表示) します

       %s   printf の %s のように、pop() を印刷 (表示) します

       %p[1-9]
            i 番目のパラメータをプッシュします

       %P[a-z]
            動的変数 [a-z] を pop() に設定します

       %g[a-z]/
            動的変数 [a-z] を取得してそれをプッシュします

       %P[A-Z]
            静的変数 [a-z]pop() に設定します

       %g[A-Z]
            静的変数 [a-z] を取得してそれをプッシュします

            用語 "static" と "dynamic" は、誤解を招く恐れのあります。歴史的
            に、これらは単に異なった 2 つの変数の組で、その値は、tparm への呼
            び出しの間にリセットされません。しかしながら、その事実は、他の実装
            で文書化されていません。それに頼ると、逆に他の実装への移植性に影響
            を与えます。

       %'c' 文字定数 c

       %{nn}
            整数定数 nn

       %l   strlen(pop) をプッシュします

       %+, %-, %*, %/, %m
            算術演算 (%m は剰余): push(pop() op pop())

       %&, %|, %^
            ビット演算 (AND, OR と排他的-OR): push(pop() op pop())

       %=, %>, %<
            論理演算: push(pop() op pop())

       %A, %O
            論理 AND 操作と論理 OR 操作 (条件節用)

       %!, %~
            単項演算 (論理とビットの補数): push(op pop())

       %i   最初の 2 つのパラメータに 1 を足す (ANSI 端末用)

       %? expr %t thenpart %e elsepart %;
            この形式は、if-then-else です。%e elsepart は、省略可能です。通
            常、%? expr 部分は、スタックに値をプッシュし、%t は、スタックから
            それをポップし、それが 0 でないか (真) テストします。それが 0 (偽)
            であるなら、制御は、%e (else) 部分に移ります。

            形式 else-if を Algol 68 風にできます:
            %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;

            ここで ci は、条件節、bi は、本体です。

            if-the-else の構造を見るために tic または infocmp-f オプション
            を使用します。いくつかの文字列、例えば、sgr、は 1 行に書かれると
            き、非常に複雑となるかもしれません。-f オプションは、文字列をイン
            デントされた部分に分割します。

       二項演算は、通常の順序で並べたオペランドに対して後置形式で指定します。
       例えば、x-5 を得るには、"%gx%{5}%-" を指定します。エスケープされた文字
       列を評価する間 %P and %g 変数は、存続します。

       HP2645 の例を考えてみましょう。これで 3 行 12 桁に移動させるには、
       \E&a12c03Y に 6 ミリ秒のパディングを送出する必要があります。ここで行と
       桁とが逆になっていることと、行、桁とも 2 桁で出力されていることに注意し
       てください。この端末の cup ケーパビリティは、"cup=6\E&%p2%2dc%p1%2dY"
       となります。

       Microterm ACT-IV は、^T の後に現在の行と桁を、どちらも単にバイナリ値で
       送る必要がありますが、"cup=^T%p1%c%p2%c" となります。"%c" を使う端末
       は、カーソルを前方に戻すこと (cub1) と画面上で 1 行上にカーソルを移動さ
       せること (cuu1) ができる必要があります。これは、システムが変更したり握
       りつぶしたりする可能性があるため、\n, ^D, \r を確実に送信できるとは限ら
       ないからです。(terminfo を扱うライブラリルーチンは、タブが決して展開さ
       れないように端末モードを設定します。ですから \t は確実に送信できます。
       これは Ann Arbor 4080 では重要なことが分っています。)

       最後の例は LSI ADM-3a です。これは行と桁を空白文字からのオフセットで表
       します。ですから、"cup=\E=%p1%' '%+%c%p2%' '%+%c" となります。"\E=" を
       送出した後、最初のパラメータをプッシュし、空白文字の ASCII 値 (32) を
       プッシュし、それらを加えて (以前の 2 つの値の代わりにその和をスタックに
       プッシュし) 得た値を文字として出力します。その後、2 番目のパラメータに
       ついても同様の処理を行います。スタックを使うことで、さらに複雑な計算も
       可能です。


   カーソル移動
       カーソルを高速にホームポジション (画面の左上隅) に移動させる方法を持つ
       端末の場合、これを home で指定することができます。同様に、高速に左下隅
       に移動させる方法を持つ場合も ll で指定することができます。端末によって
       は、ホームポジションから cuu1 を使って上に移動することでこの動作が可能
       な場合もありますが、プログラムは (llでそう指定しない限り) 自分からそう
       してはならないことになっています。これは、ホームポジションから上に移動
       した場合の動作について、プログラムは一切想定できないからです。ホームポ
       ジションは位置指定 (0,0)、つまり、メモリではなく、画面の左上隅と等しい
       ことに注意してください。(ですから、HP 端末の \EH のシーケンスは home と
       して使用できません。)

       端末が行や桁の絶対カーソル位置指定機能を持つ場合、単一パラメータを取る
       ケーパビリティ hpa (水平絶対位置) と vpa (垂直絶対位置) で指定します。
       (hp2645 のような) 一般的な 2 パラメータのシーケンスよりもこれらの方が短
       くなる場合がときどきあり、その場合、cup よりもそれらを使う可能性があり
       ます。パラメータ化された局所移動機能 (例えば、n 桁右へ移動する) が存在
       する場合、これらは、いくつ移動するかを指定するパラメータを 1 つ持つ
       cud, cub, cuf, cuu を使って指定することができます。これらは主に、
       TEKTRONIX 4025 のように端末が cup を持たない場合に有益です。

       これらのケーパビリティを使用するプログラムを実行する際に、端末を特殊な
       モードにする必要がある場合、このモードに入るコードと出るコードをそれぞ
       れ smcuprmcup で指定することができます。こういう事態が生じる場合と
       して、例えば Concept のように、複数ページのメモリを持つ端末があります。
       画面相対指定を持たず、メモリ相対のカーソル位置指定機能しか持たないこの
       端末の場合、画面の大きさのウィンドウ 1 枚を端末に固定で割り付け、カーソ
       ル位置指定を適切にできるようにしなければなりません。このケーパビリティ
       は TEKTRONIX 4025 でも使用されています。こちらでは、smcup で、terminfo
       で使用するコマンド文字を設定しています。rmcup シーケンスが出力された後
       に、smcup シーケンスが画面を (rmcup を出力する前の状態に) 回復しないな
       らば、nrrmc を指定してください。


   領域消去
       端末がカーソルを動かさずに、現在位置から行の末端まで消去可能である場
       合、これを el で指定すべきです。端末がカーソルを動かさずに、行の先頭か
       ら現在位置を含めて現在位置まで消去可能である場合、これを el1 で指定すべ
       きです。端末が現在位置から画面の終りまでを消去可能な場合、これを ed で
       指定すべきです。ed は行の第 1 桁から行う場合のみ定義されます。(ですか
       ら、まともな ed が利用できない場合でも、大量の行削除リクエストを使って
       シミュレート可能です。)


   行の挿入/削除と垂直移動
       カーソルのある行の前に空白行を新規につくることができる端末の場合、これ
       を il1 で指定すべきです。これは、行の先頭位置でのみ行われます。作成後、
       カーソルは新しくできた空白行に置かれる必要があります。端末がカーソルの
       ある行を削除できる場合、これを dl1 で指定すべきです。この機能は削除され
       る行の先頭でのみ行われます。il1dl1 の変種で、挿入/削除する行数を表
       すパラメータを 1 つ取るものは、ildl とで指定できます。

       (vt100 のように) スクロール領域を設定可能な端末の場合、領域設定コマンド
       を csr ケーパビリティを用いて指定可能です。このケーパビリティは 2 つの
       パラメータ、スクロール領域の先頭行と最終行、を取ります。困ったことに、
       このコマンド実行後のカーソル位置は定義されません。

       適切な領域に csr を用いることで行の挿入/削除の効果を得ることが可能で
       す。scrc (カーソルの保存と回復) コマンドは、合成した挿入/削除文字列
       がカーソルを動かさないことを保証するには有用でしょう。(ncurses(3X) ライ
       ブラリは自動的にこの合成を行うので、csr で挿入/削除文字列をエントリ用に
       つくる必要はないことに注意してください。)

       挿入と削除を構成するもう 1 つの方法は、(HP-700/90 シリーズには挿入/削除
       はありますが、このシリーズのような) いくつかの端末にあるメモリロック機
       能と index を組み合わせて使うことです。

       まともな行挿入/削除コマンドを持たない端末で、画面の最上端もしくは最下端
       で行を挿入する場合、ri もしくは ind を使って行うこともできます。まとも
       な行挿入/削除コマンドを持つ場合でも、これらを使う方が速い場合が多いで
       す。

       スクロールする各ウィンドウが実質的に画面大のキャンバス上のビューポート
       であるなら、ブール値 non_dest_scroll_region を設定すべきです。このケー
       パビリティをテストするためには、画面の中央にスクロール領域をつくり、最
       下行に何かを書き、領域の一番上にカーソルを動かし、ri を行った後 dl1ind を行ってください。ri で領域の下へとスクロールして消えたデータが、再
       び現れるなら、スクロールは非破壊的です。System V Curses と XSI Curses
       は ind, ri, indn, rin が破壊的スクロールをシミュレーションすることを期
       待します。これが本当でない限り csr を定義しないようにと文書には注意書き
       があります。この curses の実装はより寛大で、ndstr が定義されていればス
       クロールの後に明示的に消去を行います。

       メモリの一部に、すべてのコマンドが影響するウィンドウを定義することがで
       きる端末の場合、それは、パラメータ化文字列 wind で指定すべきです。メモ
       リ中での開始行、終了行、開始桁、終了桁を表す 4 パラメータは、この順番で
       与えます。

       上側の表示メモリを保持できる端末の場合、da ケーパビリティを指定すべきで
       す。下側の表示メモリを保持できる場合、db を指定すべきです。これらは、行
       削除やスクロールにより、画面最下端に非空白行が上がってくること、およ
       び、ri による逆スクロールにより非空白行が下がってくることを表します。


   文字の挿入/削除
       terminfo で記述可能な文字の挿入/削除に関して、基本的には 2 種類のインテ
       リジェント端末があります。もっとも標準的な文字挿入/削除機能は、現在行の
       文字のみが影響を受け、シフトした文字は一体となって移動し行端で消えて行
       くものです。その他の端末、例えば Concept 100 や Perkin Elmer Owl のよう
       なものの場合、表示出力された空白とそうでない空白との間に区別がありま
       す。挿入/削除にともなうシフトは画面上の表示出力されていない空白に対して
       のみ適用され、それぞれ空白の消滅、もしくは表示出力されていない空白 2 つ
       になります。

       自分が持っている端末がどちらのタイプかを調べるには、画面を消去してか
       ら、カーソル移動を用いてテキストを 2 箇所に分けて出力します。"abc" と
       "def" の間に (空白文字でなく) 局所的カーソル移動を用いて "abc    def"
       を出力してください。その後、カーソルを "abc" の前に移動させ、端末を挿入
       モードにします。文字を打ち込むと、行の残りが一体となってシフトして行の
       端で文字がこぼれおちてゆくならば、この端末は表示出力された空白とそうで
       ない空白を区別しません。"abc" がシフトして "def" に当りその後はそれらが
       一緒に行の端まで進み、次の行まで進むならば、この端末は 2 番目のタイプの
       もので "insert null" を表すケーパビリティ in を指定すべきです。

       論理的には、これらは別の属性 (挿入モードが 1 行か複数行か、および、表示
       出力されていない空白を特別扱いするか否か) ですが、挿入モードをこの属性
       1 つで記述できない端末に、今までお目にかかったことはありません。

       terminfo では、挿入モードを持つ端末も、現在行の上で場所を空ける短いシー
       ケンスを送る端末も、両方とも記述することができます。挿入モードに入る
       シーケンスは smir で指定してください。挿入モードから出るシーケンスは
       rmir で指定してください。挿入したい文字の直前に、あるシーケンスを送出す
       る必要がある場合は ich1 で指定してください。まともな挿入モードを持つ端
       末のほとんどでは、ich1 を指定することはないでしょう。一方、画面上で場所
       を空けるシーケンスを送る端末の場合は、ich1 を指定すべきです。

       両方持つ端末の場合、通常は ich1 よりも挿入モードの方が望ましいでしょ
       う。技術的には、実際に両方を組み合わせて使用する必要がある場合以外は、
       両方同時に指定すべきではありません。よって、両方あると curses を使わな
       いアプリケーションの中には混乱するものがあります。その兆候は、挿入を
       使った更新の時に文字が二重になることです。この要求は現在では稀です。ほ
       とんどの ich シーケンスはその前に smir を必要とはせず、ほとんどの smir
       挿入モードは各文字の前に ich1 を必要とはしません。よって、新しい curses
       は実際にこれが真実だと仮定し、rmir/smirich/ich1 のどちらか一方 (両
       方ではありません) を適切なものとみなして利用します。もし、両方を必要と
       するほど古い端末のエントリを、新しい curses で使うために書く必要がある
       なら、ich1rmir/smir シーケンスを含めてください。

       挿入後のパディングが必要な場合、ip (文字列オプション) に必要なミリ秒の
       数を指定してください。その他のシーケンスで文字 1 文字を挿入後に送出する
       必要のあるものを、いっしょに ip で指定することもできます。"挿入モード"
       に入り、かつ挿入する文字ごとにあるコードを付けて送出する必要のある端末
       の場合、smir/rmirich1 とを両方とも指定してください。そうすること
       で、それらが使われるようになります。ich ケーパビリティはパラメータ n 1
       つをとり、これは ich1 の動作を n 回繰り返します。

       挿入モードでないとき、文字入力の間にパディングが必要なら、rmp にミリ秒
       のパディングの数を指定してください。

       挿入モードの途中で同じ行の文字を削除するために、カーソルを動かす必要が
       ある場合があります (例えば、挿入位置の後にタブがある場合)。挿入モードに
       入ったままでカーソルを移動させることができる場合、このような場合の挿入
       を高速に行うために、ケーパビリティ mir を指定することができます。mir を
       省略しても、影響を受けるのは速度のみです。端末によっては (有名な
       Datamedia のアレとか) 挿入モードの動作方法の違いにより mir を指定しては
       いけないものがあります。

       最後に、文字 1 文字の削除用として dch1 を、n 文字削除用としてパラメータ
       n 1 つをとる dch を、そして smdcrmdc をそれぞれ削除モードに入るシー
       ケンスとそこから出るシーケンスとして与えることで削除モード (dch1 が動作
       するために、端末が入っていなければならないモード) を指定することができ
       ます。

       n 文字を削除する (カーソルを移動させずに空白を n 個出力することと同等の
       処理) ためのコマンドは、パラメータを 1 つとる ech を使って指定すること
       ができます。


   ハイライト・下線・可視ベル
       端末が 1 つまたはそれ以上の表示属性を持つ場合、これらを表す方法として異
       なったやり方がいくつかあります。エラーメッセージや他の種類の注意を引く
       メッセージに適した、十分コントラストが高く目立つ形式から 1 つ、強調モー
       ドを選択すべきです。(選ぶなら、反転表示に半輝度を加えたもの、もしくは単
       に反転のみがよいでしょう。) 強調モードに入るシーケンス、出るシーケンス
       はそれぞれ smsormso で指定します。TVI 912 や Teleray 1061 のよう
       に、強調モードへの出入りにより画面に空白が 1 つ 2 つ残る場合、xmc を指
       定して空白がいくつ残るかを教えるべきです。

       下線引きを開始するコード、終了するコードは、それぞれ smulrmul で指
       定します。Microterm Mime のように、現在位置の文字に下線を引き、空白 1
       つ分カーソルを右に移動するコードを持つ端末の場合、そのコードを uc で指
       定することができます。

       その他もろもろの強調モードに入るケーパビリティには、blink (点滅) bold
       (太字もしくは更に明るい) dim (暗いもしくは半輝度) invis (空白もしくは見
       えないテキスト) prot (保護状態) rev (反転表示) sgr0 (すべての属性モード
       をオフにする) smacs (別の文字セットモードに入る) and rmacs (別の文字
       セットモードから出る) が含まれます。これらのモードのどれか 1 つをオンに
       した場合に、他のモードがオフになる場合もありますし、ならない場合もあり
       ます。

       モードの任意の組み合わせを設定するシーケンスが存在する場合、それを 9 つ
       のパラメータを持つ sgr (属性の設定) で指定します。パラメータのそれぞれ
       は、0 か非 0 の値を取り、対応する属性がオンかオフかを表します。9 つのパ
       ラメータとは、順に、強調、下線、反転表示、点滅、暗い表示、太字、空白、
       保護、別の文字セットです。必ずしもすべてのモードが sgr によってサポート
       されている必要はありません。独立した属性コマンドが存在するものだけで構
       いません。

       例えば、DEC vt220 は次のモードのほとんどをサポートします。


              tparm パラメータ   属性             エスケープシーエンス

              none               なし             \E[0m
              p1                 強調             \E[0;1;7m
              p2                 下線             \E[0;4m
              p3                 反転表示         \E[0;7m
              p4                 点滅             \E[0;5m
              p5                 暗い表示         利用できません
              p6                 太字             \E[0;1m
              p7                 不可視           \E[0;8m
              p8                 保護             使われていません
              p9                 別の文字セット   ^O (オフ) ^N (オン)

       各モードが動作中かどうかを素早く決める方法がないので、エスケープシーケ
       ンスを動作中のモードをすべてオフにするもので始めます。強調は反転と太字
       の組合せでできています。保護モードはホストの消去から画面の文字を保護す
       るので、sgr では普通は使われませんが、vt220 端末には保護モードがありま
       す。別の文字セットモードは、オフかオンかによって ^O または ^N であると
       いう点で異なります。全モードをオンにするシーケンスは \E[0;1;4;5;7;8m^N
       です。

       いくつかのシーケンスは異なるモードに共通です。例えば、;7 は、p1 か p3
       が真であるとき、すなわち強調か反転モードがオンのときに出力されます。

       上のシーケンスを依存関係とあわせて余すところなく書くと次のようになりま
       す。


         シーケンス     出力される場合                     terminfo への翻訳

         \E[0           常に                               \E[0
         ;1             p1 または p6 のとき                %?%p1%p6%|%t;1%;
         ;4             p2 のとき                          %?%p2%|%t;4%;
         ;5             p4 のとき                          %?%p4%|%t;5%;
         ;7             p1 または p3 のとき                %?%p1%p3%|%t;7%;
         ;8             p7 のとき                          %?%p7%|%t;8%;
         m              常に                               m
         ^N または ^O   p9 が真なら ^N そうでなければ ^O   %?%p9%t^N%e^O%;

       これをすべて一緒に sgr シーケンスに詰め込むと次のようになります。

           sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
               %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,

       sgr を設定したら、sgr0 も設定する必要があることを忘れないでください。ま
       た、いくつかの実装は、sgr0 があるなら、与えられている sgr を当てにしま
       す。しかしながら、すべての terminfo エントリが必ずしも sgr 文字列を持っ
       ているというわけではありません。多くの terminfo エントリは、sgr 文字列
       がない termcap エントリから導かれます。sgr 文字列を加えることの唯一の難
       点は、termcap も、sgr0 が代わりの文字セットモードを終了しないと仮定する
       ことです。

       "魔法のクッキー (magic cookie)" (xmc) を持つ端末では、モード設定シーケ
       ンスを受信すると特殊な "クッキー" とでも呼ぶべきゴミを画面に残します。
       この端末では、モード設定シーケンスは、各文字に余分なビットを持たせるの
       ではなく、表示アルゴリズムそのものに影響を与えます。HP 2621 などのよう
       な端末では、次の行へ移動したり、カーソルの位置指定をした際に強調モード
       から勝手に抜け出てしまいます。強調モードを用いるプログラムは、強調モー
       ドでの移動が安全であることを示す msgr ケーパビリティの指定が無い場合に
       は、カーソルを移動させたり改行文字を送出する前に強調モードから脱出すべ
       きです。

       エラー発生を無音で (ベルの代わりに) 通知するため、画面をフラッシュさせ
       る方法が提供されている端末の場合、それを flash で指定できます。これは
       カーソルを移動させてはなりません。

       カーソルが最下行にないときに通常の状態以上に見易くする  (例えば、点滅し
       ない下線カーソルを、より見つけやすいブロックカーソルや点滅下線カーソル
       にする) 必要がある場合、そのシーケンスを cvvis で指定してください。カー
       ソルを完全に見えないようにする方法がある場合、それを civis で指定してく
       ださい。これらのモードの効果を打ち消すシーケンスとして、ケーパビリティ
       cnorm を指定すべきです。

       たとえ重ね打ちでないとしても、(特殊なコードなしで) 下線文字を正しく生成
       できる端末の場合、ケーパビリティ ul を指定すべきです。文字を別の文字に
       重ね打ちすると両方の文字が画面に残るなら、ケーパビリティ os を指定して
       ください。重ね打ちが空白文字で消去可能な場合、eo を指定してそのことを明
       らかにしておくべきです。


   キーパッドとファンクションキー
       キーを押すとコードを送出するキーパッドを持つ場合、そのキーパッドに関す
       る情報を指定することができます。注意すべき点として、キーパッドが局所
       モードでしか動作しない端末 (例えば、シフト状態でない HP 2621 のキーがこ
       れに該当します) を扱うことはできないことがあります。送信状態か非送信状
       態かを設定できるキーパッドの場合、それらのためのコードを smkxrmkx
       とで指定することができます。これらの指定がない場合、キーパッドは常に送
       信状態として扱われます。

       左矢印、右矢印、上矢印、下矢印キー、home キーが送出するコードは、それぞ
       れ kcub1, kcuf1, kcuu1, kcud1khome で指定できます。f0, f1, ..., f10
       のようなファンクションキーがある場合、これらが送出するコードは kf0,
       kf1, ..., kf10 で指定できます。これらのキーが f0 から f10 までのデフォ
       ルトのラベル以外のラベルを持つ場合、このラベルを lf0, lf1, ..., lf10 で
       指定できます。

       他の特殊キーが送出するコードは、次のように指定できます:

       •   kll (ホームダウン (home down))、

       •   kbs (バックスペース (backspace))、

       •   ktbc (全タブクリア (clear all tabs))、

       •   kctab (この桁のタブストップをクリア)、

       •   kclr (画面消去 (clear screen) キーまたは抹消 (erase) キー)、

       •   kdch1 (文字削除 (delete character))、

       •   kdl1 (行削除 (delete line))、

       •   krmir (挿入モードから抜ける (exit insert mode))、

       •   kel (行末までクリア)、

       •   ked (画面の終りまでクリア)、

       •   kich1 (文字挿入 (insert character) または挿入モードに入る (enter
           insert mode))、

       •   kil1 (行挿入 (insert line))、

       •   knp (次のページ (next page))、

       •   kpp (前のページ (previous page))、

       •   kind (前進スクロール (scroll forward) / 下降スクロール (scroll
           down))、

       •   kri (後退スクロール (scroll backward) / 上昇スクロール (scroll
           up))、

       •   khts (この桁にタブストップを設定)。

       更に、キーパッドが 4 つの矢印を含む 3 x 3 のキー配列を持つ場合、他の 5
       つのキーを ka1, ka3, kb2, kc1kc3 で指定します。3 x 3 のカーソル移動
       キーパッドの効果が必要な場合、これらのキーが有用です。

       ファンクションキーにプログラムする文字列は、pfkey, pflocpfx で指定
       できます。画面のラベルの文字列は pln で指定すべきです。これらの文字列
       は、それぞれ 2 つの引数を取ります。プログラム対象のファンクションキー番
       号 (0 から 10 まで) と、そこにプログラムする文字列です。この範囲外の
       ファンクションキー番号を使うと未定義のキーに対してプログラムしてしまう
       かもしれず、これは端末依存の動作となります。これらのケーパビリティの違
       いは次の通りです。pfkey を指定すると、そのキーを押すことは、ユーザが指
       定した文字列をタイプするのと同じことになります。pfloc では、端末内部で
       局所的にその文字列が実行されることになります。pfx では、その文字列がコ
       ンピュータに送出されることになります。

       ケーパビリティ nlab, lw, lh はプログラム可能な画面のラベルの数、幅、高
       さを定義します。ラベルをオン、オフするコマンドがあるなら、smlnrmln
       に指定してください。変更が見えるのを確実にするために、通常 smln は 1 つ
       以上の pln シーケンスの後で出力されます。


   タブと初期化
       端末がハードウェアタブを持つ場合、次のタブストップまでカーソルを進める
       コマンドを ht (通常は control I) で指定できます。前のタブストップまで左
       方向に進める "後退タブ" コマンドは、cbt で指定できます。端末が、タブが
       端末に送出されずにコンピュータ内部で空白に展開されるモードになっている
       場合、プログラムは、たとえ htcbt が存在しても、それらを使用しないと
       いう約束になっています。これは、ユーザがタブストップを正しく設定してい
       ない可能性があるためです。電源投入時に、n 個の空白ごとにハードウェアタ
       ブが初期化されている端末の場合、数値パラメータ it を指定します。これは
       タブとして設定される空白数を表します。通常、これは tset コマンドが、
       ハードウェアタブ展開を使用するモード設定と、タブストップ設定とを行うか
       どうかを決定するために使用します。タブストップ設定を不揮発性メモリに記
       憶できる端末の場合、terminfo での記述の際に、タブストップは正しく設定さ
       れていることを想定して構いません。

       他のケーパビリティとして、is1, is2, is3 があり、これらは端末を初期化す
       る文字列を指定します。また、iprog があり、これは端末初期化用として実行
       するプログラムのパス名を指定します。また、if があり、これは初期化文字列
       が長い場合、それを含むファイルの名前を指定します。これらの文字列によ
       り、terminfo の残りの記述と矛盾なく動作するモードに端末が設定されること
       が求められます。通常、ユーザがログインするたびに、@TPUT@ プログラムの
       init オプションがこれらの文字列を端末に対して送出します。次の順序で印刷
       (表示) されます:

              -      プログラム iprog を実行

              -      is1 is2 を出力

              -      mgc, smglsmgr を使用してマージンを設定

              -      tbchts を使用してタブを設定

              -      ファイル if を印刷

              -      そして、最後に is3 を出力。

       初期化のほとんどは is2 で行われます。共通のシーケンスを is2 に置き、特
       殊な場合を is1is3 とに置くことで、文字列をそれぞれに複製して持たせ
       なくても、特殊な端末モードを設定することができます。

       まったくわけのわからない状態から復帰するための、よりハード寄りのリセッ
       トを行うためのシーケンスの組も同様に、rs1, rs2, rfrs3 で指定するこ
       とができます。これらは、それぞれ is1, is2, ifis3 と良く似たシーケン
       スです。端末がハマったときに使うプログラムである、reset がこれらのシー
       ケンスを出力します。コマンドを rs1, rs2, rs3rf に置くのは、普通、そ
       のコマンドが画面にユーザを混乱させる効果を産み出し、かつ、ログインの際
       には必要ない場合に限ります。例えば、vt100 を 80 桁モードに設定するコマ
       ンドは、普通なら is2 に含めるはずですが、このコマンドは画面に混乱させる
       ゴミを作り出しますし、端末は既に 80 桁モードになっているのが普通ですの
       で、このコマンドを含める必要ありません。

       reset プログラムは、is1 などの代わりに rs1 などを使用して、init プログ
       ラムと同じ順序で、iprog などを含む文字列を書き込みます、rs1, rs2, rs3
       または rf リセットケーパビリティ文字列のどれかが不足しているなら、reset
       プログラムは、対応する初期化ケーパビリティ文字列に頼ります。

       タブストップの設定、クリアを行うコマンドがある場合、それらを tbc (全タ
       ブストップのクリア) と hts (各行の現在桁にタブストップを設定) に指定で
       きます。タブ設定に関して、ここで説明したものより複雑なシーケンスが必要
       な場合、そのシーケンスを is2if に置いても構いません。

   遅延とパディング
       ハードコピー端末と (例えば、DEC VT100 を含む) 非常に古い CRT を含む、多
       くの古くて遅い端末は XON/XOFF ハンドシェイクも DTR ハンドシェイクもサ
       ポートしません。特定のカーソルの移動とスクリーンの変更の後には、パディ
       ング文字が必要かもしれません。

       端末がフロー制御のための xon/xoff ハンドシェイクを使用する場合 (すなわ
       ち、入力バッファが一杯に近くなると、ホストに自動的に ^S を送り返す場
       合)、xon を指定してください。このケーパビリティはパディングの送出を抑え
       ます。実質的に速度に制限のないメモリマップト形式のコンソールデバイスに
       対しても指定できます。ルーチンが相対的なコストに関してよりよい見積もり
       を立てることができるように、この場合でもパディング情報を指定すべきで
       す。しかし、実際はパディング文字は送信されません。

       pb (パディングボーレート) を指定することで、ボーレートが pb の値より低
       い場合、パディングが抑えられます。エントリにパディングボーレートがなけ
       れば、パディングが送出されるかされないかは xon により完全に制御されま
       す。

       ヌル (0) 文字以外のパディング文字を必要とする端末の場合、それを pad で
       指定できます。pad 文字列の最初の文字のみが使用されます。


   ステータス行
       端末には、通常のソフトウェアでは使用されない (それゆえ、端末の lines
       ケーパビリティでは数に入らない) 余分な "ステータス行" を持つものもあり
       ます。

       最も簡単な場合には、ステータス行はカーソル位置の指定は可能ですが、画面
       上のスクロール領域の一部ではないものです。初期化のときに 23 行のスク
       ロール領域のある 24 行の VT100 と同じように、Heathkit H19 には、この種
       のステータス行があります。この状況は hs ケーパビリティで指定します。

       ステータス行に入るには特別なシーケンスを必要とする端末もあります。これ
       はパラメータを 1 つとる文字列 tsl で表します。これはカーソルをステータ
       ス行の与えられた 0 桁に移動します。ケーパビリティ fsl で最後の tsl の前
       の主画面のカーソル位置に戻る必要があります。そのために tslfsl の中
       に sc (save cursor) と rc (restore cursor) の文字列の値を含める必要があ
       るかもしれません。

       ステータス行は通常、端末の幅と同じ幅だと仮定されています。これが本当で
       ないのなら、そのことを数値ケーパビリティ wsl で指定できます。

       ステータス行を消去したり削除するコマンドは dsl で指定できます。

       ブール値ケーパビリティ eslok は、ステータス行内でエスケープシーケンスや
       タブ等が通常通り働くことを示します。

       ncurses の実装はこれらのケーパビリティのどれもまだ利用していません。こ
       れらが重要になったらここに記述します。


   線画
       多くの端末には図を描くのに役に立つ別の文字セットがあります。terminfo と
       curses は VT100 でサポートされている図形文字と AT&T 4410v1 の文字のいく
       つかをサポートします。この別の文字セットは acsc ケーパビリティで設定さ
       れます。


       グリフ                         ACS               Ascii            VT100
                                                    デフォルト       
       UK pound sign                  ACS_STERLING      f                }
       arrow pointing down            ACS_DARROW        v                .
       arrow pointing left            ACS_LARROW        <                ,
       arrow pointing right           ACS_RARROW        >                +
       arrow pointing up              ACS_UARROW        ^                -
       board of squares               ACS_BOARD         #                h
       bullet                         ACS_BULLET        o                ~
       checker board (stipple)        ACS_CKBOARD       :                a
       degree symbol                  ACS_DEGREE        \                f
       diamond                        ACS_DIAMOND       +                `
       greater-than-or-equal-to       ACS_GEQUAL        >                z

       greek pi                       ACS_PI            *                {
       horizontal line                ACS_HLINE         -                q
       lantern symbol                 ACS_LANTERN       #                i
       large plus or crossover        ACS_PLUS          +                n
       less-than-or-equal-to          ACS_LEQUAL        <                y
       lower left corner              ACS_LLCORNER      +                m
       lower right corner             ACS_LRCORNER      +                j
       not-equal                      ACS_NEQUAL        !                |
       plus/minus                     ACS_PLMINUS       #                g
       scan line 1                    ACS_S1            ~                o
       scan line 3                    ACS_S3            -                p
       scan line 7                    ACS_S7            -                r
       scan line 9                    ACS_S9            _                s
       solid square block             ACS_BLOCK         #                0
       tee pointing down              ACS_TTEE          +                w
       tee pointing left              ACS_RTEE          +                u
       tee pointing right             ACS_LTEE          +                t
       tee pointing up                ACS_BTEE          +                v
       upper left corner              ACS_ULCORNER      +                l
       upper right corner             ACS_URCORNER      +                k
       vertical line                  ACS_VLINE         |                x

       新しいデバイスの図形セットを定義するのに一番よい方法は、この表のその端
       末用のコピーに列を追加し、対応する図形のところに (smacs/rmacs スイッチ
       の間に送出される場合に) 送出される文字を与えることです。それから VT100
       とその端末の文字を右から左に順に読み上げてください。これが ACSC 文字列
       になります。


   色の扱い
       ほとんどのカラー端末は "Tektronix のような" または "HP のような" のどち
       らかです。Tektronix 風端末には、あらかじめ定義された N 色 (N は通常 8
       です) の組があり、文字セル毎に独立に前景色と背景色を設定して、N * N の
       色ペアにできます。HP 風端末では、色ペアをそれぞれ別々に設定する必要があ
       ります (前景と背景は独立には設定できません)。2*M の異なった色からは M
       までの色ペアができます。ANSI-互換端末は Tektronix 風です。

       いくつかの基本的な色に関するケーパビリティは色の扱い方とは独立です。数
       値ケーパビリティ colorspairs には、同時に表示できる色または色ペアの
       最大数を指定します。op (original pair) 文字列は前景色と背景色を端末の規
       定値にリセットします。oc 文字列はすべての色または色ペアを端末の規定値に
       リセットします。(多くの PC 端末エミュレータを含む) いくつかの端末では、
       電源投入時の背景色ではなく、現在の背景色で画面領域を消去します。この場
       合にはブール値ケーパビリティ bce を指定すべきです。

       Tektronix 型の端末で現在の前景色と背景色を変えるためには、setaf (set
       ANSI foreground) と setab (set ANSI background) を使うか、setf (set
       foreground) と setb (set background) を使ってください。これらは 1 つの
       パラメータ、色番号をとります。SVr4 の文書には setaf/setab だけが書かれ
       ています。XPG4 の草案には、「端末が背景と前景を設定する ANSI エスケープ
       シーケンスをサポートするなら、それぞれ setafsetab で指定すべきで
       す。端末が背景と前景を設定する別のエスケープシーケンスをサポートするな
       ら、それぞれ setfsetb で指定すべきです。vidputs() 関数と refresh 関
       数は、定義されていれば setafsetab を使います。」と書かれています。

       setaf/setabsetf/setb ケーパビリティはそれぞれ数値引数を 1 つとりま
       す。setaf/setab の引数値 0-7 は、次のように移植性があるように定義されて
       います (中央のカラムは、curses または ncurses ライブラリのヘッダで利用
       可能なシンボリックな #define です)。端末のハードウェアはこれを好きなよ
       うにマップするのは自由ですが、RGB 値は色空間での通常の位置を示していま
       す。


                                #define              RGBCOLOR_BLACK     0    0, 0, 0
                     赤         COLOR_RED       1    max,0,0

                     緑         COLOR_GREEN     2    0,max,0
                     黄         COLOR_YELLOW    3    max,max,0
                     青         COLOR_BLUE      4    0,0,max
                     マゼンタ   COLOR_MAGENTA   5    max,0,max
                     シアン     COLOR_CYAN      6    0,max,max
                     白         COLOR_WHITE     7    max,max,max

       setf/setb の引数値は、すなわち、次のように、異なるマッピングと歴史的に
       対応しています。

                                #define              RGBCOLOR_BLACK     0    0, 0, 0
                     青         COLOR_BLUE      1    0,0,max
                     緑         COLOR_GREEN     2    0,max,0
                     シアン     COLOR_CYAN      3    0,max,max
                     赤         COLOR_RED       4    max,0,0
                     マゼンタ   COLOR_MAGENTA   5    max,0,max
                     黄         COLOR_YELLOW    6    max,max,0
                     白         COLOR_WHITE     7    max,max,max

       2 組の色のケーパビリティを混乱させないことは重要です。そうでなければ、
       red/blue (赤/青) は、表示のときに交換されます。

       HP 風の端末では、どの色ペアが現在のものかを設定する色ペア番号パラメータ
       をともなった scp を使ってください。

       Tektronix 風の端末では、色が変更できることを示すためにケーパビリティ
       ccc があります。もしそうであれば、initc ケーパビリティは色数 (0 から
       colors - 1) と色を記述する 3 つのパラメータをとります。この 3 つのパラ
       メータは、デフォルトでは RGB (Red, Green, Blue) 値と解釈されます。ブー
       ル値ケーパビリティ hls があれば、代わりに HLS (Hue, Lightness,
       Saturation) 指標になります。範囲は端末に依存します。

       HP 風の端末では、initp が色ペア値を変更するケーパビリティを与えます。パ
       ラメータを 7 つとります。色ペア番号 (0 から max_pairs - 1 まで) と 3 つ
       の数の組が 2 つです。最初の組で背景色を、2 番目の組で前景色を記述しま
       す。これらのパラメータは hls に依存して (Red, Green, Blue) か (Hue,
       Lightness, Saturation) である必要があります。

       カラー端末のいくつかでは、色はハイライトと衝突します。この衝突を ncv
       ケーパビリティで登録できます。これは、色が利用可能なときに使うことがで
       きない属性のビットマスクです。curses が理解する属性との対応は次の通りで
       す。


                   属性           ビット   10 進数   によって設定
                   A_STANDOUT     0        1         sgr
                   A_UNDERLINE    1        2         sgr
                   A_REVERSE      2        4         sgr
                   A_BLINK        3        8         sgr
                   A_DIM          4        16        sgr
                   A_BOLD         5        32        sgr
                   A_INVIS        6        64        sgr
                   A_PROTECT      7        128       sgr
                   A_ALTCHARSET   8        256       sgr
                   A_HORIZONTAL   9        512       sgr1
                   A_LEFT         10       1024      sgr1
                   A_LOW          11       2048      sgr1
                   A_RIGHT        12       4096      sgr1
                   A_TOP          13       8192      sgr1
                   A_VERTICAL     14       16384     sgr1
                   A_ITALIC       15       32768     sitm

       例えば、多くの IBM PC コンソールで、下線の属性は前景色、青と衝突してし
       まい、カラーモードでは利用できません。これは、ncv ケーパビリティに 2 を
       指定すべきです。

       SVr4 curses は ncv では何もしませんが、ncurses はそれを認識してカラー用
       に出力を最適化します。


   その他
       ヌル (0) 文字以外のパディング文字を必要とする端末の場合、それを pad で
       指定することができます。pad 文字列の最初の文字のみが使用されます。パ
       ディング文字を持たない端末の場合、npc を指定してください。ncurses は
       termcap 互換の PC 変数を実装していることに注意してください。アプリケー
       ションはこの値をナル以外のものに設定するかもしれませんが、ncurses は最
       初に npc をテストし、端末にパディング文字がなければ napms を使います。

       端末が半行だけ上下移動できる場合、それを hu (半行上へ) と hd (半行下へ)
       とで指定できます。これは、主として、ハードコピー端末の上付き文字、下付
       き文字のために役に立ちます。ハードコピー端末が用紙を排出し次のページに
       行くこと (フォームフィード) ができる場合、それを ff (通常は control L)
       で指定します。

       (同じ文字を極めて多数回繰り返し送信する際の時間節約のため) 指定した文字
       を指定した回数だけ繰り返すコマンドが存在する場合、パラメータ化文字列
       rep を用いてそれを指定することができます。1 番目のパラメータは繰り返さ
       れる文字で、2 番目のパラメータは繰り返し回数です。ですから、
       tparm(repeat_char, 'x', 10) は、"xxxxxxxxxx" と同じことです。

       TEKTRONIX 4025 のように、コマンド文字を設定可能な端末の場合、cmdch を用
       いてそれを表すことができます。すべてのケーパビリティで使用されるプロト
       タイプコマンド文字を指定できます。この文字は cmdch ケーパビリティで指定
       され、それが識別されます。いくつかの UNIX システムでは次の約束にした
       がって処理がなされます。すなわち、まず環境変数 CC を検査し、それが設定
       されている場合は、ケーパビリティ中にあるプロトタイプ文字のすべてがその
       環境変数で指定された文字と置き換えられます。

       switch, dialup, patchnetwork などのような、特定の端末の種類を表さな
       い端末記述には、プログラムがその端末とどう通信すればよいかが分からない
       と表明できるようにするため、gn (一般的) ケーパビリティを指定すべきで
       す。(このケーパビリティは、エスケープシーケンスがわかっている仮想端末の
       記述には適用されません。)

       端末が、シフトキーとして動作し、文字すべての 8 ビット目を立てて送出する
       "メタキー" を持つ場合、このことを km により表すことができます。この指定
       がない場合、ソフトウェアは、8 ビット目はパリティで、通常はクリアされて
       いると想定します。この "メタキー" をオンオフする文字列が存在する場合、
       それを smmrmm とで指定できます。

       端末が画面 1 枚分より多い行数のメモリを持つ場合、メモリの行数を lm で指
       定できます。値 lm#0 は、行数は固定でないものの、1 画面分以上のメモリを
       持つことを表します。

       端末が UNIX の仮想端末プロトコルをサポートしている場合、その端末番号を
       vt で指定できます。

       端末に接続された外部プリンタを制御するメディアコピー文字列は、次のよう
       に指定できます。すなわち、mc0: 画面内容の印字、mc4: プリンタオフ、mc5:
       プリンタオンです。プリンタがオンのとき、端末に送出されたテキストはすべ
       てプリンタに送られます。プリンタがオンの状態でもなお端末にテキストが表
       示されるか否かは未定義です。変種である mc5p はパラメータを 1 つ取り、そ
       のパラメータの値だけの文字を送る間プリンタをオンにし続け、そのあとオフ
       にします。このパラメータは 255 を越えてはなりません。mc4 を含むすべての
       テキストは、mc5p が有効な間、透過的にプリンタに渡されます。


   ゴミ機能、困った機能 (Glitches and Braindamage)
       Hazeltine 端末は、"~" 文字を表示できません。これには hz を指定すべきで
       す。

       Concept や vt100 のように am 直後の改行文字を無視する端末の場合、xenl
       を指定すべきです。

       強調表示を取り除くために (単に通常のテキストを上に書くだけでは済まず)
       el が必要な場合、xhp を指定すべきです。

       Teleray 端末は、タブでカーソル移動した下にあった文字をすべて空白にして
       しまうので、この端末では xt (破壊的なタブ) を指定すべきです。注: これに
       対応する変数は、現在は、"dest_tabs_magic_smso" ですが、以前のバージョン
       では、teleray_glitch でした。このふざけた機能は、"magic cookie (魔法の
       クッキー)" の先頭にカーソルを置けないことと、強調モードを消去するため
       に、行削除と行挿入が必要であることも意味します。ncurses の実装はこの
       glitch を無視します。

       Beehive の Superbee 端末は、エスケープ文字や control C 文字を正しく送信
       できません。これには xsb を指定し、f1 キーをエスケープとし、f2 キーを
       control C として使用することを表します。(この問題が現れるのは特定の
       Superbee に限られ、その ROM に依存します。) terminfo の古いバージョンで
       は、このケーパビリティは、"beehive_glitch" と呼ばれていましたが、現在で
       は、"no_esc_ctl_c" と呼ばれていることに注意してください。

       なにか特定の端末に固有の他の問題を解決したい場合、xx の形式で新しいケー
       パビリティを追加して使っても構いません。


   よく似た端末
       2 つの非常によく似た端末がある場合、いくつかの例外を除いて一方 (変型種)
       は他方 (基本種) と似ているという定義を行うことができます。変型種の定義
       においては、文字列ケーパビリティ use で、基本種の端末の名前を指定できま
       す。use の指定より前に与えたケーパビリティは、use により得られる基本タ
       イプの中のケーパビリティに優先します。複数の use ケーパビリティが存在す
       る場合、逆の順番でマージされます。すなわち、一番右側の use の参照先が最
       初に処理され、次にその左が処理されるといった順番になります。エントリ中
       で明示的に指定されたケーパビリティは、use の参照先が与えるケーパビリ
       ティに優先します。

       ケーパビリティ定義の左側に xx@ を置くことにより、そのケーパビリティを
       キャンセルできます。ここで xx はそのケーパビリティです。例えば、エント
       リ

              2621-nl, smkx@, rmkx@, use=2621,

       は、smkxrmkx も持たない 2621-nl を定義します。それゆえ、この端末は
       ビジュアルモードではファンクションキーラベルをオンにしません。この機能
       はある端末の種々の機能や、ユーザの種々の設定を表す際に有用です。


   長いエントリの落とし穴
       長い terminfo のエントリは問題になりそうにありません。現在まで terminfo
       の文字列表の最大値 4096 バイトに達したエントリはないのです。不幸なこと
       に termcap への翻訳はずっと厳しく制限されている (1023 バイトまで) の
       で、長い terminfo エントリの termcap への翻訳は問題を引き起こすかも知れ
       ません。

       4.3BSD より古いバージョンの tgetent() のマニュアルには、termcap エント
       リ用に 1024 バイトのバッファを割り付けるように書いてあります。エントリ
       は termcap ライブラリによりヌル文字で終了させられるので、termcap エント
       リとして安全な最大の長さは 1k-1 (1023) バイトです。アプリケーションと使
       用する termcap ライブラリが何をするか、また、tgetent() が探しているタイ
       プの端末が termcap ファイルのどこにあるかによって、悪いことがいくつか起
       こるかも知れません。

       termcap ライブラリの中には、1023 バイトより長いエントリを見つけると警告
       のメッセージを表示したり、終了したりするものもありますし、そうでないも
       のもあります。そうでないものはエントリを切捨てて 1023 バイトにしてしま
       います。アプリケーションプログラムの中には termcap エントリに推奨された
       1K より多く割り当てるものもありますし、そうでないものもあります。

       各 termcap エントリにはそれに関係する重要な大きさが 2 つあります。"tc"
       展開前と "tc" 展開後です。"tc" は、現在のエントリの最後に他の termcap
       エントリを付け足し、そのケーパビリティを追加するケーパビリティです。
       termcap エントリが "tc" ケーパビリティを使わないならば、もちろん 2 つの
       長さは同じです。

       特殊な端末のユーザ以外にも影響するので、「tc 展開前」の長さは最も重要な
       ものです。これは /etc/termcap にあるエントリからバックスラッシュと改行
       の組を引いたものの長さです。バックスラッシュと改行の組は tgetent() が読
       み込む間に取り除きます。termcap ライブラリの中には最後の改行を取り除く
       ものもあります (GNU termcap は行いません)。次のように仮定します。

       •   展開前の termcap エントリは 1023 バイト以上の長さです。

       •   アプリケーションは 1k のバッファを割り当てただけです。

       •   (BSD/OS 1.1 や GNU のもののように) termcap ライブラリは、それが必要
           なエントリであれば、その長さに関わらず、読むためにエントリをすべて
           バッファに読み込みます。

       •   tgetent() は長いエントリの端末タイプか、長いエントリの後に termcap
           ファイルに現れる端末タイプか、ファイルには全く現れない (そのため
           tgetent() は termcap ファイル全体を探す必要があります) 端末タイプを
           探しています。

       すると、tgetent() はメモリ、おそらくはスタックに重ね書きし、たぶんプロ
       グラムをコアダンプさせるでしょう。telnet のようなプログラムは特に弱いで
       す。現代的な telnet は端末タイプのような値を自動的に通してしまいます。
       SunOS 4.1.3 や Ultrix 4.4 のように、過度に長い termcap エントリを読んだ
       ときには警告メッセージを表示する termcap ライブラリでも、結果は望ましい
       ものではありません。OSF/1 3.0 のように termcap ライブラリが長いエントリ
       を切り捨てるなら、ここで死ぬことはありませんが、端末に対して不正確な
       データを返すことになるでしょう。

       「tc 展開後」の長さは上と同じように影響するでしょうが、影響を受けるのは
       TERM をその端末タイプに実際に設定した人だけです。tgetent() は探している
       時ではなく、探していた端末タイプを見つけた時に一度だけ "tc" 展開を行う
       からです。

       結局、1023 バイトより長い termcap エントリは、termcap ライブラリとアプ
       リケーションのさまざまな組合せで、コアダンプや警告や不正確な操作を引き
       起こすかもしれません。"tc" 展開前でも長過ぎるなら、他の端末タイプのユー
       ザや termcap エントリのない TERM 変数を指定しているユーザにも影響するで
       しょう。

       -C (termcap へ翻訳) モードでは、tic(1M) の ncurses の実装は tc 前の
       termcap へ翻訳する長さが長過ぎる場合、警告メッセージを出します。-c
       (check) オプションは、分析された (tc 展開後の) 長さもチェックします。

   バイナリ互換性
       商用の UNIX の間のバイナリの terminfo エントリの移植性に期待するのは賢
       明ではありません。問題は terminfo に (HP-UX と AIX で) 少なくとも 2 つ
       のバージョンがあるからです。どちらも SVr1 の後で System V の terminfo
       から分岐したもので、文字列表に System V や XSI Curses 拡張と (バイナリ
       フォーマットで) 衝突する拡張ケーパビリティを追加しています。

拡張
       $HOME/.terminfo と TERMINFO_DIRS の端末の記述を検索することは、古い実装
       よってサポートされていません。

       SVr4 の curses の実装のいくつかと SVr4 以前のものすべてはパラメータ文字
       列内の %A 演算子と %O 演算子を解釈しません。

       SVr4/XPG4 は、別の文字セットモードで msgr がカーソルの移動を許可するか
       どうかを指定しません (そのようなモードは、数ある中でも CR と NL を局所
       的な移動を引き起こさない文字に写してしまうかも知れません)。ncurses の実
       装は ALTCHARSET モードでは msgr を無視します。このため、反対の解釈をす
       る XPG4 の実装では、ncurses 用に作られた terminfo エントリの msgr をオ
       フにする必要があるかも知れません。

       ncurses ライブラリは、更新の効率を上げるために少し非標準的な方法で文字
       挿入と文字挿入モードを扱います。上記の「文字の挿入/削除」のサブセクショ
       ンを参照してください。

       set_clockdisplay_clock のパラメータ置換は SVr4 でも XSI Curses 規格
       でも説明されていません。AT&T 505 端末の説明書から推測したものです。

       kmous ケーパビリティの割り当てには注意してください。ncursesKEY_MOUSE として解釈しようとし、xterm のようなキーボード入力ストリーム
       中でマウストラック情報を返すことのできる端末やエミュレータが使用しま
       す。

       X/Open Curses は、イタリック体を言及しません。移植性のあるアプリケー
       ションは、数値のケーパビリティが符号付き 16 ビットの値であると仮定され
       なければなりません。これは、no_color_video (ncv) ケーパビリティを含んで
       います。ncv があるイタリック体のために使用される 32768 のマスク値は、
       ncv が存在しないか、または ncv 取り消されたと混同させるかもしれません。
       イタリック体が色で動作すべきであるなら、たとえ、それが 0 でも、ncv 値
       は、指定されなければなりません。

       異なる商用の terminfo と curses はそれぞれ異なる XSI Curses 標準の一部
       と (いくつかの場合) 異なった拡張をサポートします。次は 1995 年 10 月時
       点での正確な要約です。

       SVR4, Solaris, ncurses -- SVr4 ケーパビリティをすべてサポートします。

       SGI -- SVr4 すべてと説明のない拡張文字列ケーパビリティ 1 つ (set_pglen)
       をサポートします。

       SVr1, Ultrix -- terminfo ケーパビリティの制限された一部をサポートしま
       す。ブール値は、xon_xoff で、数値は、width_status_line で、文字列は、
       prtr_non で終ります。

       HP/UX -- SVr1 の一部と、SVr[234] の数値 num_labels, label_height,
       label_width と、ファンクションキー 11 から 63 までと、plab_norm,
       label_on, label_off と、文字列表の非互換な拡張をいくつかサポートしま
       す。

       AIX -- SVr1 の一部と、ファンクションキー 11 から 63 までと、たくさんの
       非互換な文字列表拡張をサポートします。

       OSF -- SVr4 全部と AIX 拡張の両方をサポートします。

関連ファイル
       /usr/share/misc/terminfo/?/*
                                端末記述を含んでいるファイル

関連項目
       tic(1M), infocmp(1M), curses(3X), printf(3), term(5),
       term_variables(3X).

作者
       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey。Pavel Curtis によ
       る pcurses に基づいています。



                                                                   terminfo(5)

Table of Contents

FreeBSD マニュアル検索