1*7c478bd9Sstevel@tonic-gate# 2*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate# 4*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate# with the License. 8*7c478bd9Sstevel@tonic-gate# 9*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate# and limitations under the License. 13*7c478bd9Sstevel@tonic-gate# 14*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate# 20*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate# 22*7c478bd9Sstevel@tonic-gate# 23*7c478bd9Sstevel@tonic-gate# Copyright 1989 Sun Microsystems, Inc. All rights reserved. 24*7c478bd9Sstevel@tonic-gate# Use is subject to license terms. 25*7c478bd9Sstevel@tonic-gate# 26*7c478bd9Sstevel@tonic-gate 27*7c478bd9Sstevel@tonic-gate#ident "%Z%%M% %I% %E% SMI" 28*7c478bd9Sstevel@tonic-gate 29*7c478bd9Sstevel@tonic-gate# 30*7c478bd9Sstevel@tonic-gate# University Copyright- Copyright (c) 1982, 1986, 1988 31*7c478bd9Sstevel@tonic-gate# The Regents of the University of California 32*7c478bd9Sstevel@tonic-gate# All Rights Reserved 33*7c478bd9Sstevel@tonic-gate# 34*7c478bd9Sstevel@tonic-gate# University Acknowledgment- Portions of this document are derived from 35*7c478bd9Sstevel@tonic-gate# software developed by the University of California, Berkeley, and its 36*7c478bd9Sstevel@tonic-gate# contributors. 37*7c478bd9Sstevel@tonic-gate# 38*7c478bd9Sstevel@tonic-gate 39*7c478bd9Sstevel@tonic-gateThe troff in this directory 40*7c478bd9Sstevel@tonic-gateis a troff that produces machine-independent output. 41*7c478bd9Sstevel@tonic-gateIt requires a file of descriptive information about 42*7c478bd9Sstevel@tonic-gatethe particular typesetter you have in mind, and produces 43*7c478bd9Sstevel@tonic-gateoutput parameterized for that device. 44*7c478bd9Sstevel@tonic-gate 45*7c478bd9Sstevel@tonic-gateThus: 46*7c478bd9Sstevel@tonic-gate troff -Taps ... 47*7c478bd9Sstevel@tonic-gateproduces output for the Autologic APS-5. 48*7c478bd9Sstevel@tonic-gate(This is the default.) 49*7c478bd9Sstevel@tonic-gate 50*7c478bd9Sstevel@tonic-gateTo make this work, you need two things. 51*7c478bd9Sstevel@tonic-gateFirst, you need to create a set of 52*7c478bd9Sstevel@tonic-gatedevice and font descriptions in the directory 53*7c478bd9Sstevel@tonic-gate /usr/doctools/font/devxxx 54*7c478bd9Sstevel@tonic-gatewhere "xxx" is your device name. 55*7c478bd9Sstevel@tonic-gateCurrently supported device is 56*7c478bd9Sstevel@tonic-gate aps Autologic APS-5 phototypesetter 57*7c478bd9Sstevel@tonic-gateSource for this device is found in the subdirectory 58*7c478bd9Sstevel@tonic-gatedevaps of this directory. 59*7c478bd9Sstevel@tonic-gate 60*7c478bd9Sstevel@tonic-gateThe file "DESC" contains information about the 61*7c478bd9Sstevel@tonic-gatedevice itself and the character set. (See devaps/DESC.) 62*7c478bd9Sstevel@tonic-gate 63*7c478bd9Sstevel@tonic-gateIn addition, each font needs a file describing its 64*7c478bd9Sstevel@tonic-gatecharacters, width and device-driving codes; 65*7c478bd9Sstevel@tonic-gatesee R and S for typical examples. 66*7c478bd9Sstevel@tonic-gate 67*7c478bd9Sstevel@tonic-gateThe program "makedev" will convert these text 68*7c478bd9Sstevel@tonic-gatedescriptions into a binary form that the troff can 69*7c478bd9Sstevel@tonic-gateslurp up in a single gulp during initialization; 70*7c478bd9Sstevel@tonic-gatethese wind up in DESC.out (which includes 71*7c478bd9Sstevel@tonic-gatedefault font info) and XX.out for info about font XX. 72*7c478bd9Sstevel@tonic-gate 73*7c478bd9Sstevel@tonic-gateThe second half of the job is to write a post-processor 74*7c478bd9Sstevel@tonic-gatethat converts the more or less machine-independent troff 75*7c478bd9Sstevel@tonic-gateoutput into specific codes for your favorite typesetter. 76*7c478bd9Sstevel@tonic-gatedaps.c is the driver for the APS-5; 77*7c478bd9Sstevel@tonic-gateit will serve as a useful prototype. In particular, 78*7c478bd9Sstevel@tonic-gateit contains a precise description of the output language. 79*7c478bd9Sstevel@tonic-gate ta prints ascii on ordinary terminals (crudely) 80*7c478bd9Sstevel@tonic-gate 81*7c478bd9Sstevel@tonic-gateOne can always simply run 82*7c478bd9Sstevel@tonic-gate troff 83*7c478bd9Sstevel@tonic-gateand look at the output; it is guaranteed to be ascii text 84*7c478bd9Sstevel@tonic-gateand thus safe to edit, grep, etc. 85*7c478bd9Sstevel@tonic-gate(Since it is ascii, it is also guaranteed to be quite voluminous.) 86*7c478bd9Sstevel@tonic-gate 87*7c478bd9Sstevel@tonic-gateThe recommended way to create the necessary files to make troff 88*7c478bd9Sstevel@tonic-gateable to communicate with a new output device 89*7c478bd9Sstevel@tonic-gateis to pick the most similar device for which this software 90*7c478bd9Sstevel@tonic-gatealready exists, and modify it to suit the new device. 91*7c478bd9Sstevel@tonic-gate 92*7c478bd9Sstevel@tonic-gateThis release contains prototype software for one 93*7c478bd9Sstevel@tonic-gatetype of device -- a phototypesetter (devaps) 94*7c478bd9Sstevel@tonic-gateThe devaps subtree contains 95*7c478bd9Sstevel@tonic-gateprofusely-commented programs and strategically placed README 96*7c478bd9Sstevel@tonic-gatefiles to help guide the experienced user in making 97*7c478bd9Sstevel@tonic-gatemodifications to these files. 98*7c478bd9Sstevel@tonic-gate 99*7c478bd9Sstevel@tonic-gateTwo other source of information for users who wish to delve 100*7c478bd9Sstevel@tonic-gatedeeply into this software are the manual pages 101*7c478bd9Sstevel@tonic-gatetroff(5), which describes the output language produced by troff, 102*7c478bd9Sstevel@tonic-gateand font(5), which describes the format of the device 103*7c478bd9Sstevel@tonic-gateand font description files. 104*7c478bd9Sstevel@tonic-gate 105*7c478bd9Sstevel@tonic-gate----------------------------------------------------------------------------- 106*7c478bd9Sstevel@tonic-gate 107*7c478bd9Sstevel@tonic-gateChanges since the original release: 108*7c478bd9Sstevel@tonic-gate 109*7c478bd9Sstevel@tonic-gateJanuary, 1985: 110*7c478bd9Sstevel@tonic-gate 111*7c478bd9Sstevel@tonic-gateAdded optional 3rd argument to .fp command: 112*7c478bd9Sstevel@tonic-gate .fp 3 xx longishname 113*7c478bd9Sstevel@tonic-gatecauses font to be called xx but data is loaded 114*7c478bd9Sstevel@tonic-gatefrom longishname.out instead of xx.out. 115*7c478bd9Sstevel@tonic-gateThe intent is to deal with the proliferation of fonts. 116*7c478bd9Sstevel@tonic-gate 117*7c478bd9Sstevel@tonic-gateTurned NBLIST up to 2048 so can handle really big 118*7c478bd9Sstevel@tonic-gatediversions. Tends to blow various systems. 119*7c478bd9Sstevel@tonic-gate 120*7c478bd9Sstevel@tonic-gateDecember 1984: 121*7c478bd9Sstevel@tonic-gate 122*7c478bd9Sstevel@tonic-gateNroff modified to read ascii tables for various devices 123*7c478bd9Sstevel@tonic-gateinstead of the compiled C code nonsense. Only a few 124*7c478bd9Sstevel@tonic-gatetables converted; details of language still subject to 125*7c478bd9Sstevel@tonic-gatechange. 126*7c478bd9Sstevel@tonic-gate 127*7c478bd9Sstevel@tonic-gateSeptember 1984: 128*7c478bd9Sstevel@tonic-gate 129*7c478bd9Sstevel@tonic-gateAdded Molly Wagner's code to prevent side effects 130*7c478bd9Sstevel@tonic-gateduring scanning of false branch of an if. 131*7c478bd9Sstevel@tonic-gate 132*7c478bd9Sstevel@tonic-gateAdded test warning when one removes a macro during 133*7c478bd9Sstevel@tonic-gateits execution (more precisely, warning when a macro 134*7c478bd9Sstevel@tonic-gateevaluation has encountered a freed block). 135*7c478bd9Sstevel@tonic-gate[Disabled Nov 84; it seemed to cause troubles] 136*7c478bd9Sstevel@tonic-gate 137*7c478bd9Sstevel@tonic-gateNS = 128; devname[] is bigger; turned off the -t 138*7c478bd9Sstevel@tonic-gateargument (it could be a synonym for -T but that's 139*7c478bd9Sstevel@tonic-gateprobably just as risky.) 140*7c478bd9Sstevel@tonic-gate 141*7c478bd9Sstevel@tonic-gateJuly, 1984: 142*7c478bd9Sstevel@tonic-gate 143*7c478bd9Sstevel@tonic-gateAdded TYPESETTER environment variable 144*7c478bd9Sstevel@tonic-gate 145*7c478bd9Sstevel@tonic-gateAdded \X'...' command: ... comes out as 146*7c478bd9Sstevel@tonic-gate x X ...\n in proper place. (doesn't nest) 147*7c478bd9Sstevel@tonic-gate 148*7c478bd9Sstevel@tonic-gateIn \D comands, unrecognized command letters are passed through 149*7c478bd9Sstevel@tonic-gateuntouched. This makes it possible to define things like other 150*7c478bd9Sstevel@tonic-gatesplines, filled polygons, etc. 151*7c478bd9Sstevel@tonic-gate 152*7c478bd9Sstevel@tonic-gate\s(dd, \s(+dd, \s(-dd size commands. 153*7c478bd9Sstevel@tonic-gate 154*7c478bd9Sstevel@tonic-gateAdded .lf line filename to set current line number & filename 155*7c478bd9Sstevel@tonic-gate 156*7c478bd9Sstevel@tonic-gateAdded Dan Berry's fixes to handle horizontal resolution properly. 157*7c478bd9Sstevel@tonic-gate 158*7c478bd9Sstevel@tonic-gateNew, March 1984: 159*7c478bd9Sstevel@tonic-gate 160*7c478bd9Sstevel@tonic-gateDennis Ritchie's hashed macro and number register tables; 161*7c478bd9Sstevel@tonic-gatecached width computations, general cleanup. 162*7c478bd9Sstevel@tonic-gateMinor work on de-linting. 163*7c478bd9Sstevel@tonic-gate 164*7c478bd9Sstevel@tonic-gateNew comments 9/16/83 165*7c478bd9Sstevel@tonic-gate 166*7c478bd9Sstevel@tonic-gateThis version is the current evolution of 8th Edition troff. 167*7c478bd9Sstevel@tonic-gateThe only changes of substance since the export version are 168*7c478bd9Sstevel@tonic-gate 169*7c478bd9Sstevel@tonic-gate the end of a sentence is more general; things like 170*7c478bd9Sstevel@tonic-gate ." .!'' etc are recognized and padded 171*7c478bd9Sstevel@tonic-gate 172*7c478bd9Sstevel@tonic-gate the "font too big for position n" error can no longer arise. 173*7c478bd9Sstevel@tonic-gate makedev has a new parameter called biggestfont that 174*7c478bd9Sstevel@tonic-gate ensures that all font positions are at least that big. 175*7c478bd9Sstevel@tonic-gate this eliminates the "font X too big for position Y" message 176*7c478bd9Sstevel@tonic-gate 177*7c478bd9Sstevel@tonic-gate some minor bugs fixes have been made: 178*7c478bd9Sstevel@tonic-gate doesn't look for ligatures in \nf 179*7c478bd9Sstevel@tonic-gate doesn't put out WORDSP in -a 180*7c478bd9Sstevel@tonic-gate 181*7c478bd9Sstevel@tonic-gate troff no longer produces \^ and \| on output, 182*7c478bd9Sstevel@tonic-gate but this hasn't been tested much since it takes 183*7c478bd9Sstevel@tonic-gate character set changes too. 184*7c478bd9Sstevel@tonic-gate 185