761 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			761 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	manual page for cawf(1)
 | |
| .\"
 | |
| .\"
 | |
| .\"	Copyright (c) 1991 Purdue University Research Foundation,
 | |
| .\"	West Lafayette, Indiana 47907.  All rights reserved.
 | |
| .\"
 | |
| .\"	Written by Victor A. Abell <abe@cc.purdue.edu>,  Purdue
 | |
| .\"	University Computing Center.  Not derived from licensed software;
 | |
| .\"	derived from awf(1) by Henry Spencer of the University of Toronto.
 | |
| .\"
 | |
| .\"	Permission is granted to anyone to use this software for any
 | |
| .\"	purpose on any computer system, and to alter it and redistribute
 | |
| .\"	it freely, subject to the following restrictions:
 | |
| .\"
 | |
| .\"	1. The author is not responsible for any consequences of use of
 | |
| .\"	   this software, even if they arise from flaws in it.
 | |
| .\"
 | |
| .\"	2. The origin of this software must not be misrepresented, either
 | |
| .\"	   by explicit claim or by omission.  Credits must appear in the
 | |
| .\"	   documentation.
 | |
| .\"
 | |
| .\"	3. Altered versions must be plainly marked as such, and must not
 | |
| .\"	   be misrepresented as being the original software.  Credits must
 | |
| .\"	   appear in the documentation.
 | |
| .\"
 | |
| .\"	4. This notice may not be removed or altered.
 | |
| .\"
 | |
| .\" Some of the stuff in this file is a bit contorted, because it's also
 | |
| .\" the regression-test input.
 | |
| .nr ES 5n
 | |
| .de ES
 | |
| .PP
 | |
| .in +\\n(ESu
 | |
| .nf
 | |
| ..
 | |
| .de EE
 | |
| .in -\\n(ESu
 | |
| .fi
 | |
| .PP
 | |
| ..
 | |
| .de PT
 | |
| .ie \\n(.$>1 .TP "\\$2"
 | |
| .el .TP
 | |
| .ie !'\\$1'' \\$1
 | |
| .el \(bu
 | |
| ..
 | |
| .ds Nr \fInroff\fR
 | |
| .TH CAWF 1 "November, 1992"
 | |
| .BY "Purdue University"
 | |
| .SH NAME
 | |
| cawf, nroff \- C version of the nroff-like, Amazingly Workable (text) Formatter
 | |
| .SH SYNOPSIS
 | |
| .B cawf
 | |
| .RB [ \-c\c
 | |
| .IR config ]
 | |
| .RB [ \-d\c
 | |
| .IR device ]
 | |
| .RB [ \-e ]
 | |
| .RB [ \-f\c
 | |
| .IR font ]
 | |
| .RB [ \-h ]
 | |
| .RB [ \-m\c
 | |
| .IR acros ]
 | |
| .RI [ file " ...]"
 | |
| .SH DESCRIPTION
 | |
| .I Cawf
 | |
| formats the text from the input \fIfile\fR(s)
 | |
| (standard input if none)
 | |
| in an approximation of \*(Nr.
 | |
| It comes closest to duplicating \*(Nr's
 | |
| .B man
 | |
| or
 | |
| .B ms
 | |
| macro package styles.
 | |
| It has some limited support for \*(Nr's
 | |
| .B me
 | |
| macros.
 | |
| .SH OPTIONS
 | |
| Options must precede file names.
 | |
| .TP
 | |
| .BI \-c config
 | |
| defines an alternate path to the device configuration file.
 | |
| Normally the device configuration file is found in
 | |
| .I device.cf
 | |
| in the
 | |
| .I cawf
 | |
| library (see the
 | |
| .B FILES
 | |
| section).
 | |
| .IP
 | |
| The device configuration file contains device character strings for
 | |
| selecting fonts and the bold or italic type faces.
 | |
| See the
 | |
| .B DEVICES
 | |
| section for more information.
 | |
| .TP
 | |
| .BI \-d device
 | |
| specifies the name of the output device.
 | |
| There are three built\-in devices \- ANSI, NONE and NORMAL \- and
 | |
| other devices may be defined in the device configuration file.
 | |
| See the
 | |
| .B DEVICES
 | |
| section for more information.
 | |
| .IP
 | |
| The NORMAL device is the default.
 | |
| .TP
 | |
| .B \-e
 | |
| directs
 | |
| .I cawf
 | |
| to issue an eject (FF or ^L) after the last page.
 | |
| .TP
 | |
| .BI \-f font
 | |
| specifies the one font for the device, declared with the
 | |
| .BI \-d device
 | |
| option, that is to be used for the
 | |
| entire document.
 | |
| .I Font
 | |
| must match a font associated with the device's stanza in the device
 | |
| configuration file.
 | |
| See the
 | |
| .B DEVICES
 | |
| section for more information.
 | |
| .IP
 | |
| No
 | |
| .I font
 | |
| may be specified for the built\-in devices ANSI, NONE or NORMAL.
 | |
| .TP
 | |
| .B \-h
 | |
| requests a help display.
 | |
| .TP
 | |
| .BI \-m acro
 | |
| specifies the macro file to be used.
 | |
| The standard
 | |
| .I cawf
 | |
| distribution supplies macro files to support ``\-man'', ``\-me'' or ``\-ms''.
 | |
| .I Cawf
 | |
| finds a macro file by constructing its name from `m',
 | |
| .I acro
 | |
| and
 | |
| .B .mac
 | |
| \- e. g.,
 | |
| .BI \-m an
 | |
| is converted to
 | |
| .BR man.mac .
 | |
| The default directory for macro files is defined when
 | |
| .I cawf
 | |
| is compiled; it's \fIC:\\SYS\\LIB\\CAWF\fP in the MS\-DOS environment;
 | |
| .I /usr/lib/cawf
 | |
| in the UNIX environment.
 | |
| .TP
 | |
| file ...
 | |
| are the names of files containing \*(Nr source text.
 | |
| .SH NROFF COMPATIBILITY
 | |
| .I Cawf
 | |
| accepts the following raw \*(Nr requests:
 | |
| .ES
 | |
| \&.\e"	.ad	.bp	.br	.ce	.de	.di	.ds
 | |
| \&.el	.fi	.fl	.ft	.i0	.ie	.if	.in
 | |
| \&.it	.lg	.li	.ll	.ls	.na	.ne	.nf
 | |
| \&.nr	.ns	.pl	.po	.ps	.rm	.rn	.rr
 | |
| \&.rs	.so	.sp	.ta	.ti	.tm	.tr
 | |
| .EE
 | |
| and the following in-text codes:
 | |
| .ES
 | |
| \e$	\e%	\e*	\e"	\ec	\ef	\eh	\ek
 | |
| \en	\es	\ew
 | |
| .EE
 | |
| plus the full list of \*(Nr/\c
 | |
| .I troff
 | |
| special characters in
 | |
| the original V7 \fItroff\fR manual.
 | |
| .PP
 | |
| Many restrictions are present; the behavior in general is a subset of
 | |
| \*(Nr's.  Of particular note are the following:
 | |
| .IP \(bu 2
 | |
| The fully supported nroff request control character is the period.
 | |
| There is limited support for the  non\-break, acute accent control
 | |
| character.
 | |
| .PT
 | |
| Point sizes do not exist;
 | |
| .B .ps
 | |
| is ignored.
 | |
| .PT
 | |
| Special vertical spacing \- the
 | |
| .B .vs
 | |
| request included \- is ignored.
 | |
| .PT
 | |
| Conditionals cover only the numeric comparisons >, =, <, >= and <= on
 | |
| .BR \en(.$ ;
 | |
| string com\%par\%isons between a macro parameter and a literal;
 | |
| .B n
 | |
| (always true);
 | |
| and
 | |
| .BR t
 | |
| (always false).
 | |
| Only single line input is accepted from conditionals;
 | |
| multi\-line input \- e.g., \\(\fIanything\fP\\) \- is not supported.
 | |
| .PT
 | |
| The handling of strings is generally primitive.
 | |
| .IP \(bu
 | |
| Horizontal motion via
 | |
| .B \eh
 | |
| must be supplied with a number register interpolation and must be
 | |
| positive - e. g.,
 | |
| .BR \ew\en(NN ,
 | |
| where the value in NN is >= 0.
 | |
| .IP \(bu
 | |
| The
 | |
| .B \ek
 | |
| function is reliable only after TAB characters, so it is useful only
 | |
| for measuring table positions.
 | |
| .IP \(bu
 | |
| The
 | |
| .B .di
 | |
| request only turns output on and off \- any macro name is ignored.
 | |
| .IP \(bu
 | |
| Expressions - e. g.,
 | |
| .B .sp
 | |
| - are reasonably general, but the
 | |
| .BR | ,
 | |
| .BR & ,
 | |
| and
 | |
| .BR :\&
 | |
| operators do not exist, there must be white space between the end of the \*(Nr
 | |
| function and the beginning of the expression, and 
 | |
| .B \ew
 | |
| requires that quote (') be used as the delimiters.
 | |
| .B \ew
 | |
| counts the characters inside the quotes and scales the result in ens,
 | |
| so that, for example, \ew'\e(bu' equals 4n, and \ew'\e(bu'/1n equals 4.
 | |
| .PT
 | |
| The only acceptable count for the
 | |
| .B .it
 | |
| request is one,
 | |
| and it is effective only with
 | |
| .BR man ,
 | |
| .B me
 | |
| or
 | |
| .B ms
 | |
| macros.
 | |
| .PT
 | |
| The default scaling factor is `v' for the
 | |
| .BR .ne ,
 | |
| .BR .sp ,
 | |
| and
 | |
| .B .pl
 | |
| raw \*(Nr requests; it is `u' for
 | |
| .BR .nr ;
 | |
| and `n' for
 | |
| .BR .in ,
 | |
| .BR .ll ,
 | |
| .BR .ls ,
 | |
| .BR .po ,
 | |
| .BR .ta
 | |
| and
 | |
| .BR .ti .
 | |
| (A different scaling factor may be specified with a trailing character.)
 | |
| .PT
 | |
| Some obsolete or meaningless requests \-
 | |
| .BR .i0 ,
 | |
| .B .lg
 | |
| and
 | |
| .B .li
 | |
| \&\- are silently ignored.
 | |
| .P
 | |
| White space at the beginning of lines,
 | |
| and embedded white space within lines is dealt with properly.
 | |
| Sentence terminators at ends of lines are understood to imply
 | |
| extra space afterward in filled lines.
 | |
| Tabs are im\%plemented crudely and not exactly, although
 | |
| usually they work as expected.
 | |
| Hyphenation is done only at explicit hyphens, em-dashes, and \*(Nr
 | |
| discretionary hyphens.
 | |
| By default bold and italic characters are emulated with backspacing and
 | |
| overprinting, but the
 | |
| .B \-d
 | |
| and
 | |
| .B \-f
 | |
| options, combined with the contents of the device configuration file,
 | |
| may be used to generate special codes for bold and italic characters.
 | |
| (See the
 | |
| .B DEVICES
 | |
| section for more information.)
 | |
| .SH "MAN MACROS"
 | |
| The
 | |
| .B man
 | |
| macro set replicates the full V7 manual macros,
 | |
| plus a few semi-random oddballs.
 | |
| The full list is:
 | |
| .ES
 | |
| \&.AT	.B	.BI	.BR	.BY	.DE	.DT	.HP
 | |
| \&.I	.IB	.IP	.IR	.IX	.LP	.NB	.P
 | |
| \&.PD	.PP	.RB	.RE	.RI	.RS	.SH	.SM
 | |
| \&.SS	.TH	.TP	.UC
 | |
| .EE
 | |
| .B .BY
 | |
| and
 | |
| .B .NB
 | |
| each take a single string argument (respectively, an indi\%cation of
 | |
| authorship and a note about the status of the manual page) and arrange
 | |
| to place it in the page footer.
 | |
| .B .AT
 | |
| and
 | |
| .B .IX
 | |
| do nothing.
 | |
| .SH "ME MACROS"
 | |
| The
 | |
| .B me
 | |
| macro subset has been derived from the
 | |
| .I cawf
 | |
| .B ms
 | |
| macros by Chet Creider <creider@csd.uwo.ca>.
 | |
| It includes:
 | |
| .ES
 | |
| \&.(l	.(q	.)l	.)q	.b	.bu	.i	.ip
 | |
| \&.lp	.np	.pp	.r	.sh	.sm	.u	.uh
 | |
| .EE
 | |
| The .(l C and .(l L options are supported.
 | |
| In addition, the .AB, .AE, .AI, .AU, .DA, .ND, .TL and .UX macros have
 | |
| been retained from the
 | |
| .B ms
 | |
| set, and the .XP macro has been borrowed from the Berkeley additions to the
 | |
| .B ms
 | |
| macro set.
 | |
| .SH "MS MACROS"
 | |
| The
 | |
| .B ms
 | |
| macro set is a substantial subset of the V7 manuscript macros.
 | |
| The macros are:
 | |
| .ES
 | |
| \&.AB	.AE	.AI	.AU	.B	.CD	.DA	.DE
 | |
| \&.DS	.I	.ID	.IP	.LD	.LG	.LP	.ND
 | |
| \&.NH	.NL	.PP	.QE	.QP	.QS	.R	.RE
 | |
| \&.RP	.RS	.SH	.SM	.TL	.TP	.UL	.UX
 | |
| .EE
 | |
| Size changes are recognized but ignored, as are
 | |
| .B .RP
 | |
| and
 | |
| .BR .ND .
 | |
| .B .UL
 | |
| just prints its argument in italics.
 | |
| .BR .DS / .DE
 | |
| does not do a keep,
 | |
| nor do any of the other macros that normally imply keeps.
 | |
| .LP
 | |
| The
 | |
| .B DY
 | |
| string variable is available.
 | |
| The
 | |
| .BR PD ,
 | |
| .BR PI ,
 | |
| and
 | |
| .BR LL
 | |
| number registers exist and can be changed.
 | |
| .SH "HEADERS AND FOOTERS"
 | |
| .I Cawf
 | |
| allows the placement of text into the five line header and
 | |
| footer sections from the
 | |
| .BR LH ,
 | |
| .BR CH ,
 | |
| .BR RF ,
 | |
| .BR LF ,
 | |
| .BR CF ,
 | |
| and
 | |
| .B RF
 | |
| string variables, via the control of the
 | |
| .B .^b
 | |
| request:
 | |
| .LP
 | |
| .ta \w'.^b HF 0'u+3n
 | |
| .nf
 | |
| \&.^b fh 1	enables header string placement on the first page
 | |
| \&.^b fh 0	disables header string placement on the first page
 | |
| \&.^b HF 1	enables header/footer string placement
 | |
| \&.^b HF 0	disables header/footer string placement
 | |
| .fi
 | |
| .LP
 | |
| There are appropriate
 | |
| .B .^b
 | |
| requests in the distribution
 | |
| .BR man ,
 | |
| .B me
 | |
| and
 | |
| .B ms
 | |
| macro files.
 | |
| (The
 | |
| .B me
 | |
| and
 | |
| .B ms
 | |
| macro files use another
 | |
| .B .^b
 | |
| request, \fB.^b NH\fP, to enable numbered header processing.)
 | |
| .SH OUTPUT
 | |
| The default output format supported by
 | |
| .IR cawf ,
 | |
| in its distributed form,
 | |
| is that appropriate to a dumb terminal,
 | |
| using overprinting for italics (via underlining) and bold.
 | |
| The \*(Nr special characters are printed as some vague approximation
 | |
| (it's sometimes extremely vague) to their correct appearance.
 | |
| .PP
 | |
| One part of
 | |
| .IR cawf 's
 | |
| knowledge of the output device, related to the formation of characters,
 | |
| is established by a device file, which is read before the user's input.
 | |
| The search for it begins in
 | |
| .IR cawf 's
 | |
| library directory, under the name \fIterm\fP.\fBdev\fP
 | |
| (where \fIterm\fR is the value of the TERM environment variable).
 | |
| Failing to find that,
 | |
| .I cawf
 | |
| searches for
 | |
| .BR dumb.dev .
 | |
| (See the
 | |
| .B FILES
 | |
| section for a description of the path to
 | |
| .IR cawf 's
 | |
| library directory.)
 | |
| The device file
 | |
| uses special internal requests
 | |
| to set up resolution, special characters 
 | |
| and more normal \*(Nr functions to set up page length, etc.
 | |
| .PP
 | |
| .I Cawf
 | |
| has limited support for fonts special forms of bold and italic characters.
 | |
| It is provided through the
 | |
| .B \-c
 | |
| .IR config ,
 | |
| .BI \-d device
 | |
| and
 | |
| .BI \-f font
 | |
| options.
 | |
| See the
 | |
| .B DEVICES
 | |
| section for more information.
 | |
| .PP
 | |
| Note the distinction between the device and the output device configuration
 | |
| files.
 | |
| The device file typically defines characters and constant output parameters.
 | |
| The output device configuration file defines font and type face codes.
 | |
| It is usually not necessary to define a separate device file for each
 | |
| device represented in the output device configuration file \- the
 | |
| .I dumb.dev
 | |
| device file will suffice for almost all representations.
 | |
| .SH DEVICES
 | |
| .I Cawf
 | |
| supports primitive output device configuration for font and type face
 | |
| control.
 | |
| One font may be selected for the entire document by directing
 | |
| .I cawf
 | |
| to issue a font selection control character string at the beginning
 | |
| of the document, and control character strings may be selected for
 | |
| switching between the bold, italic and Roman type faces.
 | |
| .PP
 | |
| The
 | |
| .B \-c
 | |
| .IR config,
 | |
| .BI \-d device
 | |
| and
 | |
| .BI \-f font
 | |
| options direct the font and type face selections.
 | |
| .PP
 | |
| The
 | |
| .BI \-d device
 | |
| option specifies the name of the device.
 | |
| .I Cawf
 | |
| has three built\-in devices \- ANSI, NONE and NORMAL.
 | |
| When the ANSI device is selected,
 | |
| .I cawf
 | |
| issues the ANSI shadow mode control codes, ``ESC [ 7 m'', to represent
 | |
| the bold face;
 | |
| the ANSI underscore control codes, ``ESC [ 4 m'', to represent the italic
 | |
| face;
 | |
| and the ANSI control codes, ``ESC [ 0 m'', to represent the ROMAN face.
 | |
| No
 | |
| .BI \-f font
 | |
| specification is permitted with the ANSI device.
 | |
| .PP
 | |
| When the NONE device is selected,
 | |
| .I cawf
 | |
| uses no special output codes to represent the type faces.
 | |
| No
 | |
| .BI \-f font
 | |
| specification is permitted with the ANSI device.
 | |
| .PP
 | |
| The NORMAL output device is the default.
 | |
| When it's selected,
 | |
| .I cawf
 | |
| overprints each bold character two times, using three issuances of each
 | |
| bold character, separated by backspace characters;
 | |
| it issues an underscore and backspace before each italic character.
 | |
| No
 | |
| .BI \-f font
 | |
| specification is permitted with the ANSI device.
 | |
| The
 | |
| .IR bsfilt (1)
 | |
| filter may be used to further process the backspace codes output for
 | |
| a NORMAL device.
 | |
| .PP
 | |
| All other devices named in the
 | |
| .BI \-d device
 | |
| option must be represented by a stanza in the device configuration file.
 | |
| The device configuration file is usually contained in
 | |
| .I device.cf
 | |
| in
 | |
| .IR cawf's
 | |
| library directory (see the
 | |
| .B FILES
 | |
| section for more information).
 | |
| An alternate device configuration file path may be specified with the
 | |
| .BI \-c config
 | |
| option.
 | |
| .PP
 | |
| The
 | |
| .B DEVICE CONFIGURATION FILE
 | |
| section describes the organization of the device configuration file.
 | |
| It is easy to add devices to the
 | |
| .I device.cf
 | |
| supplied in the
 | |
| .I cawf
 | |
| distribution.
 | |
| .PP
 | |
| The
 | |
| .BI \-f font
 | |
| option may be used with the
 | |
| .BI \-d device
 | |
| option, when the appropriate stanza in the device configuration file
 | |
| contains an entry for the named
 | |
| .IR font .
 | |
| The
 | |
| .B DEVICE CONFIGURATION FILE
 | |
| section describes how fonts are defined in device configuration file
 | |
| stanzas.
 | |
| .SH DEVICE CONFIGURATION FILE
 | |
| The device configuration file defines the special character codes
 | |
| necessary to direct output devices to select fonts and to produce
 | |
| bold, italic and Roman type faces.
 | |
| .PP
 | |
| The configuration file is usually found in
 | |
| .I device.cf
 | |
| in
 | |
| .IR cawf 's
 | |
| library directory (see the
 | |
| .B FILES
 | |
| section for more information).
 | |
| It is organized into two main parts \- comments and device stanzas.
 | |
| Comments are any lines that begin with the pound sign (`#') character.
 | |
| They are informational only and
 | |
| .I cawf
 | |
| ignores them.
 | |
| .I Cawf
 | |
| also ignores empty lines, so they may be used as vertical white space.
 | |
| .PP
 | |
| Stanzas name devices and define their font and type face control strings.
 | |
| A stanza begins with the name of the device, starting at the beginning
 | |
| of a line and occupying the entire line.
 | |
| The body of the stanza, defining fonts and type faces, is formed of
 | |
| lines beginning with white space (a TAB or space characters) that
 | |
| directly follow the device name.
 | |
| .PP
 | |
| Individual lines of the stanza body contain a key character, followed
 | |
| by a equal sign, followed by the font name (if a font key) and the
 | |
| output device control codes.
 | |
| .I Cawf
 | |
| issues the font control codes once, at the beginning of output, so
 | |
| only one font may be selected.
 | |
| The type face control codes are issued at each change of type face.
 | |
| .PP
 | |
| The key characters are:
 | |
| .ne 4
 | |
| .PP
 | |
| .RS
 | |
| .nf
 | |
| b	for bold
 | |
| f	for font definition
 | |
| i	for italic
 | |
| r	for Roman
 | |
| .fi
 | |
| .RE
 | |
| .PP
 | |
| The `b', `i' and `r' key codes are followed by an equal sign (`=') and
 | |
| their control code definition.
 | |
| The `f' key code is followed by an equal sign (`='), the font name,
 | |
| another equal sign and the font control code definition.
 | |
| .PP
 | |
| Control code definitions may contain any printable ASCII characters.
 | |
| Non\-printable characters may be encoded in octal notation with the `\\nnn'
 | |
| form or in hexadecimal with the `\\xnn' form.
 | |
| The special code, `\\E' (or `\\e') represents the ESC control
 | |
| character (\\033 or \\x1b).
 | |
| .PP
 | |
| Here's a sample showing the definition for the HP LaserJet III.
 | |
| The stanza name is ``lj3''.
 | |
| All its non\-printable characters are ESCs; the first is coded in
 | |
| octal form; the second with '\\E'; the rest, in hexadecimal form.
 | |
| TAB is used as the leading white space character for the stanza
 | |
| body lines.
 | |
| .PP
 | |
| .RS
 | |
| .nf
 | |
| # HP LaserJet III
 | |
| 
 | |
| lj3
 | |
|         b=\\033(s7B
 | |
|         i=\\E(s1S
 | |
|         r=\\x1b(s0B\\x1b(s0S
 | |
|         f=c10=\x1b&l0O\x1b(8U\x1b(s0p12h10v0s0b3T
 | |
|         f=c12ibm=\x1b&l0O\x1b(10U\x1b(s0p10.00h12.0v0s0b3T
 | |
|         f=lg12=\x1b&l0O\x1b(8U\x1b(s12h12v0s0b6T
 | |
| .fi
 | |
| .RE
 | |
| .PP
 | |
| The distribution
 | |
| .I device.cf
 | |
| file defines the following devices and fonts.
 | |
| .LP
 | |
| .ta \w'kxp1180'u+3n +\w'Italic:'u+3n +\w'bps10'u+6n
 | |
| .nf
 | |
| .ne 3
 | |
| epson	dot matrix printer in Epson FX-86e/FX-800 mode
 | |
| 	Bold:	Double-strike
 | |
| 	Fonts:	none
 | |
| 
 | |
| .ne 4
 | |
| ibmppds	IBM Personal Printer Data Stream (PPDS) protocol
 | |
| 	Bold:	Double-strike
 | |
| 	Italic:	Underline
 | |
| 	Fonts:	none
 | |
| 
 | |
| .ne 12
 | |
| kxp1124	Panasonic KX\-P1124 dot matrix printer in PGM mode
 | |
| 	Bold:	Emphasized
 | |
| 	Fonts:	c10	10 Characters Per Inch (CPI) Courier
 | |
| 		c12	12 CPI Courier
 | |
| 		bps10	10 CPI Bold PS
 | |
| 		bps12	12 CPI Bold PS
 | |
| 		p10	10 CPI Prestige
 | |
| 		p12	12 CPI Prestige
 | |
| 		s10	10 CPI Script
 | |
| 		s12	12 CPI Script
 | |
| 		ss10	10 CPI Sans Serif
 | |
| 		ss12	12 CPI Sans Serif
 | |
| 
 | |
| .ne 10
 | |
| kxp1180	Panasonic KX\-P1180 dot matrix printer in PGM mode
 | |
| 	Bold:	Emphasized
 | |
| 	Fonts:	c10	10 Characters Per Inch (CPI) Courier
 | |
| 		c12	12 CPI Courier
 | |
| 		bps10	10 CPI Bold PS
 | |
| 		bps12	12 CPI Bold PS
 | |
| 		p10	10 CPI Prestige
 | |
| 		p12	12 CPI Prestige
 | |
| 		ss10	10 CPI Sans Serif
 | |
| 		ss12	12 CPI Sans Serif
 | |
| 
 | |
| .ne 6
 | |
| lj3	HP LaserJet III
 | |
| 	Fonts:	c10	10 point, 12 Characters Per Inch (CPI)
 | |
| 			Courier
 | |
| 		c12ibm	12 point, 10 CPI Courier, IBM\-PC
 | |
| 			Symbol Set
 | |
| 		lg12	12 point, 12 CPI Letter Gothic
 | |
| 
 | |
| .ne 4
 | |
| vgamono	VGA monochrome monitor for MS\-DOS
 | |
| 	(ANSI.SYS driver required for MS\-DOS)
 | |
| 	Italic:	Reverse-video
 | |
| 	Fonts:	none
 | |
| .SH FILES
 | |
| .I Cawf
 | |
| resource files are located in the
 | |
| .I cawf
 | |
| library directory \- \fI C:\\SYS\\LIB\\CAWF\fP, the MS\-DOS environment
 | |
| default;
 | |
| or
 | |
| .IR /usr/lib/cawf ,
 | |
| the UNIX environment default.
 | |
| These defaults can be overridden by the CAWFLIB environment variable,
 | |
| or changed in the cawflib.h header file.
 | |
| 
 | |
| .ta \w'device.cf'u+3n
 | |
| .nf
 | |
| common	common device-independent initialization
 | |
| device.cf	output device configurations
 | |
| *.dev	device-specific initialization
 | |
| m*.mac	macro package files
 | |
| .SH DIAGNOSTICS
 | |
| Unlike
 | |
| .IR nroff ,
 | |
| .I cawf
 | |
| complains whenever it sees unknown requests.
 | |
| All diagnostics appear on the standard error file.
 | |
| .ad
 | |
| .SH HISTORY
 | |
| Vic Abell of Purdue University <abe@cc.purdue.edu> derived
 | |
| .I cawf
 | |
| from
 | |
| .IR awf ,
 | |
| \&``the Amazingly Workable (text) Formatter,'' 
 | |
| written by Henry Spencer of the University of Toronto.
 | |
| The Toronto work was a supplement to the C News project.
 | |
| The Purdue effort was aimed at producing a C language version that
 | |
| would run on small systems, particularly MS\-DOS ones.
 | |
| The adaptation of the
 | |
| .B me
 | |
| macros was done by Chet Creider <creider@csd.uwo.ca>.
 | |
| Chet also contributed ideas for device, font and type face support.
 | |
| .PP
 | |
| The MS\-DOS version of
 | |
| .I cawf
 | |
| has been compiled with version 2.5 of Microsoft's Quick-C compiler.
 | |
| It runs under the Mortis Kern Systems Toolkit KornShell,
 | |
| .IR ksh (1),
 | |
| and COMMAND.COM.
 | |
| .SH BUGS
 | |
| Nroff and troff mavens will have many complaints.
 | |
| Some may even represent bugs and not deliberate omissions.
 | |
| .PP
 | |
| Watch out for scaling factors - especially on requests like
 | |
| .BR \ew .
 | |
| .PP
 | |
| The overprinting required to create bold and italicized characters is
 | |
| tiresome on a slow printer.
 | |
| The
 | |
| .IR bsfilt (1)
 | |
| post\-filter from this distribution may be used to alleviate that
 | |
| nuisance by managing the backspacing codes from
 | |
| .IR cawf 's
 | |
| NORMAL device output.
 | |
| .PP
 | |
| The printing of bold and italic characters is sometimes better handled by
 | |
| special printer codes.
 | |
| Use
 | |
| .IR cawf 's
 | |
| .B \-c
 | |
| .IR config ,
 | |
| .BI \-d device
 | |
| and
 | |
| .BI \-f font
 | |
| options to produce special font and device output control codes.
 | |
| .PP
 | |
| .I Cawf
 | |
| has a small amount of built-in code for the 
 | |
| .BR man ,
 | |
| .B me
 | |
| and
 | |
| .B ms
 | |
| macro packages, but none for any others.
 | |
| .PP
 | |
| The stacking for the
 | |
| .B .so
 | |
| request is limited.
 | |
| .SH SEE ALSO
 | |
| bsfilt(1),
 | |
| colcrt(1),
 | |
| man(7),
 | |
| me(7),
 | |
| ms(7)
 | |
| and
 | |
| nroff(1).
 | 
