home *** CD-ROM | disk | FTP | other *** search
- Psroff 3.0 Installation Instructions
- 2.12 91/04/02
-
- Please see the TROUBLE file if you have difficulties.
- The README file does provide a bit more background on some
- of these issues. If you are installing for use with real
- ditroff, you'll also want to consult the DITROFF file during
- installation. After building and installing psroff, you
- will want to read the MISC file for further tuning.
-
- I suggest you print this file and read it while you work through
- your configuration.
-
- - Files that you will have to edit for proper configuration
- of psroff:
-
- defs.h
- Makefile
- lib/psrofflib.S
-
- Important note: as shipped, both defs.h and Makefile are
- configured for RS/6000 and most (if not all) stock System V's
- with the exception of MANDIR and MANEXT in Makefile.
- psrofflib.S MUST be changed for each system in the field.
-
- - Other files that may need to be customized for your needs:
-
- lib/*.lib
- lib/*.fonts
-
- If you have to alter any other files, please contact me and
- tell me where I've goofed.
-
- - If you have problems with the makefiles, you'll have to
- find a System 5 make. Many systems have them squirrelled
- away in odd places. Eg: Ultrix: /usr/bin/s5make
-
- If you have to do this, this should probably make things
- work:
- MAKE=<your System V make> export MAKE
- <your System V make> <make arguments>
- Eg:
- MAKE=/usr/bin/s5make export MAKE
- $(MAKE)
-
- - If you're building for ditroff input only, ignore the discussions
- on HEADERSIZE and trofftype.
-
- - Ditroff input only: copy the appropriate
- font width tables (try widthps/[A-Z]* for testing) to
- /usr/lib/font/dev<type> and run makedev or mkfont on them.
-
- - NOTE: You may wish to try running "make check" at this
- point, it should be able to find out the correct "HEADERSIZE"
- and "trofftype" setting so you don't have to guess later on.
- In any event, if you have problems and wish to ask me for help,
- I will be requiring that you mail me a copy of the first
- 50 lines or so of "make check" output.
-
- If you're running on RISC Ultrix ignore any HEADERSIZE or
- trofftype messages. The reason for this is that RISC
- Ultrix comes with width tables that cannot be read
- by the RISC Ultrix troff, and make check will be fooled.
- Define ASCIIWIDTHS in defs.h in this case. trofftype
- in psrofflib should be the -F variant in this case.
-
- Psroff builds width table files that *can* be used by
- RISC/Ultrix troff. You can tell if you need ASCIIWIDTHS
- defined if:
- echo ".fp 1 R" | troff -t > /dev/null
- says something nasty about non-numeric character in file,
- "may be non-ASCII".
-
- Apollos need the -F trofftype variant. Their HEADERSIZE
- calculation is strange. You should set HEADERSIZE
- to 0, and proceed with these instructions, but do NOT
- install psroff. Once you've built psroff, consult
- the TROUBLE file on how to run "dumpft -gv", which
- will tell you what your HEADERSIZE should be, then you
- should rebuild, test and install.
-
- The dumpft -gv trick will actually work on most systems
- (except RISC/Ultrix), but it requires you to rebuild psroff
- twice...
-
- - NOTE: during installs as root, the makefiles attempt to be
- careful about the modes of the files it creates. HOWEVER,
- some people do insist on "umask 077" for root, and I've
- probably not fixed everything. If psroff doesn't work
- after an install, I suggest that you check root's umask,
- and ensure that it's 002 or 022 before invoking any
- of the makefile install entries. If you forget, you
- can invoke:
- make fixperms
- on the upper level makefile.
-
- - type "make unpackljfonts" This will uudecode the font
- files I've supplied and remove the .UU files. This
- step is unneccessary if you're not using Laserjets,
- but it will regain you some space.
-
- - take a copy of the Makefile, defs.h and lib/psrofflib.S and
- squirrel them away somewhere. I'm not going to produce
- patch-independent configurators, so if a patch has to come
- out, they may well zap these three files. If so, you'll
- have to fix them manually. Other files (lib/*.fonts and
- lib/*.lib) are field-configurable, and it is possible I
- will patch a few of them later (particularly lj.fonts).
-
- - If you are using the supplied width tables (widths/widthps),
- all is fine. But, if you're going to be driving another
- package (eg: jetroff, tpscript, psdit, xtroff etc.) I suggest
- you find the ditroff-format ASCII width tables (DESC, R, I,
- S etc.), copy them to the appropriate widths/width<xx> area,
- modify psrofflib.S to know how to use these width tables,
- and possibly create *.fonts and *.lib files. psrofflib.S
- has copious comments on how to configure psroff.
-
- psdit, tpscript, xtroff, Pageview, Display Postscript and
- xproof work reasonably well using the Postscript widths in
- widthps.
-
- - edit Makefile and change whatever you need to.
-
- - edit defs.h and define either BSD or ATT. A few other options will
- pertain to you. Take special note of HEADERSIZE. Take a look
- at /usr/lib/font/ftR. Is it 224 bytes long? If so, HEADERSIZE
- should be 0. Otherwise you will probably have to set it to the
- size of your a.out.h structure. VAX Ultrix and Sun appear to always
- be HEADERSIZE = 32. See remark about RISC Ultrix above. If you're
- Apollo, see remark above, plus info in TROUBLE file about Apollos.
-
- With Laserjet driving:
-
- MDLF max # downloaded fonts supported per page.
- LJ+ have this as 16. Later models support more.
- PRELOAD # fonts statically downloaded.
- SFP enables SFP's with incremental font downloading.
- Needs INCR.
- INCR enable incremental font downloading. Needs PARTIAL.
- PARTIAL enable partial font downloading (only those characters
- troff could possibly use are downloaded). Needs PK.
- PK enables PK font handling. If PK is off, the only
- downloading supported is "cat <sfpfile>".
- COMPRESS permits you to compress SFP files.
-
- Why all this config? Well, when INCR is defined up to 16 fonts
- could be incore at any given moment, which can chew up a lot
- of space (especially with large pointsize SFP's). I very
- much doubt that you can use INCR on a 64K address space machine.
- (or even split I&D!) But you really *do* want to use INCR,
- otherwise you might blow the Laserjet's memory, and use of INCR
- *dramatically* decreases the transmission time to the printer.
-
- If INCR not defined, at most only one font will be in core.
-
- If PARTIAL is defined, only those characters that troff *could*
- use (remember ROMAN8 and MATH8 fonts have 192 characters each,
- but R and S have less than 108 each) are loaded into memory,
- and only they are downloaded to the Laserjet. This cuts down
- the amount of laserjet memory used for fonts by about half,
- and also cuts down transmission time.
-
- If PARTIAL is undefined, whole PK or SFPs are downloaded.
- if PK is undefined, only whole SFP's are downloaded. And this
- drops out the font handling machinery completely. Actually,
- on LJIII's this isn't such a bad idea unless you intend on
- using more than the built-in scaleable fonts.
-
- Certain HPLJ clones will apparently not work with incremental
- downloading. If your printer screws up, undef INCR, but
- make sure you have PARTIAL turned on and try again.
-
- - edit lib/psrofflib.S according to the instructions you find.
- Take special note of -T/-F handling for troff (trofftype) -
- check out your troff manual page! Suns and Ultrix want
- trofftype='-F/usr/lib/font/$width/ftXX'. If you're running
- postscript, you may want to eventually add the -Z option
- to the entry to make your printer REALLY run fast.
-
- - If you're going to be driving HP Laserjets without a Postscript
- cartridge:
-
- If you have PK fonts from TeX, ensure that PKFONTS
- is set reasonably in the Makefile. type:
-
- make buildljfonts
-
- This will generate under $NEWFONTS a whole pile of
- SFP's (PK's if SFP2PK is set to a good sfp2pk program,
- such as Rick Richardson's jetroff utility). It will
- also generate a $NEWFONTS/lj.fonts.new whose entries
- should be *merged* (not copied) with lib/lj.fonts.
- buildljfonts will generate a fair number of things,
- so you may have to fix your Makefile/defs.h configuration.
- Caution: if you have a lot of PK's, this will use up a LOT
- of space - 5000 blocks or more!
-
- See LASERFONTS file for further information.
-
- - if you're going to be driving HP Laserjets, type:
-
- su root
- make installljfonts
-
- This will attempt to copy the fonts I've supplied plus
- any created in the previous step to the $LJF directory.
-
- - Type
- make check
-
- This will attempt to figure out whether you got some of the
- more important options correct (trofftype & HEADERSIZE).
-
- - Type
-
- make
-
- This will build everything (including width tables for any
- HPLJ fonts you have supplied).
-
- - If you want to test psroff without actually installing it,
- you will have to install the width tables (because troff's
- limited as to where it will look for the width tables).
- As root,
-
- make installwidths
-
- Will install the widths as FONTDIR/ps/ftXX (which shouldn't
- conflict with anything you already have, and you'll be
- able to run "make test" without doing the "make install" first.
- Actually, psroff will work without this being done, but it
- will use the width tables that came with your troff, so the
- output will look a little odd (along with giving you a warning
- to that effect).
-
- - Final installation:
- As root,
- make install
- make installwidths
- Will install everything.
-
- - "make test" will print a test page. If you have problems,
- please run "make test", fill in the blanks, and mail me the
- result. (See the README for the address). The test page
- exercises all R & S troff characters at 10 point, and displays
- a few other characters at different point sizes. If you don't
- want to run psroff itself (eg: you've got troff2ps in a printer
- daemon), type:
-
- make TEST
- tbl TEST | troff -t -T<whatever> | <troff2ps server>
-
- "<troff2ps server>" may be "troff2ps -T<whatever> | your printer".
- [The -T<whatever> would be replaced with -F/usr/lib/font/<whatever>/ftXX
- if you are a -F type of troff (Suns, Ultrix etc.)]
-
- "TEST" is generated via make to include some information about
- your configuration to help me diagnose your problems.
-
- If you're running on Laserjets, and you're just using my
- fonts, you'll notice that the lines supposed to be 16 point
- won't be, and the "6" will be missing in italic and bold.
- Get some decent fonts.
-
- For ditroff input, "make dittest" and "make DITTEST" correspond
- to "make test" and "make TEST".
-
- Once you've printed the test sheet, if there seems to be any problems,
- consult the "TEST SHEET ANALYSIS" section of the TROUBLE files.
-
- - If you're running Postscript and you want to use n-up printing
- (see psxlate(1)), you should obtain the psnup distribution
- from comp.sources.misc. After building psnup, copy the
- nup.pro and nup.epi files to LIBDIR.
-
- - If you're running Display Postscript, via the "dpsexec"
- program, you may want to apply the patch mentioned in
- MISC.
-
- - If you have problems, read the TROUBLE file which describes
- some trouble-shooting.
-
- - At this point (presuming that you've successfully built, tested
- and installed everything), you might want to consult the MISC
- file for further customization.
-