⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 操作系统源代码
💻
字号:
Cawf - nroff-like text formatterCawf is a C version of awf, Henry Spencer's Amazingly Workable (text)Formatter.  (Awf is written in awk and appears in comp.sources.unix,Volume 23, Issue 27.)  Cawf and awf provide a usable subset of raw nroffcapabilities and the styles of the man(7), me(7) and ms(7) macro sets.One of cawf's virtues is that it will run on PC clones under MS-DOS.  Itis also, like awf, totally independent of any licensed Unix source code.This distribution contains complete source, make files for Unix andMS-DOS, documentation (raw and formatted) and MS-DOS executables for cawfand a companion output filters, bsfilt.This is the fourth distribution of cawf.  Changes include:	*  Some rudimentary output device support has been added, via a device	   configuration file.	*  The code has been converted to use unsigned characters.	*  An attempt has been made to make the code ANSI C compliant.	*  The following bugs have been fixed:		A bug in the locating of the device file has been corrected,		so that the code performs as documented.		Null macro arguments are ignored.		Some unused arguments to local functions have been more		carefully type cast to avoid portability problems.	*  The .fl and .rn requests are now supported.	*  Limited support has been added for the non-break request control	   character, the acute accent (').	*  Argument count conditionals -- operating on \n(.$ -- may now use	   the >= and <= operators in addition to [<=>].	*  Macros may be terminated with "..", ".", "''" or "'".	*  String interpolation is performed if it is specified at the start	   of the .ds request argument.	*  The .tr request has been enhanced to handle named characters and	   string interpolation.	*  The SS macro is now included in man.mac.	*  The cawf version number is now displayed in the help output.	*  A limited -me macro set is included in me.mac.Changes to cawf to run under Minix:	*  The DOS binaries and make files have been removed. 	*  Tabs stops changed from per 5 to per 8.	*  Bold and underline as it should be in device.cf.	*  Added .SB and .TA to man.mac.	*  Numerous prototypes added.CONTENTS--------This Minix distribution of cawf includes:	README		    this file	*.c and *.h	    source files to build cawf and bsfilt (bsfilt			    removes Backspaces from cawf output)	bsfilt.1	    nroff source for the bsfilt manual page	cawf.1		    nroff source for the cawf manual page	common		    initialization file for CAWFLIB library	device.cf	    output device configuration file for CAWFLIB			    library	dumb.dev	    device description file for CAWFLIB library	Makefile	    Unix-style make file	man.mac		    man(7) macros for CAWFLIB library	me.mac		    me(7) macros for CAWFLIB library	ms.mac		    ms(7) macros for CAWFLIB library	diffs		    Minix patches#ifdef PUTTING_IT_ON_THE_NET	cawf	bsfilt		    binaries compiled under Minix-PC 1.5 using the ACK			    ANSI C compiler using software floating point#endifLIBRARY-------To use cawf, you must select a location for the CAWFLIB library files.  Thedistributed cawf binary expects to find them in /usr/local/lib/cawf but youcan alter that with the CAWFLIB environment variable, or you can change theCAWFLIB #define in cawf.h and rebuild cawf from the sources.CAWFLIB contains a minimum of six files:	common		common raw nroff commands to get cawf started	dumb.dev	a set of character definitions for a plain, "dumb"			ASCII device - e. g., the console display, a CRT or			a basic line printer	device.cf	the output device configuration file	man.mac		the man(7) macros	me.mac		the me(7) macros	ms.mac		the ms(7) macrosYou may want to add your own macro files to the library.  Just name them"m[your-name].mac", following the usual nroff naming convention for macrofiles.If you have fancy output devices with special character specifications, youmay want to generate new *.dev files for them.  Follow the format of dumb.devin making new character specifications.  To define characters for a newdevice, select a name prefix for it and create a file in CAWFLIB with thename "<prefix>.dev".  To use the new file, set the TERM environment variableto <prefix> - e. g., when I test cawf on Unix, I need a vt100.dev, becausemy TERM environment variable value is usually vt100.  All I do is makevt100.dev a symbolic link to dumb.dev.  Even that isn't even necessary,because cawf will use dumb.dev if it can't find TERM.dev.In addition to the character specifications possible through the *.dev files,cawf provides one-time font selection and bold or italic face support foroutput devices via its -d and -f options.  Cawf can be directed to issuespecific device codes for bold and italic characters, and one font can bespecified for the entire document.  Cawf has some built-in output devicesupport, and addition support is contained in the device configuration file,device.cf.  Additional devices may be defined in device.cf.It is not necessary to generate a new *.dev file for each output devicedefinition.  Only when you need special character definitions do you need tocreate a *.dev file.  The dumb.dev file is adequate for most devices you define in device.cf.SOURCES-------The Unix make file has some definitions that help tune it to the localUnix environment:	CAWFLIB		is a string that can be used in lieu of changes			to cawf.h's CWFLIB #define.	MALLOCH		is a string that should be defined when a UNIX			environment has a <malloc.h>, unless it also has a			<stdlib.h> with protoypes for malloc() and its			relatives.  In the latter case, you should define			STDLIB, but you don't need to define MALLOCH.	STDLIB		indicates that standard library function prototype			definitions may be found in <stdlib.h>.			STDLIB must be defined for MS-DOS Quick C.			If STDLIB is not defined, the cawf sources try to			define their own library function return values.	__STR__		The definition of this string must be deleted when			using the xlc 1.2 compiler on the RISC/System 6000			under AIX 3.2.  Put				-U__STR__			in the Makefile DEFS string.  This must be done			because the xlc 1.2 compiler does not correctly inline			string functions when compiling pass3.c.	UNIX		switches the build environment to Unix.  You may also			have to decide about MALLOCH, STDLIB, __STR__ and USG			when you define UNIX.			Do not define UNIX for MS-DOS Quick-C; do define			STDLIB.	USG		adjusts for System V.  (UNIX must also be defined.)			You may also need to define USG to select the proper			header file for string function prototypes.  If UNIX			and USG are defined, "proto.h" selects <string.h>;			if only UNIX, <strings.h>.  Cawf needs the more			complete set of definitions, including strchr() and			strrchr().  If <string.h> #includes <strings.h>, as			is sometimes the case, define only UNIX.I have built and tested cawf in the UNIX context under AIX 3.2 (see thenote above on __STR__), BSD4.3-Tahoe, Sequent DYNIX, ETAV (SYSV 3.0),NeXTStep 3.0, SunOS 4.1.1 and Ultrix 2.2.  If you build under another Unixvariant, you may have to adjust the source code, header files and Makefileto fit.  Check the Makefile first for hints.ANSI C COMPLIANCE-----------------Some effort has been devoted to making the cawf sources ANSI C compliant.The header file proto.h contains function prototypes that enable ANSI Cargument checking.  The state of definition of the __STDC__ symbol is usedto select options that depend on strict adherence to the ANSI C standard --e.g., the need for the isascii() test before islower() or isupper().  Ifyour ANSI compiler doesn't define this variable when it's acting in strictANSI C mode, you may have to define it in the Makefile.MS-DOS CONSIDERATIONS---------------------The MS-DOS version of cawf was created to run under the KornShell of theMortis Kern Systems Toolkit.  One ramification of using MKS' ksh is that itsupports the separate standard error and standard output streams.  Hence,cawf blithely distributes its error messages to the standard error file, andassumes the user's shell is capable of separating them from standard output.If you don't use the MKS KornShell, but do want to separate the outputstreams, you'll have to modify the cawf source code.  As a rudimentary aid,cawf uses a separate stream pointer, Efs, for writing error output, but setsit to stderr.  You can change that process to open a separate error file andset Efs to point to it.COPYRIGHTS AND CREDITS----------------------The sources are copyrighted, but freely distributable under usual terms -retention of credit, etc.Please acknowledge:	AT&T for their public-domain release of getopt(3) at the 1985	UNIFORUM conference;	Chet Creider, Bob Hardy and Ted Campbell for their contributions	to font filtering;	Henry Spencer for awf and his regular expression package;	Andy Tanenbaum for his help in ANSI C compliance, including his	ansi.h header file from Minix.Henry says about awf, "I can't believe I really wrote this."  Those aremy sentiments exactly about cawf, but I also understand that necessitysometimes forces us to do what we would prefer to avoid.BUGS AND ENHANCEMENTS---------------------I'll be glad to hear about bugs and needs for enhancements, but make nopromises about delivering fixes or upgrades in response.Vic Abell <abe@cc.purdue.edu>24 November 1992MINIX SPECIFIC TINKERING------------------------Kees J. Bot <kjb@cs.vu.nl>26 November 1992

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -