From bacchus.pa.dec.com!decwrl!apple!usc!cs.utexas.edu!uunet!allbery Sun Jun 24 17:36:38 PDT 1990
Article 1659 of comp.sources.misc:
Path: bacchus.pa.dec.com!decwrl!apple!usc!cs.utexas.edu!uunet!allbery
From: bw@uecok.UUCP (Bill Walker CS Faculty)
Newsgroups: comp.sources.misc
Subject: v13i064: wroff - text formatter for HP LaserJet with PP 25-font cartridge
Message-ID: <94757@uunet.UU.NET>
Date: 24 Jun 90 23:49:59 GMT
Sender: allbery@uunet.UU.NET
Lines: 792
Approved: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)

Posting-number: Volume 13, Issue 64
Submitted-by: bw@uecok.UUCP (Bill Walker CS Faculty)
Archive-name: wroff/part01

[I love it.  A multipart submission that I had to tear apart to find out what
it was --- and mail to the original poster bounced.  Sigh.

This appears to be an nroff/troff-like text formatter for use with the HP
LaserJet with the Pacific Data 25-in-1 font cartridge.  It does *not* look to
be nroff/troff-compatible, just similar.  More than that I cannot say.  ++bsa]

echo x - MANIFEST
sed 's/^X//' >MANIFEST <<'*-*-END-of-MANIFEST-*-*'
XFonts/
XMACROS/
XMANIFEST 
XMakefile 
XREADME 
XTestData/
Xbin/
Xdoc/
Xsource/
*-*-END-of-MANIFEST-*-*
echo x - Makefile
sed 's/^X//' >Makefile <<'*-*-END-of-Makefile-*-*'
X
X# this is the command to print something on your laser printer
XPRINT=lp -dfac
X# the owner of the system files --- need not be root
XOWNER=root
X
X# directory to contain the font tables
X# leave as it is for testing, but change it for production
X
XFONTS='"./Fonts"'
X
X#source is located in this directory
XSOURCE=./source
X
X#documentation is contained in this directory
XDOCDIR=./doc
X
X#local bin directory
X#leave it as is for testing, but change it for actual installation
XBINDIR=./bin
X
XCFLAGS = -DFONTSDIR='"$(FONTS)"'
X
X
Xa.out : 
X	cd source; make -f makefile -k "CC=$(CC)" "CFLAGS=$(CFLAGS)"; \
X	     mv a.out ../a.out
X
X
X# be sure you have write permission whereever these directories are
Xinstall :
X	strip a.out
X	mv a.out $(BINDIR)/wroff
X	cp ./Fonts/* $(FONTSDIR)
X	chmod $(OWNER) $(FONTSDIR)/*
X	chmod u+r $(FONTSDIR)/*
X	chmod go+rx $(BINDIR)/wroff
X	chown $(OWNER) $(BINDIR)/wroff
X
X
X# make "manual page" documentation for wroff -- it is stored under DOCDIR
X# note that we assume that the (unstripped) wroff executable is named "a.out"
X
Xmanpage : 
X	a.out $(DOCDIR)/macs.w $(DOCDIR)/wroff.1.w -p -k -o $(DOCDIR)/doc.pr
X
X# make a tutorial for wroff -- store it in the DOCDIR
X# note that we assume that the (unstripped) wroff executable is named "a.out"
X
Xtut :
X	a.out $(DOCDIR)/macs.w $(DOCDIR)/wroff.tut.w -p -k -o $(DOCDIR)/tut.pr
X
X
X#clean up the mess
Xclean:
X	rm $(SOURCE)/*.o
X
X
X# this will test wroff to see if it works at all
Xtest :
X	$(BINDIR)/wroff $(DOCDIR)/welcome
X	$(BINDIR)/wroff $(DOCDIR)/welcome | $(PRINT)
X
X
X# this will print a convenient "sampler" to demonstrate the available fonts
Xsampler:
X	$(BINDIR)/wroff TestData/sampler | $(PRINT)
X
*-*-END-of-Makefile-*-*
echo x - README
sed 's/^X//' >README <<'*-*-END-of-README-*-*'
XThis contains the newest (August 29, 1989) version of wroff.
XIt does kerning.
X
Xwroff is suitable for use with the Hewlett-Packard LaserJet II
Xprinter, provided that the printer is equiped with a Pacific
XData Systems 25-in-One Font Cartridge.
X
XHere is a list of directories and files:
X
XFonts/     	-- width tables for fonts
XMACROS/		-- some demonstration macros and test files
XMANIFEST 	-- list of contents for the shar archive
XMakefile 	-- a makefile for the whole thing
XREADME 		-- this file
XTestData/	-- some interesting test data
Xdoc/		-- documentation
Xsource/		-- source code for wroff
X
X
XTo 
*-*-END-of-README-*-*
echo Making directory TestData
mkdir TestData
echo x - TestData/hw2.w
sed 's/^X//' >TestData/hw2.w <<'*-*-END-of-TestData/hw2.w-*-*'
X.de SU
X.gy -5
X\f2$1\f0
X.gy +5
X.en
X.ce 10
X\fBComputer Science 1133
XThird Homework Assignment
XDue: September 22, 1989\fP
X.ce 0
X.sp 2
X.PP
XThe purpose of this assignment is to illustrate the use of
Xfunction subprograms, and illustrate a loop that "quits"
Xafter an indefinite number of iterations.
X.PP
XYou are to use Newton's Method to solve the following
Xequations:
X
X.sp 3
X.in +5
Xx \{SU 3} - x = 0         (Answer: 0, 1, -1)
X.sp 3
Xx \{SU 2} + 3x + 2 = 0    (Answer: -1, -2)
X.sp 3
Xx sin(x) - 3 = 0          (Answer: could be several -- check it)
*-*-END-of-TestData/hw2.w-*-*
echo x - TestData/lesson2.w
sed 's/^X//' >TestData/lesson2.w <<'*-*-END-of-TestData/lesson2.w-*-*'
X.ce 10
X\fBSecond Lesson
XComputer Programming II\fP
X.ce 0
X.sp 3
X.in +5
X.ti -5
XHere are the commands that you will need to know about
Xtoday:
X.sp 2
X\fB
X.nf 
Xpasswd	 \f|-	\f|change your password
Xls	 \f|-	\f|list contents of directory 
Xdate	 \f|-	\f|show the time and date
Xwho	 \f|-	\f|determine who is on the system
Xmkdir	 \f|-	\f|create a new subdirectory
Xcd	 \f|-	\f|change the working directory
Xpwd	 \f|-	\f|print the working directory
Xwc	 \f|-	\f|count lines, words, and characters
Xlp	 \f|-	\f|copy standard input to the printer
Xcat file \f|-	\f|copy file to standard output
Xvisprint \f|-	\f|copy standard input to both printer and screen
X|	 \f|-	\f|connect standard output of one program
X		\f|to standard input of another ("pipe")
Xmailx	 \f|-	\f|send or receive electronic mail
Xname	 \f|-	\f|determine login ids
Xvnews	 \f|-	\f|read  public electronic news
X\fP
X.fi
X.in +5
X.vl 5
X.sp 2
X.OP 1.  
XLog into the machine.
X.OP 2.  
XChange your password by using \fBpasswd\fP.  Note that
X\fBpasswd\fP asks you for your previous password, and then
Xfor a new password.  It does not print on the screen when
Xyou type, so be prepared to type "in the blind."
X.OP 3.  
XWhen you logged in, you almost certainly received notice
Xthat there was "news".  To read this news, type \fBvnews\fP.
XAt any time while vnews is running, you can type a \fB?\fP
Xto get some help.  Use the letter "n" to page through the
Xnews.
X.OP 4.  
XUse \fBdate\fP to determine today's date, and then use \fBwho\fP to
Xdetermine who is on the system.
X.OP 5.  
XThe symbol "|" connects the output of one program to the
Xinput of a second program.  The program \fBwc\fP is used to count
Xthe number of lines, words, and characters that appear in
Xits input.  What does the sequence \fBwho | wc\fP determine ?
XTry \fBdate | wc\fP .  What did you get ?
X.OP 6.  
XThe programs \fBlp\fP and \fBvisprint\fP are somewhat similar.  Both
Xprint their input to the printer.  The \fBvisprint\fP program also
Xprints its input to the screen as well.
XWhat happens if you type \fBwho | lp\fP ?  What if you type
X\fBwho | visprint\fP ?  What about \fBwho | wc | visprint\fP ?
X.OP 7.  
XUse \fBls\fP to determine the contents of your
Xdirectory.  (Could you print this on the printer if you
Xneeded to ?)  Now use \fBmkdir pascal\fP to create a new
Xdirectory.  Issue another \fBls\fP.  What happened ?
X.OP 8.  
XType \fBpwd\fP and see what you get, then
Xuse \fBcd pascal\fP to "change directory" to the pascal
Xdirectory, and type \fBpwd\fP again.  Use \fBls\fP to see if
Xthere is anything in the directory that you just created.
XYou can return "home" by just saying \fBcd\fP.
X.OP 9.  
XReturn to "home" and create another directory called
X"wordproc" that can be used to hold your word processing
Xfiles.  Confirm that it exists, and is empty.
X.OP 10.  
XFrom now on, when you write a program in Pascal, be
Xsure to first \fBcd pascal\fP before you start to program.
X.OP 11.  
XIf you had a message concerning "mail", you may want to
Xread your mail.  To do so, just type \fBmailx\fP.  You will
Xbe given a list of your messages.  Select the one(s) you
Xwant to read by typing the number of the message.  When you
Xare done with a message, type \fBd\fP to delete that message
X(otherwise it is saved, which is usually messy.)  When you
Xhave read all the mail, type \fBq\fP to quit the mail
Xsystem.
X.OP 12.  
XUse \fBname myfriend\fP to determine the login id of
Xyour friend.  Then send mail to your friend by typing
X\fBmailx loginid\fP, where "loginid" is the login id of your
Xfriend.  Everything you type on the terminal will be mailed
Xto your friend.  End your letter by putting a period (".")
Xon a line by itself.
*-*-END-of-TestData/lesson2.w-*-*
echo x - TestData/README
sed 's/^X//' >TestData/README <<'*-*-END-of-TestData/README-*-*'
XThis directory contains some demonstrations of wroff.
X
*-*-END-of-TestData/README-*-*
echo x - TestData/macros.b
sed 's/^X//' >TestData/macros.b <<'*-*-END-of-TestData/macros.b-*-*'
X.de PP
X.sp
X.ti +5
X.en
X.de OP
X.in
X.vl 5
X.sp 
X.li $1
X.en
X.de CO
X.nf 5
X.in +5
X.ls 
X\fT
X.sp 2
X.en
X.de NO
X.in -5
X\fP
X.sp 2
X.fi
X.en
*-*-END-of-TestData/macros.b-*-*
echo x - TestData/booltest.w
sed 's/^X//' >TestData/booltest.w <<'*-*-END-of-TestData/booltest.w-*-*'
X.de ON
Xp is 1
X.en
X.de TW
Xp is not 1
X.en
X \[ p = 0 ]
X \[ p = p + 1 ]
X.if ( p == 1 ) ON
X.if ( p != 1 ) TW
*-*-END-of-TestData/booltest.w-*-*
echo x - TestData/mathdemo.w
sed 's/^X//' >TestData/mathdemo.w <<'*-*-END-of-TestData/mathdemo.w-*-*'
X.de INT
X.fm TMN10B
X\fMu\fP
X\[ p = X + M + L ]
X.gx -48
X.gy +8
X\fMg\fP
X.gx -48
X.gy -16
X\fMe\fP
X.gy +8
X.gx \(p)
X.gy +12
X$1
X.gx \(p)
X.gy -24
X$2
X.gy +12
X\fP
X.en
X.de LBRACE
X.fm TMN10B
X\fMc\fP
X\[ p = X + M + L -140 ]
X.gx -48
X.gy +8
X\fMd\fP
X.gx -48
X.gy -16
X\fMb\fP
X.gy +8
X.gx \(p)
X\fP
X.en
X.de RBRACE
X.fm TMN10B
X\fMs\fP
X\[ p = X + M + L - 175 ]
X.gx -48
X.gy +8
X\fMt\fP
X.gx -48
X.gy -16
X\fMr\fP
X.gy +8
X.gx \(p)
X\fP
X.en
X.de int 
X.fm TMN10B
X\fMU\fP
X.en
X.de lbrace
X\f0{\fP
X.en
X.de rbrace
X\f0}\fP
X.en
X.de SU
X.gy -5
X\f2$1\fP
X.gy +5
X.en
X.de SB
X.gy +3
X\f2$1\fP
X.gy -3
X.en
X.de SUM 
X.fm TMN10B
X\[ p = X + M + L  +50  ]
X.gy +4
X\fMj\fP
X.gx -48 
X.gy -8
X\fMh\fP
X.gy +4
X.gx \(p)
X.en
X
X
X
X\{INT 1 2} \{LBRACE} (x \{SU 2} - y \{SB 4} + (r + s) \{SU 3} ) \{RBRACE} dx
X
X
X
X
X\{int} \{lbrace} ( \{SUM} some function) \{rbrace} dx
X
X
*-*-END-of-TestData/mathdemo.w-*-*
echo x - TestData/macros
sed 's/^X//' >TestData/macros <<'*-*-END-of-TestData/macros-*-*'
X.de PP
X.sp
X.ti +5
X.en
X.de OP
X.sp 
X.ti -5
X.en
X.de CO
X.nf 5
X.in +5
X.ls 
X\fT
X.sp 2
X.en
X.de NO
X.in -5
X\fP
X.sp 2
X.fi
X.en
*-*-END-of-TestData/macros-*-*
echo x - TestData/lesson1.w
sed 's/^X//' >TestData/lesson1.w <<'*-*-END-of-TestData/lesson1.w-*-*'
X.ce 10
X\fBFirst Lesson
XComputer Programming II\fP
X.ce 0
X.sp
X.in 15
X.ti -5
X\fBvi editor exercise:\fP  Here are the commands that you will need
Xto know about today:
X.nf
X
X.in +5
X\fBvi file.pas
X
Xi 	\f|- 	\f|insert
XESC	\f|- 	\f|quit inserting
Xx	\f|-	\f|cross out character
X:wq	\f|-	\f|save work and quit
X
X^u	\f|-	\f|move up half page
X^d	\f|-	\f|move down half page
X^p	\f|-	\f|previous line
X^n	\f|-	\f|next line
X^h	\f|-	\f|left one character
Xspace	\f|-	\f|right one character\fP
X
XEnter the following code:
X
X.nf
X\fT
Xprogram summer (input, output);
X    var  i, sum : integer;
X    
Xbegin
X    sum := 0;
X    
X    i := 1;
X    while i <= 10 do
X      begin
X        sum := sum + i;
X	i := i + 1;
X      end;
X    writeln('the sum is ', sum);
Xend.
X\fP
X.fi
X.bp
X.OP 1.
XEnter and execute the program. This will require that you know how
Xto log in, how to use \fBpc file.pas\fP, and how to execute a program by
Xtyping \fBa.out\fP.  You may also find \fBls\fP handy.
X.OP 2.
XModify the program to sum the first 100 positive integers instead.
X.OP 3.
XModify the program to sum the first 25 positive integers.
X.OP 4.
XUse \fBcat file.pas\fP to print the program on your screen, then
Xuse \fBcat file.pas | lp\fP to print the program on the printer.
X.OP 5.
XUse \fBa.out\fP to execute the program on your screen, then use
X\fBa.out | lp\fP to print the output of the program on the printer.
X\fBDO NOT USE "cat a.out" FOR ANYTHING!\fP
*-*-END-of-TestData/lesson1.w-*-*
echo x - TestData/testpar.w
sed 's/^X//' >TestData/testpar.w <<'*-*-END-of-TestData/testpar.w-*-*'
X \[p=65]
X.de NP
X.in
X.pm 5
X.sp
X.lp \(pC).
X \[p = p + 1]
X.en
X.de PP
X.sp
X.ti +5
X.en
X.de OP
X.in
X.pm 5
X.sp 
X.lp $1
X.en
X.de CO
X.nf 5
X.in +5
X.ls 
X\fT
X.sp 2
X.en
X.de NO
X.in -5
X\fP
X.sp 2
X.fi
X.en
X.NP
XThis is paragraph one,
Xand this next is the next paragraph.
X.NP
Xparagraph number two.  Maybe.
X.NP
XThis is the third one.
*-*-END-of-TestData/testpar.w-*-*
echo x - TestData/numpar.w
sed 's/^X//' >TestData/numpar.w <<'*-*-END-of-TestData/numpar.w-*-*'
X \[p=1]
X.de NP
X.in
X.vl 5
X.sp
X.li \(p).
X \[p = p + 1]
X.en
X.de PP
X.sp
X.ti +5
X.en
X.de OP
X.in
X.vl 5
X.sp 
X.li $1
X.en
X.de CO
X.nf 5
X.in +5
X.ls 
X\fT
X.sp 2
X.en
X.de NO
X.in -5
X\fP
X.sp 2
X.fi
X.en
X.NP
XThis is paragraph one,
Xand this next is the next paragraph.
X.NP
Xparagraph number two.  Maybe.
X.NP
XThis is the third one.
*-*-END-of-TestData/numpar.w-*-*
echo x - TestData/gothics
sed 's/^X//' >TestData/gothics <<'*-*-END-of-TestData/gothics-*-*'
X.fm LGN9.5A
XThis should be in \fMLetter Gothic, Normal, 9.5 point, ASCII\fP
Xand this should be in regular print.
X.fm LGN14L
XThis should be in \fMLetter Gothic, Norman, 14 point, LEGAL\fP
Xand this should be in regular print.
X
*-*-END-of-TestData/gothics-*-*
echo x - TestData/sampler
sed 's/^X//' >TestData/sampler <<'*-*-END-of-TestData/sampler-*-*'
X.fm RESET
X\fMFont RESET will clear the printer to default\fP
X.sp
XThis is a print sampler.
X.sp 4
X.fm LGN9.5A
X\fMFont LGN9.5A is Letter Gothic, Normal, 9.5 point, ASCII\fP
X.sp
X.fm LGN14L
X\fMFont LGN14L is Letter Gothic, Norman, 14 point, LEGAL\fP
X.sp
X.fm TMN10B
XFont TMN10B is a math font: \fM abcdefgh\fP
X.sp
X.fm PAFS4.8_12
X\fMFont\fP PAFS4.8_12 \fM is PDP AFS 4.8 point, 12 lpi\fP
X.sp 
X.fm PAFS4.8_16
X\fMFont\fP PAFS4.8_16 \fM is PDP AFS 4.8 point, 16 lpi\fP
X.sp
X.fm PCLine14
XFont PCLine14 is a line drawing font: \fM0123456789\fP
X.sp
X.fm TaxB12
XFont TaxB12 is a tax form font, boldfaced: \fMabcdefgh\fP
X.sp
X.fm LineDraw12
XFont LineDraw12 is a line drawing font: \fMabcdefgh\fP
X.sp
X.fm LGN14A
X\fMFont LGN14A is Letter Gothic, Normal, 14 point, ASCII\fP
X.sp
X.fm LGB12A
X\fMFont LGB12A is Letter Gothic, Bold, 12 point, ASCII\fP
X.sp
X.fm LP8.5PC
X\fMFont LP8.5PC is Line Printer, 8.5 point, PC\fP
X.sp
X.fm ci12
X\fMFont ci12 is Courier, Italic, 12 point, ASCII\fP
X.sp
X.fm cn12
X\fMFont cn12 is Courier, Normal, 12 point, ASCII\fP
X.sp
X.fm pen7
X\fMFont pen7 is Prestige Elite, Normal, 7 point, ASCII\fP
X.sp
X.fm lp8.5
X\fMFont lp8.5 is a Line Printer, 8.5 point, ASCII\fP
X.sp
X.fm pb18
X\fMFont pb18 is Presentation, Bold, 18 point, ASCII\fP
X.sp
X.fm pb16a
X\fMFont pb16a is Presentation, Bold, 16 point, ASCII\fP
X.sp
X.fm pei10.l
X\fMFont pei10.l is Prestige Elite, Italic, 10 point, Legal\fP
X.sp
X.fm pen10.l
X\fMFont pen10.l is Prestige Elite, Normal, 10 point, Legal\fP
X.sp
X.fm peb10.l
X\fMFont peb10.l is Prestige Elite, Bold, 10 point, Legal\fP
X.sp
X.fm ct12r-8
X\fMFont ct12r-8 is Courier, Italic, 12 point, Roman-8\fP
X.sp
X.fm pb14
X\fMFont pb14 is Presentation, Bold, 14 points, ASCII\fP
X.sp
X.fm HB14ECMA
X\fMFont HB14ECMA is Helvetica, Bold, 14 point, ECMA, 10 series\fP
X.sp
X.fm TMN8A
XFont TMN8A is Times Math, Normal, 8 point, MATH A  \fMabcdefg1234567\fP
X.sp
X.fm HN10
X\fMFont HN10 is Helvetica, Normal, 10 point, ASCII\fP
X.sp
X.fm HI10
X\fMFont HI10 is Helvetica, Italic, 10 point, ASCII\fP
X.sp
X.fm HB8
X\fMFont HB8 is Helvetica, Bold, 8 point, ASCII\fP
X.sp
X.fm HN8
X\fMFont HN8 is Helvetica, Normal, 8 point, ASCII\fP
X.sp
X.fm HN6
X\fMFont HN6 is Helvetic, Normal, 6 point, ASCII\fP
X.sp
X.fm trn12
X\fMFont trn12 is Times Roman, Normal, 12 point, ASCII\fP
X.sp
X.fm trb12
X\fMFont trb12 is Times Roman, Bold, 12 point, ASCII\fP
X.sp
X.fm tri12
X\fMFont tri12 is Times Roman, Italic, 12 point, ASCII\fP
X.sp
X.fm trn8
X\fMFont trn8 is Times Roman, Normal, 8 point, ASCII\fP
X.sp
X.fm tri10
X\fMFont tri10 is Times Roman, Italic, 10 point, ASCII\fP
X.sp
X.fm trn10
X\fMFont trn10 is Times Roman, Normal, 10 point, ASCII\fP
X.sp 
X.fm trb10
X\fMFont trb10 is Times Roman, Bold, 10 point, ASCII\fP
X.sp
X.fm lgn12
X\fMFont lgn12 is Letter Gothic, Normal, 12 point, ASCII\fP
X.sp
X.fm lgi12
X\fMFont lgi12 is Letter Gothic, Italic, 12 point, ASCII\fP
X.sp 
X.fm PB18L
X\fMFont PB18L is Presentation, Bold, 18 point, Legal\fP
X.sp
X.fm PB16L
X\fMFont PB16L is Presentation, Bold, 16 point, Legal\fP
X.sp
X.fm PB14L
X\fMFont PB14L is Presentation, Bold, 14 point, Legal\fP
X.sp
X.fm HB14
X\fMFont HB14 is Helvetica, Bold, 14 point, ASCII\fP
X.sp
X.fm TMN8B
XFont TMN8B is Times Math, Normal, 8 point, MATH B  \fMabcdef123456\fP
X.sp
X.fm HB12
X\fMFont HB12 is Helvetica, Bold, 12 point, ASCII\fP
X.sp
X.fm HN12
X\fMFont HN12 is Helvetica, Normal, 12 point, ASCII\fP
X.sp
X.fm HI12
X\fMFont HI12 is Helvetica, Italic, 12 point, ASCII\fP
X.sp
X.fm HB10
X\fMFont HB10 is Helvetica, Bold, 10 point, ASCII\fP
X.sp
X.fm PEN7L
X\fMFont PEN7L is Prestige Elite, Normal, 7 point, Legal\fP
X.sp
X.fm LGN12H
X\fMFont LGN12H is Letter Gothic, Normal, 12 point, ASCII, Prints sideways\fP
X.sp
X.fm pen10h
X\fMFont pen10h is Prestige Elite, Normal, 10 point, ASCII, Prints sideways\fP
X.sp
X.fm PB14
X\fMFont PB14 is Presentation, Bold, 14 points, ASCII, Prints sideways\fP
X.sp
X.fm PEN7H
X\fMFont PEN7H is Prestige Elite, Normal, 7 point, ASCII, Prints sideways\fP
X.sp
X.fm lgn14
X\fMFont lgn14 is Letter Gothic, Normal, 14 point, Print sideways\fP
X.sp
X.fm pcln14.l
XFont pcln14.l is PC Line, Normal, 14 point, PC Line, Prints sideways  \fMabcdefg\fP
X.sp
X.fm  pdp4.812.l
X\fMFont pdp4.812.l is PDP AFS, 4.8 point, 12 lpi, LICS, Prints sideways\fP
X.sp
X.fm pdp4.816.l
X\fMFont pdp4.816.l is PDP AFS, 4.8 point, 16 lpi, LICS, Prints sideways\fP
X.sp
X.fm HN6H
X\fMFont HN6H is Helvetica, Normal, 6 point, ASCII, Prints sideways\fP
X.sp
X.fm TRN10H
X\fMFont TRN10H is Times Roman, Normal, 10 point, ASCII, Prints sideways\fP 
X.sp
X.fm PEN7LH
X\fMFont PEN7LH is Prestige Elite, Normal, 7 point, Legal, Prints sideways\fP
X.sp
X.fm LGN9.5H
X\fMFont LGN9.5H is LtrGothic Nm 9.5 point, ASCII, Prints sideways\fP
X.sp
X.fm Line8.5H
X\fMFont Line8.5H is LinePrinter 8.5 point, ASCII, Prints sideways\fP
X.sp
X.fm HB12H
X\fMFont HB12H is Helvetica, Bold, 12 point, ASCII, Prints sideways\fP
X.sp
X.fm HB10H
X\fMFont HB10H is Helvetica, Bold, 10 point, ASCII, Prints sideways\fP
X.sp
X.fm HN8H
X\fMFont HN8H is Helvetica, Normal, 8 point, ASCII, Prints sideways\fP
*-*-END-of-TestData/sampler-*-*
echo x - TestData/hw1.w
sed 's/^X//' >TestData/hw1.w <<'*-*-END-of-TestData/hw1.w-*-*'
X.ce 10
X\fBComputer Programming II
XFirst Homework Assignment
XDue: Friday, September 8, 1989\fP
X.ce 0
X.sp
X.PP
XYou are to prepare two charts.  The first chart is to
Xconvert Farenheit to Celsius.  The second chart is to
Xpresent
Xa table of numbers, their squares, cubes, square roots, and
Xreciprocals.  The range of numbers \fImust\fP include 0.
X.PP
XYour programs should each include five parts:
X.sp 2
X.nf
X.in +5
X1.  \f|Definition of problem
X2.  \f|Preliminary Analysis
X3.  \f|Chart
X4.  \f|Actual code and a run
X5.  \f|Conclusions
X
*-*-END-of-TestData/hw1.w-*-*
echo Making directory bin
mkdir bin
echo end of sh-archive


