Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nroff(1)

tbl(1)

ul(1)

man(5)

col(1)

NAME

col − filter reverse line-feeds and backspaces

SYNOPSIS

col [-blfxp]

DESCRIPTION

col reads from the standard input and writes onto the standard output.  It performs the line overlays implied by reverse line feeds (ASCII code ESC-7), and by forward and reverse half-line feeds (ESC-9 and ESC-8).  col is particularly useful for filtering multi-column output made with the nroff .rt command, and output resulting from use of the tbl preprocessor (see nroff(1) and tbl(1)).

If the -b option is given, col assumes that the output device in use is not capable of backspacing.  In this case, if two or more characters are to appear in the same place, only the last one read is output. 

If the -l option is given, col assumes the output device is a line printer (rather than a character printer) and removes backspaces in favor of multiply overstruck full lines.  It generates the minimum number of print operations necessary to generate the required number of overstrikes.  (All but the last print operation on a line are separated by carriage returns (\r); the last print operation is terminated by a newline (\n).) 

Although col accepts half-line motions in its input, it normally does not emit them on output.  Instead, text that would appear between lines is moved to the next lower full-line boundary.  This treatment can be suppressed by the -f (fine) option; in this case, the output from col may contain forward half-line feeds (ESC-9), but will still never contain either kind of reverse line motion. 

Unless the -x option is given, col converts white space to tabs on output wherever possible to shorten printing time. 

The ASCII control characters SO (\016) and SI (\017) are assumed by col to start and end text in an alternate character set.  The character set to which each input character belongs is remembered, and on output SI and SO characters are generated as appropriate to ensure that each character is printed in the correct character set. 

On input, the only control characters accepted are space, backspace, tab, return, new-line, SI , SO , and VT , (\013), and ESC followed by 7, 8, or 9.  The VT character is an alternate form of full reverse line-feed, included for compatibility with some earlier programs of this type.  All other non-printing characters are ignored. 

Normally, col ignores any unrecognized escape sequences found in its input; the -p option can be used to cause col to output these sequences as regular characters, subject to overprinting from reverse line motions.  The use of this option is highly discouraged unless the user is fully aware of the textual position of the escape sequences. 

EXTERNAL INFLUENCES

Environment Variables

LC_CTYPE determines the interpretation of text as single and/or multi-byte characters. 

LANG determines the language in which messages are displayed. 

If LC_CTYPE is not specified in the environment or is set to the empty string, the value of LANG is used as a default for each unspecified or empty variable.  If LANG is not specified or is set to the empty string, a default of "C" (see lang(5)) is used instead of LANG.  If any internationalization variable contains an invalid setting, col behaves as if all internationalization variables are set to "C".  See environ(5).

International Code Set Support

Single- and multi-byte character code sets are supported. 

EXAMPLES

col is used most often with nroff and tbl.  A common usage is:

tbl filename | nroff -man | col | more -s

(very similar to the usual man(1) command). This command allows vertical bars and outer boxes to be printed for tables. The file is run through the tbl proprocessor, and the output is then piped through nroff, formatting the output using the -man macros.  The formatted output is then piped through col, which sets up the vertical bars and aligns the columns in the file.  The file is finally piped through the more command, which prints the output to the screen with underlining and highlighting substituted for italic and bold typefaces.  The -s option deletes excess space from the output so that multiple blank lines are not printed to the screen. 

SEE ALSO

nroff(1), tbl(1), ul(1), man(5). 

NOTES

The input format accepted by col matches the output produced by nroff with either the -T37 or -Tlp options.  Use -T37 (and the -f option of col) if the ultimate disposition of the output of col is a device that can interpret half-line motions, and -Tlp otherwise. 

BUGS

Cannot back up more than 128 lines.  Cannot back up across page boundaries. 

There is a maximum limit for the number of characters, including backspaces and overstrikes, on a line.  The maximum limit is at least 800 characters. 

Local vertical motions that would result in backing up over the first line of the document are ignored.  As a result, the first line must not have any superscripts. 

STANDARDS CONFORMANCE

col: SVID2, XPG2, XPG3

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

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