ターミナルの説明の作成および編集
TERCAP オプション 1 ("TERCAP ユーティリティ" を参照) を使用して、ターミナルの以下のプロパティを入力できます。
-
ターミナル・タイプの名前 (または既存のリストから選択)
-
行数と列数
-
ブーリアン・フラグ
-
ニーモニック (*D を入力すると、確認後に、現在のニーモニックのソースとバイナリ形式を削除します)。
ターミナルの名前とエイリアス
新しいターミナル・タイプ (名前) を最初のプロンプトで入力すると、プログラムを使用して別のターミナルから最初の説明をコピーできます。作成する説明が既存のターミナルの説明と類似している場合に役立ちます。
ターミナル・タイプのプロンプトで疑問符を入力して、他のターミナル・タイプを確認できます。
DO tt^%CHARWIN
Terminal type: ?
Terminal
Terminal Wide Characters
Linux
SCO ANSI
vt100
vt220
vt320
ブーリアン・フラグの説明
以下のフラグを使用できます。
| ビット | 意味 |
|---|---|
| 1 | ターミナルには色の機能があります。 |
| 2 | ターミナルにはウィンドウ・ファームウェア ("Waytec" など) があります。 |
| 4 | ターミナルは自動マージン (または自動折り返し) に構成されています。 |
| 最後の列に書き込むと、カーソルは次の行の最初の列に自動的に移動します。これは、ローカル・メニューか初期化文字列のいずれかによる、ターミナルの構成によって決まります。どちらの方法でもシステムは機能しますが、このフラグがオフになっている場合 (VT ターミナルの規定の場合など)、画面がスクロールされずに画面の右下隅に書き込まれます。このフラグがオンになっている場合、最後の行の最後の列には書き込まれません。最後の列にあるはずの文字の代わりに空白が表示されれば、これが適切な動作になります。 | |
| 8 | ターミナルには PC のような映像属性があります。 |
| 例えば、前景色や背景色と一緒に文字列の属性 (点滅やハイライト) をシングル・バイトで保存します。このフラグがオンの場合、ビット 1 はオフになります。内部的には、PC のビデオ・アダプタ・カードとまったく同じ属性を保存します。つまり、バイトで色を表現しなくても、色の機能が損なわれません。結果的に、メモリの消費量が減り、スクロールの速度は増します。このフラグは、SCO UNIX® コンソール (SCO ANSI および同等のもの) や MS-DOS ターミナル・エミュレータ (Telix、Procomm など) を対象としています。 | |
| 16 | "文字の消去" 操作 |
| 属性がオンではない状態で空白を書き込みます。実装の中には、SCO ANSI のように "ech" 関数の実行時に現在の属性や色を維持するものがあることに注意してください。また、VT ターミナルのように、"通常の" (属性がすべてオフの状態で) 空白を使用する実装もあります。このフラグによって、"ech" 操作 (この後に "cursor forward" が続く) を適切に使用して、画面の属性を妨げることなく、一連の長い空白が書き込まれます。 | |
| 32 | 境界線マッピングを無効にします。 |
| 規定では、ユーザが TERCAP ユーティリティを使用して境界線マップを書き込む必要があります。NLS 出力変換が使用されている場合、この出力変換の一部として境界線マッピングを実行することをお勧めします。そのため、NLS 出力変換を介して境界線マッピングを実行できるように、このフラグで内部の境界線マッピングを無効にします。 |
ニーモニックとそのパラメータ
ニーモニックは、TERCAP ユーティリティを介して入力でき、/INIT でロードされます。ほとんどの場合、パラメータは省略可能で、既定値が想定されています。例えば以下のようになります。
WRITE /cup /sp /ed
これは、以下と同等です。
WRITE /cup(1,1) /sp(1) /ed(0)
|
ニーモニック |
説明とパラメータ |
|---|---|
| aoff | すべての属性をオフにする |
| bell | 警戒音を鳴らす |
| boff | 点滅のオフ |
| bon | 点滅のオン |
| clr | 画面をクリアする |
| coff | カーソルをオフにする (非表示) |
| con | カーソルをオンにする (表示) |
| cs01 | 文字セット 0 から文字セット 1 に切り替える |
| cs02 | 文字セット 0 から文字セット 2 に切り替える |
| cs10 | 文字セット 1 から文字セット 0 に切り替える |
| cs20 | 文字セット 2 から文字セット 0 に切り替える |
| cub(n) | カーソルを左に n 回移動 |
| cud(n) | カーソルを下に n 回移動 |
| cuf(n) | カーソルを右に n 回移動 |
| cup(l,c) | カーソルを (行、列) の位置に移動、元の位置は (行 0、列 0) |
| cuu(n) | カーソルを上に n 回移動 |
| dch(n) | n 個の文字を削除 |
| dl1 | 1 行削除 (同上) |
| dl(n) | n 行削除 |
| ech(n) | n 個の文字を消去 |
| ed0 | カーソルから画面の最後まで消去 |
| ed1 | カーソルから画面の先頭まで消去 |
| ed2 | 画面を完全に消去 |
| el0 | カーソルから行の最後まで消去 |
| el1 | カーソルから行の先頭まで消去 |
| el2 | 行を完全に消去 |
| end | 終端文字列 |
| fill(l,t,r,b,c) | 1 つの文字でウィンドウを埋める |
| l = 左側の列 (起点は 0) | |
| t = 上の行 (起点は 0) | |
| r = 右側の列 | |
| b = 下の行 | |
| c = 文字コード | |
| hoff | ハイライトのオフ |
| hon | ハイライトのオン |
| ich(n) | n 個の文字を挿入 |
| il(n) | n 行挿入 |
| il1 | 1 行挿入 (ターミナルに標準の "il" がない場合に有効) |
| ind(n) | n 回のインデックス |
| init | 初期化文字列 |
| rep(c,n) | 文字 c を n 回繰り返す |
| ri(n) | n 回の逆インデックス |
| roff | 反転映像オフ |
| ron | 反転映像オン |
| uoff | 下線オフ |
| uon | 下線オン |
| wbox(l,t,r,b,s) | ボックスの描画 |
| l = 左側の列 (起点は 0) | |
| t = 上の行 (起点は 0) | |
| r = 右側の列 | |
| b = 下の行 | |
| s = 境界線のスタイル (0 = なし、1 = 単線、2 = 二重線) | |
| wclose | ウィンドウを閉じる |
| wlimits(l,t,r,b) | ウィンドウのフレームを再定義する |
| l = 左側の列 (起点は 0) | |
| t = 上の行 (起点は 0) | |
| r = 右側の列 | |
| b = 下の行 | |
| wopen(l,t,r,b,s) | (ウィンドウ・ファームウェアが付属したターミナルの) ウィンドウを開く |
| l = 左側の列 (起点は 0) | |
| t = 上の行 (起点は 0) | |
| r = 右側の列 | |
| b = 下の行 | |
| s = 境界線のスタイル (0 = なし、1 = 単線、2 = 二重線) | |
| wuse(wid) | wid を現在の (一番上の) ウィンドウにする |