Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tty(7)

term(4)  —  File Formats

Digital

NAME

term − terminal driver tables for nroff

DESCRIPTION

The nroff(1) command uses driver tables to customize its output for various types of output devices. These driver tables are written as C programs and compiled and installed in /usr/share/lib/term/tabname.  The name specifier is the name of a terminal type as used with nroff -Tname. The structure of the tables is as follows:

#defineINCH240
struct {
int bset;
int breset;
int Hor;
int Vert;
int Newline;
int Char;
int Em;
int Halfline;
int Adj;
char ∗twinit;
char ∗twrest;
char ∗twnl;
char ∗hlr;
char ∗hlf;
char ∗flr;
char ∗bdon;
char ∗bdoff;
char ∗ploton;
char ∗plotoff;
char ∗up;
char ∗down;
char ∗right;
char ∗left;
char ∗codetab[256−32];
char ∗zzz;
} t;

The fields have the following meanings:

bsetBits to set in the c_oflag field of the termio structure before output. For further information, see tty(7). 

bresetBits to reset in the c_oflag field of the termio structure before output. 

HorHorizontal resolution in fractions of an inch. 

VertVertical resolution in fractions of an inch. 

NewlineSpace moved by a newline (linefeed) character in fractions of an inch. 

CharQuantum of character sizes in fractions of an inch (that is, a character is a multiple of Char units wide). 

EmSize of an em in fractions of an inch. 

HalflineSpace moved by a half-linefeed (or half-reverse-linefeed) character in fractions of an inch. 

AdjQuantum of white space in fractions of an inch (that is, white spaces are a multiple of Adj units wide). 

Note: if this value is less than the size of the space character (in units of Char; see the following fields for how the sizes of characters are defined), nroff outputs fractional spaces using plot mode.  Also, if nroff is used with the −e flag, it sets Adj to equal Hor. 

twinitThe set of characters used to initialize the terminal in a mode suitable for nroff

twrestThe set of characters used to restore the terminal to normal mode. 

twnlThe set of characters used to move down one line. 

hlrThe set of characters used to move up one-half line. 

hlfThe set of characters used to move down one-half line. 

flrThe set of characters used to move up one line. 

bdonThe set of characters used to turn on hardware boldface mode, if any. 

bdoffThe set of characters used to turn off hardware boldface mode, if any. 

itonThe set of characters used to turn on hardware italics mode, if any. 

itoffThe set of characters used to turn off hardware italics mode, if any. 

plotonThe set of characters used to turn on hardware plot mode (for Diablo type mechanisms), if any. 

plotoffThe set of characters used to turn off hardware plot mode (for Diablo type mechanisms), if any. 

upThe set of characters used to move up one resolution unit (Vert) in plot mode, if any. 

downThe set of characters used to move down one resolution unit (Vert) in plot mode, if any. 

rightThe set of characters used to move right one resolution unit (Hor) in plot mode, if any. 

leftThe set of characters used to move left one resolution unit (Hor) in plot mode, if any. 

codetabDefinition of characters needed to print an nroff character on the terminal. The first byte is the number of character units (Char) needed to hold the character; that is, “\001” is one unit wide, “\002” is two units wide, and so on. The high-order bit (0200) is on if the character is to be underlined in underline mode (.ul).  The rest of the bytes are the characters used to produce the character in question. If the character has the sign (0200) bit on, it is a code to move the terminal in plot mode. It is encoded as follows:

0100 bit onVertical motion

0100 bit offHorizontal motion

040 bit onNegative (up or left) motion

040 bit offPositive (down or right) motion

037 bitsNumber of such motions to make

zzzA zero terminator at the end. 

All quantities that are in units of fractions of an inch should be expressed as INCH∗num/denom, where num and denom are respectively the numerator and denominator of the fraction; that is, 1/48 of an inch would be written as “INCH1/48”. 

If any sequence of characters does not pertain to the output device, that sequence should be given as a null string. 

The source code for the terminal name is in /usr/share/lib/term/tabname. When a new terminal type is added, the makefile Makefile.install in that directory should be updated. 

Building New nroff Drivers

The /usr/share/lib/term/mktab.o object module is an nroff compiler-independent driver table generator tool. It is intended to be used as follows:

cc −o /tmp/mktab tabxxx.c mktab.o, /tmp/mktab > tabxx

Default nroff Drivers

The following nroff drivers are provided by Digital Equipment Corporation:

lpr (default)Dumb 10-pitch printer with no halfline or upline capability. 

crtGeneric crt terminal (linked to lpr). 

ln03Digital Equipment Corporation LN03S ASCII printer. 

vt100Digital Equipment Corporation VT100 crt terminal. 

lpDefault pseudo-printer device for the man(1) and catman(1) commands. NOTE: the lp driver as supplied by Digital is linked to the vt100 device. Your system administrator can change the definition of lp to another device. 

FILES

/usr/share/lib/term/tabname
Driver tables

tabname.cSource file for the driver tables

RELATED INFORMATION

tty(7)
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026