terminfo(5) FreeBSD 一般コマンドマニュアル

terminfo

前のページ 上に戻る 次のページ

terminfo



書式

       /usr/share/misc/terminfo/*/*


解説

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

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

       端末名 (最後の冗長なものは除く) は、以下の約束にしたがって
       付けてください。名前の基本部分を、端末を構成するハードウェ
       アの特徴的部分から名付けます (``hp2621'' のように)。この名
       前にはハイフンを含めてはいけません。モードや、ユーザの設定
       が現れる部分については、基本名の後に、ハイフンとモードの接
       尾辞つけて表してください。例えば、vt100 の 132 桁モード は
       vt100-w のようになります。使えるところがあれば、以下の接尾
       辞を使ってください。

      B>接B>尾B>辞                    B>意B>味                    B>例
      -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)   の マ
       ニュアルを参照してください。

   B>ケB>ーB>パB>ビB>リB>テB>ィ

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

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

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

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

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

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

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


       以下はブール値ケーパビリティです。

               variable          cap-  TCap          B>説B>明
               B>ブB>ーB>ルB>値          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    一般的な回線タイプ
       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    ~ 表示不可 (hazel-
                                             tine 端末)
       transparent_underline     ul    ul    下線付文字は上書きす
                                             る
       xon_xoff                  xon   xo    端末は xon/xoff ハン
                                             ドシェークを行う

       以下は数値ケーパビリティです。

            variable         cap-     TCap           B>説B>明
              B>数B>値           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 の値以上の場合
                                             数の最大値
       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  で
       プリンタに対応するために採り入れられました。

             variable         cap-    TCap           B>説B>明
              B>数B>値            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     倍幅モードでの文字ス
                                             数を # 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   文字を定義
       delete_character          dch1   dc   文字を削除 (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   上付き文字モード終了
                                             帰
       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_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_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_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   シフト状態の previ-
                                             ー
       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 番
                                             目のビットオン)
                                             が来る)
       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   時計を削除
       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 行目
                                             か下から #2 行目にす
                                             る
       set_clock                 sclk   SC   時計を #1 時 #2 分
                                             #3 秒に設定
       set_color_pair            scp    sp   現在の色ペアを #1 に
                                             設定
       set_foreground            setf   Sf   前景色を #1 に設定
       set_left_margin           smgl   ML   左ソフトマージンを現
                                             在桁に設定
       set_left_margin_parm      smglp  Zm   左 (右) マージンを桁
                                             #1 (#2) に設定
       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 (#2) に設定
       set_window                wind   wi   現在のウィンドウを行
                                             #1-#2、桁 #3-#4 とす
                                             る
       start_bit_image           sbim   Zq   ビットイメージグラ
                                             フィック印字の開始
       start_char_set_def        scsd   Zr   文字セット定義の開始
       stop_bit_image            rbim   Zs   ビットイメージグラ
                                             フィック印字の終了
       stop_char_set_def         rcsd   Zt   文字セット定義の終了
       subscript_characters      subcs  Zu   下付き文字となりうる
                                             文字のリスト
       superscript_characters    supcs  Zv   上付き文字となりうる
                                             文字のリスト
       tab                       ht     ta   次の 8 文字分のハー
                                             ドウェアタブストップ
                                             へのタブ文字
       these_cause_cr            docr   Zw   これらの文字のうちの
                                             いずれかの印字は CR

       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 構造体に存 在
       していますが、マニュアルで未だに説明がなされていません。

               variable          cap-     TCap        B>説B>明
                B>文B>字B>列           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   文字セット名のリス
                                               ト
       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
                                               は文書化されていな
                                               めのエスケープ
       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 に設定
       set_page_length           slines   YZ   ページ長を #1 行に
                                               設定
       set_tb_margin             smgtb    MT   上下両マージンを
                                               #1、#2 に設定

        XSI  Curses 規格では以下のものが追加されています。 それら
        は、例えば、 Solaris 2.5 や IRIX 6.x など、4.1 以降のバー
        ジョ ン の  System  V   の、  curses のものです。それらの
        ncurses termcap 名はでっちあげました。XSI Curses 規格に従
        う と、 termcap 名はありません。コンパイルされた terminfo
        エントリがこれらを使っていれば、SVr4.1 以降 の  System  V
        terminfo エントリとはバイナリ互換ではないかも知れません。
        用心してください!

                variable         cap-   TCap         B>説B>明
                 B>文B>字B>列          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           slengthsL   ページ長を 100分の
                                             #1 インチに設定

             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
             kcuf1=\E[C, kcuu1=\E[A, kf1=\E[M, kf10=\E[V,
             kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P,
             kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
             kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
             op=\E[37;40m, rep=%p1%c\E[%p2%{1}%-%db,
             rin=\E[%p1%dT, s0ds=\E(B, s1ds=\E)B, s2ds=\E*B,
             s3ds=\E+B, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
             setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
             setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
             sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m,
             sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
             u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%p1%dd,

       2 行目以後の行先頭に空白類文字を置くことで、エントリを複数
       行 に分けて継続して書くことができます。行先頭に ``#'' を置
       くことでコメントを含めることができます。 terminfo のケーパ
       ビ リ ティには、3 つの型があります。ブール値ケーパビリティ
       は、その端末がある特性を有しているかどうかを表します。数値
       ケーパビリティは、その端末の大きさや、遅延の大きさを指定し
       ます。文字列ケーパビリティは、端末のある機能を実行させる際
       に用いるシーケンスを指定します。


   B>ケB>ーB>パB>ビB>リB>テB>ィB>のB>型
       すべてのケーパビリティには名前があります。例えば、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  はそれぞれ、改行、ラインフィード、復帰、タブ、
       バックスペース、フォームフィード、空白にマップされます。そ
       の 他 に、\^^ に、\\\ に、 \, はコンマに、 \::
       に、\0 はナル文字にマップされます。 (\0 は \200 を生成しま
       す。 こ れは文字列を終端しませんが、ほとんどの端末では CS7
       が指定されているので、ナル文字と同様の挙動を示 す か ら で
       すB>Bstty(1) を参照してください) 最後に、\ の後に 8 進 3 桁
       の数を指定して文字を表すこともできます。


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


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

       TERMINFO  が設定されていなければ、ncurses 版の terminfo 読
       み込みコードはその代わりにディレクトリ $HOME/.terminfo  か
       ら コ ンパイルされた記述を探します。そこで見つけるのに失敗
       し、環境変数 TERMINFO_DIRS が設定されていれば、変数の内 容
       をコロンで区切られた探すべきディレクトリのリストと解釈しま
       す (空のエントリは /usr/share/misc/terminfo を探すコマンド
       として解釈されます)。 TERMINFO_DIRS ディレクトリのいずれに
       も記述が見つからなければ、読み込みは失敗します。

       TERMINFO も TERMINFO_DIRS も設定されていなければ、最後に試
       み ら れ る 場 所 は シ ス テ ム の  terminfo ディレクトリ
       /usr/share/misc/terminfo です。

       ($HOME/.terminfo 探索も TERMINFO_DIRS 拡張も標準の  System
       V terminfo/curses ではサポートされていません。)


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

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


   B>基B>本B>的B>なB>ケB>ーB>パB>ビB>リB>テB>ィ
       端末の各行の桁数は数値型ケーパビリティ cols で指定します。
       端末が CRT の場合、画面の行数はケーパビリティ lines で指定
       します。カーソルが右マージンに達したときに次の行の左端に回
       カーソルを (バックスペースのように) 1 ポジションだけ左へ移
       動 さ せるコードがある場合、それは cub1 で指定します。同様
       に、右への移動、上への移動、下への移動はそれぞ れ、  cuf1,
       cuu1,  cud1   で指定します。これらの局所的カーソル移動機能
       は、通過する場所のテキストを変更するものであってはなりませ
       ん。たとえば、空白文字はその下のテキストを消去してしまうた
       め、普通は `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,
       つ場合、これは mrcup で表します。

       パラメータ渡し機構では、スタックと、それを操作する特別の %
       コードを用います。通常は、シーケンスはパラメータを 1 つ ス
       タックにプッシュし、それをある形式で出力します。もっと複雑
       な操作が必要なこともしばしばあります。

       % コードには以下の意味があります。

            %%        `%' を出力する
            %[[:]flags][width[.precision]][doxXs]
                      printf でのように、フラグは [-+#] とスペース
            %c        printf() の %c のように、pop() を表示する
            %s        printf() の %s のように、pop() を表示する

            %p[1-9]   i 番目のパラメータをプッシュする
            %P[a-z]   pop() を動的変数 [a-z] に設定する
            %g[a-z]   動的変数 [a-z] をプッシュする
            %P[A-Z]   pop() を静的変数 [a-z] に設定する
            %g[A-Z]   静的変数 [a-z] をプッシュする
            %'c'      文字定数 c
            %{nn}     整数定数 nn
            %l        strlen(pop) をプッシュする

            %+ %- %* %/ %m
                      算術演算 (%m は剰余): push(pop() op pop())
            %& %| %^  ビット演算: 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 はオプション。
                      else-if は Algol 68 風に指定可能:
                      %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
                      ci は条件節、bi は本体。

       二項演算は、通常の順序で並べたオペランドに対して後置形式で
       指定します。例えば、x-5 を得るには、"%gx%{5}%-" を指定しま
       す。エスケープされた文字列を評価する間 %P 変数と %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"   を 使う端末は、カーソルを前方に戻すこと
       パラメータについても同様の処理を行います。スタックを使うこ
       とで、さらに複雑な計算も可能です。


   B>カB>ーB>ソB>ルB>移B>動
       カーソルを高速にホームポジション (画面の左上隅) に移動させ
       る方法を持つ端末の場合、これを 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 を指定してください。


   B>領B>域B>消B>去
       端末がカーソルを動かさずに、現在位置から行の末端まで消去可
       能である場合、これを el で指定すべきです。端末がカーソルを
       動かさずに、行の先頭から現在位置を含めて現在位置まで消去可
       能である場合、これを el1 で指定すべきです。端末が現在位 置
       から画面の終りまでを消去可能な場合、これを ed で指定すべき
       です。 ed は行の第 1 桁から行う場合のみ定義されます。 ( で
       すから、まともな ed が利用できない場合でも、大量の行削除リ
       域設定コマンドを 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 による逆スク
       ロールにより非空白行が下がってくることを表します。


   B>文B>字B>のB>挿B>入/B>削B>除
       terminfo で記述可能な文字の挿入/削除に関して、基本的には 2
       種類のインテリジェント端末があります。もっとも標準的な文字
       挿入/削除機能は、現在行の文字のみが影響を受け、シフトし た
       文字は一体となって移動し行端で消えて行くものです。その他の
       らば、この端末は 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

   B>ハB>イB>ラB>イB>トB>・B>下B>線B>・B>可B>視B>ベB>ル
       端 末が 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 B>パB>ラB>メB>ーB>タ        B>属B>性        B>エB>スB>ケB>ーB>プB>シB>ーB>エB>ンB>ス

      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 (オン)

       ようになります。

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

 \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%;%?%p1%p3%|%t;7%;
               %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,

       sgr を設定したら、sgr0 も設定する必要があることを忘れな い
       でください。

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

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

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

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

       の キーが 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 × 3 のキー配列を持
       つ場合、他の 5 つのキーを ka1, ka3, kb2, kc1, kc3.  で指定
       し ま す。 3 × 3 のカーソル移動キーパッドの効果が必要な場
       合、これらのキーが有用です。

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

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


   B>タB>ブB>とB>初B>期B>化
       端末がハードウェアタブを持つ場合、次のタブストップまでカー
       ソルを進めるコマンドを ht (通常は control I) で指定でき ま
       す。前のタブストップまで左方向に進める「後退タブ」コマンド
       は、 cbt で指定できます。端末が、タブが端末に送出されず に
       コンピュータ内部で空白に展開されるモードになっている場合、
       プログラムは、たとえ htcbt が存在しても、それらを使 用
       しないという約束になっています。これは、ユーザがタブストッ
       プを正しく設定していない可能性があるためです。電源投 入 時
       に、  n 個の空白ごとにハードウェアタブが初期化されている端
       末の場合、数値パラメータ it を指定します。これはタブとして
       びに、 tput プログラムの init オプションがこれらの文字列を
       端末に対して送出します。送出は以下の順序で行われます。プロ
       グラム iprog を実行 ; is1 を出力 ; is2 を出力 ; mgc, smgl,
       smgr でマージンを設定 ; tbchts でタブを設定 ; ファイル
       if を印字 ; 最後に is3 を出力。

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

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

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

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

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

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

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

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

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

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


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

                Glyph             ACS            Ascii      VT100
                 Name             Name           Default    Name
       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
       に (smacs/rmacs スイッチの間に送出される場合に) 送出される
       文 字を与えることです。それから VT100 とその端末の文字を右
       から左に順に読み上げてください。これが ACSC 文字列になりま
       す。


   B>色B>のB>扱B>い
       ほ とんどのカラー端末は `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 つとります。引数値 0-7 は移植できるよう以下のように定
       義されています (中央の列は cursesncurses ライブラリ 用
       にヘッダで利用できる記号の #define です)。端末のハードウェ
       アはこれを好きなようにマップするのは自由ですが、RGB 値は色
       空間での通常の位置を示しています。

              B>色           #define       B>値       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

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

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

                    B>属B>性           B>ビB>ッB>ト   10 B>進B>数
                    A_STANDOUT     0        1
                    A_UNDERLINE    1        2
                    A_REVERSE      2        4
                    A_BLINK        3        8
                    A_DIM          4        16
                    A_BOLD         5        32
                    A_INVIS        6        64
                    A_PROTECT      7        128
                    A_ALTCHARSET   8        256

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

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


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

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

       (同じ文字を極めて多数回繰り返し送信する際の時間節約のため)
       指定した文字を指定した回数だけ繰り返すコマンドが存在する場
       合、 パラメータ化文字列 rep を用いてそれを指定することがで
       きます。 1 番目のパラメータは繰り返される文字で、2 番目 の
       パラメータは繰り返し回数です。ですから、tparm(repeat_char,
       すればよいかが分からないと表明できるようにするため、 gn  (
       一 般 的) ケーパビリティを指定すべきです。 (このケーパビリ
       ティは、エスケープシーケンスがわかっている 仮想端末の記 述
       には適用されません。)

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

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

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

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


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

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

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

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

       Beehive の Superbee 端末は、エスケープ文字や control C  文
       字を正しく送信できません。これには xsb を指定し、f1 キーを
       とができます。変型種の定義においては、文字列ケーパビリティ
       use  で、基本種の端末の名前を指定できます。 use の指定より
       前に与えたケーパビリティは、 use により得られる基本タイ プ
       の 中 の ケーパビリティに優先します。複数の use ケーパビリ
       ティが存在する場合、逆の順番でマージされます。すなわち、一
       番 右側の use の参照先が最初に処理され、次にその左が処理さ
       れるといった順番になります。エントリ中で明示的に指定された
       ケ ーパビリティは、 use の参照先が与えるケーパビリティに優
       先します。

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

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

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


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

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

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

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

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

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


拡張

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

       書から推測したものです。

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

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

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

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

       SVr1, Ultrix -- terminfo ケーパビリティの制限された一部 を
       サ ポートします。ブール値は xon_xoff で、数値は width_sta-
       tus_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), curses(3X), printf(3S), term(5).


作者

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



                                                      TERMINFO(5)

ABELNET VPSサービス