captoinfo(1M) User commands captoinfo(1M)

# [NAME](#NAME)

**captoinfo** - convert a *termcap* description into a *terminfo* description

# [SYNOPSIS](#SYNOPSIS)

**captoinfo** \[*tic-option*] \[*file* ...]

**captoinfo -V**

# [DESCRIPTION](#DESCRIPTION)

**captoinfo** translates terminal descriptions. It looks in each given text *file* for *termcap* entries and, for each one found, writes an equivalent *terminfo* description to the standard output stream. *termcap* **tc** capabilities translate to *terminfo* “**use**” capabilities.

If no *file*s are specified, **captoinfo** interprets the content of the environment variable *TERMCAP* as a file name, and extracts only the entry for the terminal type named in the environment variable *TERM* from it. If the environment variable *TERMCAP* is not set, **captoinfo** reads */etc/termcap*.

This utility is implemented as a link to [**tic**(1M)](/man/os/ncurses/tic.1M), with the latter's **-I** option implied. You can use other **tic** options such as **-1**, **-f**, **-v**, **-w**, and **-x**. The **-V** option reports the version of *ncurses* associated with this program and exits with a successful status.

## [Translations from Nonstandard Capabilities](#Translations_from_Nonstandard_Capabilities)

**captoinfo** translates some obsolete, nonstandard capabilities into standard *terminfo* capabilities. It issues a diagnostic to the standard error stream for each, inviting the user to check that it has not mistakenly translated an unknown or mistyped capability name.

***termcap* Code** **Obsolete** **Standard** **Origin** ***terminfo* capability** **BO** **mr** AT&T **enter\_reverse\_mode** **CI** **vi** AT&T **cursor\_invisible** **CV** **ve** AT&T **cursor\_normal** **DS** **mh** AT&T **enter\_dim\_mode** **EE** **me** AT&T **exit\_attribute\_mode** **FE** **LF** AT&T **label\_on** **FL** **LO** AT&T **label\_off** **XS** **mk** AT&T **enter\_secure\_mode** **EN** **@7** XENIX **key\_end** **GE** **ae** XENIX **exit\_alt\_charset\_mode** **GS** **as** XENIX **enter\_alt\_charset\_mode** **HM** **kh** XENIX **key\_home** **LD** **kL** XENIX **key\_dl** **PD** **kN** XENIX **key\_npage** **PN** **po** XENIX **prtr\_off** **PS** **pf** XENIX **prtr\_on** **PU** **kP** XENIX **key\_ppage** **RT** **@8** XENIX **kent** **UP** **ku** XENIX **kcuu1** **KA** **k;** Tektronix **key\_f10** **KB** **F1** Tektronix **key\_f11** **KC** **F2** Tektronix **key\_f12** **KD** **F3** Tektronix **key\_f13** **KE** **F4** Tektronix **key\_f14** **KF** **F5** Tektronix **key\_f15** **BC** **Sb** Tektronix **set\_background** **FC** **Sf** Tektronix **set\_foreground** **HS** **mh** IRIX **enter\_dim\_mode**

XENIX *termcap* had a set of extension capabilities, corresponding to box drawing characters of CCSID (“code page”) 437, as follows.

***termcap* Code** **Graphic** **G2** upper left corner **G3** lower left corner **G1** upper right corner **G4** lower right corner **GR** tee pointing right **GL** tee pointing left **GU** tee pointing up **GD** tee pointing down **GH** horizontal line **GV** vertical line **GC** intersection **G6** double upper left corner **G7** double lower left corner **G5** double upper right corner **G8** double lower right corner **Gr** double tee pointing right **Gr** double tee pointing left **Gu** double tee pointing up **Gd** double tee pointing down **Gh** double horizontal line **Gv** double vertical line **Gc** double intersection **GG** ACS magic cookie count

**captoinfo** composes single-line box-drawing capabilities into a *terminfo* **acs\_chars** (**acsc**) string capability, and discards **GG** and double-line capabilities with a warning diagnostic.

AIX has a *terminfo* facility descended from SVr2 *terminfo*, but which is incompatible with the SVr4 format. **captoinfo** translates the following AIX extensions.

**IBM** **X/Open** ksel kslt kbtab kcbt font0 s0ds font1 s1ds font2 s2ds font3 s3ds

It furthermore translates the AIX **box1** capability to an **acs\_chars** (**acsc**) string capability.

The HP-UX *terminfo* library supports two nonstandard *terminfo* capabilities: **memory\_lock** (**meml**) and **memory\_unlock** (**memu**). **captoinfo** discards these with a warning message.

# [FILES](#FILES)

*/etc/termcap*

default *termcap* terminal capability database

# [EXTENSIONS](#EXTENSIONS)

This command is an SVr4 *curses* and *ncurses* extension.

# [PORTABILITY](#PORTABILITY)

X/Open Curses Issue 7 (2009) does not specify this command.

SVr4 systems provide *captoinfo* as a separate application from *tic*. Its **-v** option does not accept a trace level argument *n*; repeat **-v** *n* times instead.

NetBSD does not provide this application.

# [AUTHORS](#AUTHORS)

Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and  
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;

# [SEE ALSO](#SEE_ALSO)

[**infocmp**(1M)](/man/os/ncurses/infocmp.1M), [**tic**(1M)](/man/os/ncurses/tic.1M), [**curses**(3X)](/man/os/ncurses/curses.3X), [**terminfo**(5)](/man/os/ncurses/terminfo.5)

2025-11-11 ncurses 6.6

---

Document: captoinfo(1m) from ncurses 6.6.20260926-r0 (Chainguard OS)
Source: https://github.com/ThomasDickey/ncurses-snapshots
