Terminfo(タームインフォ)は、ディスプレイ
端末をデバイスに依存せず利用するための
ライブラリと
データベースです。1981年から1982年にかけて、Mark Hortonによってtermcapの改良版として開発されました。
Terminfoの主な改良点:
高速なアクセス: 端末の記述へのアクセスを高速化しました。
分かりやすいケーパビリティ名: 端末の機能を表すケーパビリティ名を、より長く分かりやすいものに変更しました。
汎用的な文字列評価式: 端末へ送信する文字列を、より一般的に評価できる式で記述できるようにしました。
Terminfoは
UNIX System V Release 2に採用され、System V環境ではtermcapよりも広く利用されるようになりました。一方、BSD系システムでは引き続きtermcapが使われました。1982年から1984年にかけてPavel Curtisによって開発されたpcursesは、terminfoをモデルにしており、Mark Hortonによる修正を取り込みつつ、他の
UNIX環境でも利用できるようになりました。より詳細な情報は、1986年12月からcomp.sources.unixニュースグループで公開された一連の投稿で確認できます。
Terminfo
データベースには、数百種類ものディスプレイ
端末のケーパビリティが記述されています。これにより、プログラムは利用する
端末の種類を意識することなく、キャラクタベースのインターフェースを実装することが可能です。
データベースには、以下のような情報が含まれています。
画面の行数
モノクロモード(色を使用しない)の設定
ビープ音の代わりに画面フラッシュを使用する設定
Termcapとは異なり、terminfo
データベースにはソース形式とコンパイル済み形式の2種類が存在します。コンパイル済み形式の上限は仕様として定義されていませんが、多くの実装ではtic(terminal information compiler)のドキュメントにおいて、コンパイルされたエントリは4,096バイトを超えてはならないとされています。
関連情報:
端末: ディスプレイなどの入出力装置。
curses: キャラクターベースの画面制御を行うための
ライブラリ。
Termcap: terminfoの前身となる
端末情報
データベース。
tput: 端末の機能を制御するコマンド。
参考文献:
Current terminfo data
Termcap/Terminfo Resources Page at Eric S. Raymond's website
*
man terminfo(5)