2# CDDL HEADER START
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License, Version 1.0 only
6# (the "License"). You may not use this file except in compliance
7# with the License.
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
20# CDDL HEADER END
23# Copyright 1989 Sun Microsystems, Inc. All rights reserved.
24# Use is subject to license terms.
27#ident "%Z%%M% %I% %E% SMI"
30# University Copyright- Copyright (c) 1982, 1986, 1988
31# The Regents of the University of California
32# All Rights Reserved
34# University Acknowledgment- Portions of this document are derived from
35# software developed by the University of California, Berkeley, and its
39The troff in this directory
40is a troff that produces machine-independent output.
41It requires a file of descriptive information about
42the particular typesetter you have in mind, and produces
43output parameterized for that device.
46 troff -Taps ...
47produces output for the Autologic APS-5.
48(This is the default.)
50To make this work, you need two things.
51First, you need to create a set of
52device and font descriptions in the directory
54where "xxx" is your device name.
55Currently supported device is
56 aps Autologic APS-5 phototypesetter
57Source for this device is found in the subdirectory
58devaps of this directory.
60The file "DESC" contains information about the
61device itself and the character set. (See devaps/DESC.)
63In addition, each font needs a file describing its
64characters, width and device-driving codes;
65see R and S for typical examples.
67The program "makedev" will convert these text
68descriptions into a binary form that the troff can
69slurp up in a single gulp during initialization;
70these wind up in DESC.out (which includes
71default font info) and XX.out for info about font XX.
73The second half of the job is to write a post-processor
74that converts the more or less machine-independent troff
75output into specific codes for your favorite typesetter.
76daps.c is the driver for the APS-5;
77it will serve as a useful prototype. In particular,
78it contains a precise description of the output language.
79 ta prints ascii on ordinary terminals (crudely)
81One can always simply run
83and look at the output; it is guaranteed to be ascii text
84and thus safe to edit, grep, etc.
85(Since it is ascii, it is also guaranteed to be quite voluminous.)
87The recommended way to create the necessary files to make troff
88able to communicate with a new output device
89is to pick the most similar device for which this software
90already exists, and modify it to suit the new device.
92This release contains prototype software for one
93type of device -- a phototypesetter (devaps)
94The devaps subtree contains
95profusely-commented programs and strategically placed README
96files to help guide the experienced user in making
97modifications to these files.
99Two other source of information for users who wish to delve
100deeply into this software are the manual pages
101troff(5), which describes the output language produced by troff,
102and font(5), which describes the format of the device
103and font description files.
107Changes since the original release:
111Added optional 3rd argument to .fp command:
112 .fp 3 xx longishname
113causes font to be called xx but data is loaded
114from longishname.out instead of xx.out.
115The intent is to deal with the proliferation of fonts.
117Turned NBLIST up to 2048 so can handle really big
118diversions. Tends to blow various systems.
122Nroff modified to read ascii tables for various devices
123instead of the compiled C code nonsense. Only a few
124tables converted; details of language still subject to
129Added Molly Wagner's code to prevent side effects
130during scanning of false branch of an if.
132Added test warning when one removes a macro during
133its execution (more precisely, warning when a macro
134evaluation has encountered a freed block).
135[Disabled Nov 84; it seemed to cause troubles]
137NS = 128; devname is bigger; turned off the -t
138argument (it could be a synonym for -T but that's
139probably just as risky.)
143Added TYPESETTER environment variable
145Added \X'...' command: ... comes out as
146 x X ...\n in proper place. (doesn't nest)
148In \D comands, unrecognized command letters are passed through
149untouched. This makes it possible to define things like other
150splines, filled polygons, etc.
152\s(dd, \s(+dd, \s(-dd size commands.
154Added .lf line filename to set current line number & filename
156Added Dan Berry's fixes to handle horizontal resolution properly.
158New, March 1984:
160Dennis Ritchie's hashed macro and number register tables;
161cached width computations, general cleanup.
162Minor work on de-linting.
164New comments 9/16/83
166This version is the current evolution of 8th Edition troff.
167The only changes of substance since the export version are
169 the end of a sentence is more general; things like
170 ." .!'' etc are recognized and padded
172 the "font too big for position n" error can no longer arise.
173 makedev has a new parameter called biggestfont that
174 ensures that all font positions are at least that big.
175 this eliminates the "font X too big for position Y" message
177 some minor bugs fixes have been made:
178 doesn't look for ligatures in \nf
179 doesn't put out WORDSP in -a
181 troff no longer produces \^ and \| on output,
182 but this hasn't been tested much since it takes
183 character set changes too.