|
|
coherent
troff Command troff
Extended text-formatting language
ttrrooffff [_o_p_t_i_o_n ...] [_f_i_l_e ...]
The command ttrrooffff is the COHERENT typesetter and text-formatting
language. It performs typeset-quality text formatting, suitable
for printing on either the Hewlett-Packard LaserJet II or III
printers, or on any printer for which the PostScript language has
been implemented.
***** troff Input *****
ttrrooffff processes each given _f_i_l_e, or the standard input if none is
specified, and prints the formatted result on the standard
output. The input must consist of text with formatting commands
embedded within it.
ttrrooffff provides a full suite of commands that set line length,
page length and page offset, generate vertical and horizontal
motions, indentation, fill and adjust output lines, and center
text. The great flexibility of ttrrooffff lies in its acceptance of
user-defined macros to control almost all higher-level
formatting. For example, the formation of paragraphs, header and
footer areas, and footnotes must all be implemented by the user
via macros.
ttrrooffff uses a supeerset of the commands and syntax used by nnrrooffff,
the other COHERENT text-formatter: files prepared for the latter
usually can be processed through the former without requiring any
changes. ttrrooffff differs from nnrrooffff in that nnrrooffff can perform only
monospaced formatting, whereas ttrrooffff can handle multiple fonts of
type, both monospaced and proportionally spaced. It lets you
load font-width tables dynamically, so you can whatever fonts you
have loaded into your printer at a given time. ttrrooffff also lets
you move about the page in increments other than sixths of an
inch vertically or tenths of an inch horizontally.
ttrrooffff produces output either in the Hewlett-Packard Printer
Control Language (PCL) or PostScript, whichever you prefer. The
former can be printed on the Hewlett-Packard LaserJet family of
laser printer, and can use any PCL bitmapped ``soft font''. The
latter can be printed on any printer that supports the PostScript
language, and can use any font for which you have an Adobe Font
Metric (AFM) description. The default is PCL output; to obtain
PostScript, use the -pp command-line option.
***** Fonts *****
The COHERENT version of ttrrooffff produces output suitable for
printing on a Hewlett-Packard LaserJet or HP-compatible laser
printer, using either PCL or PostScript. ttrrooffff knows about three
fonts by default, as follows:
COHERENT Lexicon Page 1
troff Command troff
\fR Times Roman
\fI Times Italic
\fB Times Bold
ttrrooffff also recognizes the alternative font names TTRR, TTII and TTBB
for the same three Times family fonts. The default font
information for ttrrooffff is in file /uussrr/lliibb/rrooffff/ttrrooffff_ppccll/ffoonnttss.rr
or /uussrr/lliibb/rrooffff/ttrrooffff_ppss/ffoonnttss.rr, as described in detail below.
To use other fonts, you must use the .llff request (see below) to
load a _f_o_n_t _w_i_d_t_h _t_a_b_l_e. The font width table is a binary file
that describes the width of each character in the font and the
printer command (escape sequence) needed to tell the printer to
use the font. The program ffwwttaabbllee builds a font width table from
a PCL bitmap font or from a PostScript AFM description. See its
Lexicon entry for details on its use.
ttrrooffff output includes a printer command for each desired font
change. You must use the hhpprr command to download bitmapped _s_o_f_t
_f_o_n_t_s (fonts that are always resident in the printer) to the
printer before printing ttrrooffff output that uses the soft fonts.
If a specified font is not available in the printer, the output
will not be what you expect.
***** Command-line Options *****
Command-line options may be listed in any order. They are as
follows:
-dd Debug: print each request before execution. This option
is very useful when you are writing and debugging new
macros.
-DD Display the available fonts. These are all the fonts
that have been loaded into ttrrooffff with the .llff primitive
(described below).
-ff _n_a_m_e Write the temporary file into file _n_a_m_e.
-ii _f_i_l_e_s
Read from the standard input after reading the given
_f_i_l_e_s.
-kk Keep: do not erase the temporary file.
-ll Landscape mode: output is rotated 90 degrees, with
default size 11 by 8.5 inches rather than 8.5 by 11
inches.
-mm_n_a_m_e Include the macro file /uussrr/lliibb/ttmmaacc._n_a_m_e in the input
stream.
COHERENT Lexicon Page 2
troff Command troff
-nn_N Number the first page of output _N.
-pp Produce output for a PostScript printer rather than for a
HP-compatible printer.
-rr_a_N Set number register _a to the value _N.
-xx Do not eject to the bottom of the last page when text
ends. This option lets you use ttrrooffff interactively,
which is especially useful when debugging macros.
If the environmental variable TTRROOFFFF is set when ttrrooffff is invoked,
its contents are prefixed to the list of command-line arguments.
This allows the user to set commonly used options once in the
environment rather than on each ttrrooffff command line.
***** troff's Primitives *****
As noted earlier, ttrrooffff's command set is a superset of that used
by nnrrooffff: see the Lexicon entry on nnrrooffff for information on the
commands and escape sequences shared by ttrrooffff and nnrrooffff. This
article describes the primitives that ttrrooffff does _n_o_t share with
nnrrooffff.
Please note that the basic ttrrooffff unit is one-tenth of a point. A
printer's point is 1/12 of a pica, which is in turn one-sixth of
an inch; therefore, there are 72 points and 720 ttrrooffff units in an
inch.
.ccoo _e_n_d_m_a_r_k
Copy input to output file directly, with no processing. If
_e_n_d_m_a_r_k argument is present, ttrrooffff copies input until it
finds a line containing _e_n_d_m_a_r_k followed by \nn. If no
_e_n_d_m_a_r_k is given, ttrrooffff copies input until it finds a line
containing .ccoo\nn. This directive is useful for embedding
PostScript commands in an input file.
.ccss _X_X _N _M
Set font _X_X to use constant character spacing. The width of
each character is _N divided by 36 ems. If _M is present, it
specifies the width of an em; otherwise, _N assumes the
point size em for the given font.
.ffdd Display the currently available fonts.
.ffpp _N _X_X
Associate font name _X_X with numeric font position _N. The
given _N should be a number between 1 and 9. Subsequently,
the numeric font position can be used in an escape sequence
\ff_N to select the font. (This nomenclature comes from the
days when phototypesetters used print wheels that were set
in fixed positions on the device.) The nnrrooffff primitive .rrff
performs a similar task, and is more flexible in its syntax.
COHERENT Lexicon Page 3
troff Command troff
.ffzz _X_X _N
Fix the point size of font _X_X at _N. The point size of the
font will not be affected by subsequent .ppss commands or \ss_N
point size escapes.
.llff _X_X _f_i_l_e [_n]
Load font width table from _f_i_l_e and use it for font _X_X. If
_f_i_l_e is not found, ttrrooffff looks for
/uussrr/lliibb/rrooffff/ttrrooffff_ppccll/ffwwtt/_f_i_l_e or
/uussrr/lliibb/rrooffff/ttrrooffff_ppss/ffwwtt/_f_i_l_e (depending on whether the -pp
option is used).
The optional third argument sets the default point size of
the loaded font to _n. Note that this argument takes effect
only if ttrrooffff is running in -pp (PostScript) mode.
For example, to load the font-width table for the PCL
bitmapped font ccnn009900rrppnn.uusspp (which sets Century Roman, nine
point, portrait mode) and name it font RRSS, use the command:
.lf RS cn090rpn.usp
To do the same thing under PostScript, use the command:
.lf RS Century_R.fwt 9
Thereafter, you can reference font RRSS with either .fftt RRSS or
\ff(RRSS.
Note that the second argument to this primitive must name a
font-width table generated by the COHERENT command ffwwttaabbllee,
not the font itself, although both may have the same name.
Look in directories /uussrr/lliibb/rrooffff/ttrrooffff*/ffwwtt for the set of
font-width tables that are included with COHERENT. If you
purchase additional PCL fonts, you must use ffwwttaabbllee to
generate font-width tables for them. Note, too, that if you
are using ttrrooffff in PCL mode, you must both load the font-
width table into ttrrooffff and use the command hhpprr to load the
font itself into your printer: doing one without the other
will not produce the results you desire.
Finally, please note that .llff is unique to the COHERENT
implementation of ttrrooffff, and cannot be ported to other
implementations.
.ppss _N
Set point size to _N. The default point size is 10 point.
.rrbb _f_i_l_e
Read input from _f_i_l_e and copy it to the output without
processing. This directive is useful for including files
containing PostScript routines in the output.
.ssss _N
Set the minimum word spacing to _N divided by 36 ems.
COHERENT Lexicon Page 4
troff Command troff
.vvss _Npp
Set the vertical spacing to _N points. The default vertical
spacing for ttrrooffff is 11 points.
***** Escape Sequences *****
ttrrooffff recognizes the following escape sequences, in addition to
those recognized by nnrrooffff:
\ss'NN'
Set the point-size escape sequence to _N. Like the .ppss
primitive, it changes the point size to _N. The specified _N
may have a leading plus or minus sign to make the new size
relative to the current point size.
\XX_N_N Output character _N_N where _N_N are two hexadecimal digits.
This is useful for forcing ttrrooffff to print characters outside
the normal printable range, e.g., those with the high-order
bit set. Note that this escape sequence is unique to the
COHERENT implementation of ttrrooffff and cannot be ported to
other implementations.
***** Example *****
The following example prints an enormous `E' on a Hewlett-Packard
LaserJet III:
.sp |8i
.ps 500
.ce
E
***** Printer Configuration *****
ttrrooffff reads several files in directory /uussrr/lliibb/rrooffff/ttrrooffff_ppccll
(for normal ttrrooffff) or /uussrr/lliibb/rrooffff/ttrrooffff_ppss (for PostScript
ttrrooffff) to find printer-specific information. It reads special
character definitions from file ssppeecciiaallss.rr. It reads font loading
requests from file ffoonnttss.rr. It copies file .pprree at the beginning
of the output. It copies file .ppoosstt at the end of the output.
In landscape mode, ttrrooffff looks for files .pprree_llaanndd and .ppoosstt_llaanndd
instead. You can change these files as desired to include
printer-specific commands in ttrrooffff output.
***** Files *****
/ttmmpp/rrooff* -- Temporary files
/uussrr/lliibb/ttmmaacc.* -- Standard macro packages
/uussrr/lliibb/rrooffff/ttrrooffff_ppccll/ -- Support files directory for PCL
/uussrr/lliibb/rrooffff/ttrrooffff_ppss/ -- Support files directory for PostScript
/uussrr/lliibb/rrooffff/ttrrooffff_*/.pprree -- Output prefix
/uussrr/lliibb/rrooffff/ttrrooffff_*/.pprree_llaanndd -- Output prefix, landscape mode
COHERENT Lexicon Page 5
troff Command troff
/uussrr/lliibb/rrooffff/ttrrooffff_*/.ppoosstt -- Output suffix
/uussrr/lliibb/rrooffff/ttrrooffff_*/.ppoosstt_llaanndd -- Output suffix, landscape mode
/uussrr/lliibb/rrooffff/ttrrooffff_*/ffoonnttss.rr -- Font definitions
/uussrr/lliibb/rrooffff/ttrrooffff_*/ffwwtt/ -- Directory for font width tables
/uussrr/lliibb/rrooffff/ttrrooffff_*/ssppeecciiaallss.rr -- Special character definitions
***** See Also *****
ccooll, ccoommmmaannddss, ddeerrooffff, ffwwttaabbllee, hhpprr, mmaann, mmss, nnrrooffff
_n_r_o_f_f, _T_h_e _T_e_x_t-_F_o_r_m_a_t_t_i_n_g _L_a_n_g_u_a_g_e, tutorial
Adobe Systems Incorporated: _P_o_s_t_S_c_r_i_p_t _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.
Reading, Mass.: Addison-Wesley Publishing Company, Inc., 1988.
Adobe Systems Incorporated: _P_o_s_t_S_c_r_i_p_t _L_a_n_g_u_a_g_e _T_u_t_o_r_i_a_l _a_n_d
_C_o_o_k_b_o_o_k. Reading, Mass.: Addison-Wesley Publishing Company,
Inc., 1988.
Emerson, S.L., Paulsell, K.: _t_r_o_f_f _T_y_p_e_s_e_t_t_i_n_g _f_o_r _U_n_i_x _S_y_s_t_e_m_s.
Englewood Cliffs, N.J.: Prentice-Hall, Inc., 1987 (ISBN 0-13-
930959-4).
Lawson, A.: _P_r_i_n_t_i_n_g _T_y_p_e_s: _A_n _I_n_t_r_o_d_u_c_t_i_o_n. Boston: Beacon
Press, 1971. _A_n _e_x_c_e_l_l_e_n_t, _o_n_e-_v_o_l_u_m_e _i_n_t_r_o_d_u_c_t_i_o_n _t_o _t_y_p_e _a_n_d
_t_y_p_e_s_e_t_t_i_n_g.
Tufte, E.W.: _T_h_e _V_i_s_u_a_l _D_i_s_p_l_a_y _o_f _Q_u_a_n_t_i_t_a_t_i_v_e _I_n_f_o_r_m_a_t_i_o_n.
Cheshire, Conn.: Graphics Press, 1983. _S_u_p_e_r_b_l_y _i_n_t_r_o_d_u_c_e_s _t_h_e
_s_u_b_j_e_c_t _o_f _g_r_a_p_h_i_c _d_e_s_i_g_n. _E_s_p_e_c_i_a_l_l_y _u_s_e_f_u_l _i_f _y_o_u _w_i_s_h _t_o
_e_x_p_l_o_r_e _P_o_s_t_S_c_r_i_p_t.
University of Chicago Press: _A _M_a_n_u_a_l _o_f _S_t_y_l_e _f_o_r _A_u_t_h_o_r_s,
_E_d_i_t_o_r_s, _a_n_d _C_o_p_y_w_r_i_t_e_r_s, ed. 12, revised. Chicago: University
of Chicago Press, 1969. _S_t_i_l_l _t_h_e _b_e_s_t _o_n_e-_v_o_l_u_m_e _r_e_f_e_r_e_n_c_e _f_o_r
_c_o_p_y _e_d_i_t_o_r_s: _i_f _y_o_u'_r_e _g_o_i_n_g _t_o _p_u_b_l_i_s_h _m_a_n_u_a_l_s, _y_o_u _s_h_o_u_l_d _d_o
_i_t _r_i_g_h_t.
***** Notes *****
Like nnrrooffff, ttrrooffff should be used with the macro packages mmss,
which is found in the file /uussrr/lliibb/ttmmaacc.ss, and mmaann, which is
found in the file /uussrr/lliibb/ttmmaacc.aann.
ttrrooffff output, unlike that of nnrrooffff, cannot be processed through a
terminal driver.
Laser printers cannot print on an area near each edge of the
output page. Output sent to the unprintable area will disappear.
On some printers, the _l_o_g_i_c_a_l _p_a_g_e does not correspond to the
_p_h_y_s_i_c_a_l _p_a_g_e, so printed ttrrooffff output may be offset from the
specified position on the physical page.
COHERENT Lexicon Page 6
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.