🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sources.bugs
1 messages
1 total messages Started by Chris Lewis Tue, 10 Mar 1992 06:56
Official Patch 10 for Psroff 3.0
#726
Author: Chris Lewis
Date: Tue, 10 Mar 1992 06:56
2692 lines
73776 bytes
Archive-name: psroff3.0/Patch.10
Submitted-by: clewis@ferret.ocunix.on.ca (Chris Lewis)

    This is official patch 10 for Psroff 3.0.
    Please apply it by:
	cd <psroff source directory>
	patch -N -p < <this file>
    
    The base release of psroff3.0 and first four patches were in
    comp.sources.unix volume 24.

    This is a biggie.  95% of it is the introduction of "standard"
    named European characters.  Eg: \(^O.  *Only* for HP Laserjet III's.
    [PostScript support will occur in PL12].  The "make dittest"
    test sheets have been completely revised to match.  If you're
    using a HP LJIII with ditroff or groff, a "make dittest"
    should be very impressive.  Though, apparently, if you have only
    the default 1Mb in your printer, the PIC graphics (3rd page) will
    get truncated.  If you have CAT troff, and you set "v=1" (requiring
    Perl) in psrofflib.S, "make dittest" should do something equally
    impressive, but somewhat wrong - unfortunately.  I'm still working
    on that.  With ditroff, please disregard the messages from groff
    about the ligatures.  You will only get that on the test sheet.

    Other changes:
	- psrofflib.S sample entries for groff were hosed.  Fixed.
	- psrofflib.S now has Epson 24 pin examples (for hp2pbm)
	- minor lintish complaints here and there.
	- bug in as2ps about FF's as first character.
	- width installer can now cope with groff width directories.
	- round-off error in dit.c noticable in ".bd" (artificially
	  emboldened print) which is common in some man macro packages.
	- permit much longer font names in psdtwd.

Thanks to Chet Creider in being so patient with beta-testing the
European character set.

../lib/Makefile
../lib/lj3.fonts
../lib/lj3.lib
../lib/ps.lib
../lib/psrofflib.S
../lib/lj3u.fonts
../widths/widthlj3/DESC
../widths/widthlj3/I
../widths/widthlj3/R
../widths/widthlj3/X
../widths/widthlj3/B
../widths/widthlj3u/B
../widths/widthlj3u/I
../widths/widthlj3u/R
../widths/widthlj3u/X
../widths/widthlj3u/DESC
../widths/installdit.S
../utils/catconv.S
../utils/psdtwd.S
../utils/asc2ps.c
../tests/exttab.m
../tests/testtab.m
../dit.c
../defs.h
../Makefile
../psroff.S
../DITROFF
../makeincl.S
../lj3draw.c

Patchwrapped: 920310014225

Index: ./lib/Makefile
*** /tmp/PATCHold/./lib/Makefile	Tue Mar 10 01:36:51 1992
--- ./lib/Makefile	Tue Mar 10 01:36:53 1992
***************
*** 1,4 ****
! #2.3 91/04/04
  
  include ../makeincl
  
--- 1,4 ----
! #2.5 92/03/03
  
  include ../makeincl
  
***************
*** 24,27 ****
  install:
  	cd $(LIBDIR)/lib ; rm -f $(LIBS) lj3u.lib
  	cp $(LIBS) $(LIBDIR)/lib
! 	cd $(LIBDIR)/lib ; ln lj3.lib lj3u.lib
--- 24,31 ----
  install:
  	cd $(LIBDIR)/lib ; rm -f $(LIBS) lj3u.lib
  	cp $(LIBS) $(LIBDIR)/lib
! 	cd $(LIBDIR)/lib ; \
! 	    for i in lj3u ; \
! 	    do \
! 		ln lj3.lib $$i.lib ; \
! 	    done
Index: ./lib/lj3.fonts
*** /tmp/PATCHold/./lib/lj3.fonts	Tue Mar 10 01:37:15 1992
--- ./lib/lj3.fonts	Tue Mar 10 01:37:16 1992
***************
*** 1,4 ****
! #@(#)lj3.fonts 2.8 92/01/28
  #	Laserjet III fonts file.
  #	See lj.fonts for more explanation.
  #	The first ten fonts are the built-in scaleable typefaces.
--- 1,4 ----
! #@(#)lj3.fonts 2.13 92/03/03
  #	Laserjet III fonts file.
  #	See lj.fonts for more explanation.
  #	The first ten fonts are the built-in scaleable typefaces.
***************
*** 16,33 ****
  #			      |      | |  |  |		      12 18 24
  #			      |      | |  |  |		|||||||||||||||
  #			      v      v v  v  v		vvvvvvvvvvvvvvv
! R  Times-Roman		\033(7J\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! I  Times-Italic		\033(7J\033(s1p1s00b4101T	bbbbbbbbbbbbbbb
! B  Times-Bold		\033(7J\033(s1p0s03b4101T	bbbbbbbbbbbbbbb
  S  Symbol		\033(8M\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
  #	Scalable cartridge in LJIII - default doesn't use it.
  SD Symbol-Dingbats	\033(11L\033(s1p0s00b4141T	bbbbbbbbbbbbbbb
! X  Times-BoldItalic	\033(7J\033(s1p1s03b4101T	bbbbbbbbbbbbbbb
! UR Univers		\033(7J\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! UI Univers-Italic	\033(7J\033(s1p1s00b4148T	bbbbbbbbbbbbbbb
! UB Univers-Bold   	\033(7J\033(s1p0s03b4148T	bbbbbbbbbbbbbbb
  US Symbol		\033(8M\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! UX Univers-BoldItalic  	\033(7J\033(s1p1s03b4148T	bbbbbbbbbbbbbbb
  #	The rest are the built-in bitmap typefaces.
  #	Configurator does NOT place the width tables in the right place.
  #	Some of these can be found in FONTDIR/lj after installation and
--- 16,33 ----
  #			      |      | |  |  |		      12 18 24
  #			      |      | |  |  |		|||||||||||||||
  #			      v      v v  v  v		vvvvvvvvvvvvvvv
! R  Times-Roman		\033(8U\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! I  Times-Italic		\033(8U\033(s1p1s00b4101T	bbbbbbbbbbbbbbb
! B  Times-Bold		\033(8U\033(s1p0s03b4101T	bbbbbbbbbbbbbbb
  S  Symbol		\033(8M\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
  #	Scalable cartridge in LJIII - default doesn't use it.
  SD Symbol-Dingbats	\033(11L\033(s1p0s00b4141T	bbbbbbbbbbbbbbb
! X  Times-BoldItalic	\033(8U\033(s1p1s03b4101T	bbbbbbbbbbbbbbb
! UR Univers		\033(8U\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! UI Univers-Italic	\033(8U\033(s1p1s00b4148T	bbbbbbbbbbbbbbb
! UB Univers-Bold   	\033(8U\033(s1p0s03b4148T	bbbbbbbbbbbbbbb
  US Symbol		\033(8M\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! UX Univers-BoldItalic  	\033(8U\033(s1p1s03b4148T	bbbbbbbbbbbbbbb
  #	The rest are the built-in bitmap typefaces.
  #	Configurator does NOT place the width tables in the right place.
  #	Some of these can be found in FONTDIR/lj after installation and
***************
*** 46,64 ****
  #	
  #
  normal
! em N \253
! 14 N \307
! 12 N \310
! 34 N \311
! \- N \300
! ct N \251
! de N \304
! dg N \243
! rg N \246
! bu N \264
! fm N \305
! co N \245
! sq N \273
  symbol
  br N | -92 0
  eq S =
--- 46,57 ----
  #	
  #
  normal
! em S \354
! 34 N \365
! ct N \033(7J\251\033(8U
! rg N \033(7J\246\033(8U
! co N \033(7J\245\033(8U
! sq N \033(7J\273\033(8U
  symbol
  br N | -92 0
  eq S =
***************
*** 68,81 ****
  < S <
  sl S /
  != S \135
! aa N \360
! ga N \361
! ^ N \362
! ~ N \364
  es S \330
  ** S \356
  pl S +
- sc N \242
  #	Default encoding for bs/lh/rh
  bs S \301
  rh S \246
--- 61,71 ----
  < S <
  sl S /
  != S \135
! ^ N \252
! ~ N \254
  es S \330
  ** S \356
  pl S +
  #	Default encoding for bs/lh/rh
  bs S \301
  rh S \246
***************
*** 86,101 ****
  #rh 4 \301
  #lh 4 \341
  extensions
! *A N A
! *B N B
! *E N E
! *Z N Z
! *Y N Y
! *I N I
! *K N K
! *M N M
! *N N N
! *O N O
! *R N R
! *T N T
! *X N X
--- 76,158 ----
  #rh 4 \301
  #lh 4 \341
  extensions
! *A	N	A
! *B	N	B
! *E	N	E
! *Z	N	Z
! *Y	N	Y
! *I	N	I
! *K	N	K
! *M	N	M
! *N	N	N
! *O	N	O
! *R	N	R
! *T	N	T
! *X	N	X
! 'A	N	\340
! 'E	N	\334
! 'I	N	\345
! 'O	N	\347
! 'U	N	\355
! 'Y	N	\261
! 'a	N	\304
! 'e	N	\305
! 'i	N	\325
! 'o	N	\306
! 'u	N	\307
! 'y	N	\262
! ,C	N	\264
! ,c	N	\265
! -D	N	\343
! -d	N	\344
! ..	N	\253
! /O	N	\322
! /o	N	\326
! :A	N	\330
! :E	N	\245
! :I	N	\247
! :O	N	\332
! :U	N	\333
! :Y	N	\356
! :a	N	\314
! :e	N	\315
! :i	N	\335
! :o	N	\316
! :u	N	\317
! :y	N	\357
! AE	N	\323
! Sd	N	\344
! Ye	N	\274
! ^A	N	\242
! ^E	N	\244
! ^I	N	\246
! ^O	N	\337
! ^U	N	\256
! ^a	N	\300
! ^e	N	\301
! ^i	N	\321
! ^o	N	\302
! ^u	N	\303
! `A	N	\241
! `E	N	\243
! `I	N	\346
! `O	N	\350
! `U	N	\255
! `a	N	\310
! `e	N	\311
! `i	N	\331
! `o	N	\312
! `u	N	\313
! ae	N	\327
! oA	N	\320
! oa	N	\324
! r!	N	\270
! r?	N	\271
! vS	N	\353
! vs	N	\354
! ~A	N	\341
! ~N	N	\266
! ~O	N	\351
! ~a	N	\342
! ~n	N	\267
! ~o	N	\352
Index: ./lib/lj3.lib
*** /tmp/PATCHold/./lib/lj3.lib	Tue Mar 10 01:37:24 1992
--- ./lib/lj3.lib	Tue Mar 10 01:37:25 1992
***************
*** 29,41 ****
  %			\xAABB \022 A %hello
  %			Passes the following bytes: 0xAA, 0xBB, 022, and "A"
  %			through to the laserjet.
! %ident  @(#)lj3.lib: 2.2 Copyright 92/01/23 14:27:59 Chris Lewis"
  \033E\033&k2G			%reset printer, set CR=CR,LF=CRLF,FF=CRFF 
  \033&l6d66p0o0e66f0L		%letter size, portrait, no perf skip
  \0339				%reset side margins
  \033&a0h0V			%move cursor to 0,0
  \033*c6120x7920y0T\033\045 1B	%set HP-GL/2 picture frame, go to HP-GL/2
! IN;WU0;LW0.5;SP1;		%initialize, pen widths in MM, 0.5MM for pen 1
  LA1,4,2,4;			%set round line caps & joins
  TR0;				%set transparency mode off
  IP0,11176,8636,0;		%set orientation to match PCL
--- 29,41 ----
  %			\xAABB \022 A %hello
  %			Passes the following bytes: 0xAA, 0xBB, 022, and "A"
  %			through to the laserjet.
! %ident  @(#)lj3.lib: 2.3 Copyright 92/02/10 16:48:46 Chris Lewis"
  \033E\033&k2G			%reset printer, set CR=CR,LF=CRLF,FF=CRFF 
  \033&l6d66p0o0e66f0L		%letter size, portrait, no perf skip
  \0339				%reset side margins
  \033&a0h0V			%move cursor to 0,0
  \033*c6120x7920y0T\033\045 1B	%set HP-GL/2 picture frame, go to HP-GL/2
! IN;WU0;PW0.36;SP1;		%initialize, pen widths in MM, 0.36MM for pen 1
  LA1,4,2,4;			%set round line caps & joins
  TR0;				%set transparency mode off
  IP0,11176,8636,0;		%set orientation to match PCL
Index: ./lib/ps.lib
*** /tmp/PATCHold/./lib/ps.lib	Tue Mar 10 01:37:34 1992
--- ./lib/ps.lib	Tue Mar 10 01:37:35 1992
***************
*** 9,15 ****
  %	Module:		ps.lib
  %	Author: 	Chris Lewis
  %	Specs:		Predefinitions for PostScript
! %ident  @(#)ps.lib: 2.11 Copyright 91/03/28 19:25:44 Chris Lewis"
  
  /Y { 3 1 roll dup /CurY exch def moveto show } bind def
  /X { exch CurY moveto show } bind def
--- 9,15 ----
  %	Module:		ps.lib
  %	Author: 	Chris Lewis
  %	Specs:		Predefinitions for PostScript
! %ident  @(#)ps.lib: 2.12 Copyright 92/02/13 01:44:51 Chris Lewis"
  
  /Y { 3 1 roll dup /CurY exch def moveto show } bind def
  /X { exch CurY moveto show } bind def
***************
*** 485,491 ****
  } bind def
  
  /dost{
! 	currentlinewidth exch setlinewidth stroke setlinewidth
  } bind def
  
  %	This macro is invoked by ShowPage to display the current form.
--- 485,491 ----
  } bind def
  
  /dost{
! 	currentlinewidth exch 6 div setlinewidth stroke setlinewidth
  } bind def
  
  %	This macro is invoked by ShowPage to display the current form.
Index: ./lib/psrofflib.S
*** /tmp/PATCHold/./lib/psrofflib.S	Tue Mar 10 01:37:46 1992
--- ./lib/psrofflib.S	Tue Mar 10 01:37:48 1992
***************
*** 1,4 ****
! #	2.24 92/01/28
  #	This file controls psroff, you can insert additional printer
  #	types here.  These are eval'd *late* in processing, so that
  #	you can insert $copies etc.
--- 1,4 ----
! #	2.25 92/02/10
  #	This file controls psroff, you can insert additional printer
  #	types here.  These are eval'd *late* in processing, so that
  #	you can insert $copies etc.
***************
*** 255,263 ****
  cdps	lparg="> /tmp/dps$$; %%LIBDIR%%/dodps /tmp/dps$$; rm /tmp/dps$$'
  
  #	Using groff (gtroff actually) and driving LJ3:
! #	You have to copy widths/widthlj3/[A-Z]* to gtroff's
! #	width directories/devlj3 for this to work.
  troff=gtroff
  trofftype='-T$width'
! glj3	width=lj3 t2args='-Tlj3 -plj3 -N -Z -O0 -W%%FONTDIR%%/lj3 -G1'
! glj3	lparg='lp -og -d$ptr -n$copies' ptr=laser
--- 255,277 ----
  cdps	lparg="> /tmp/dps$$; %%LIBDIR%%/dodps /tmp/dps$$; rm /tmp/dps$$'
  
  #	Using groff (gtroff actually) and driving LJ3:
! #	You have to copy the lj3 widths to gtroff's width directories.
! #	Standard groff install:
! #	copy widths/widthlj3/[A-Z]* /usr/local/lib/groff/font/devlj3
! #	copy widths/widthlj3u/[A-Z]* /usr/local/lib/groff/font/devlj3u
! #	Remove the ligatures from devlj3*/[A-Z]
! #
  troff=gtroff
  trofftype='-T$width'
! glj3	width=lj3 t2arg='-Tlj3 -plj3 -N -Z -O0 -W%%FONTDIR%%/lj3 -G1'
! glj3	lparg='| lp -og -d$ptr -n$copies' ptr=laser
! #	Univers base:
! glj3u	width=lj3u t2arg='-Tlj3 -plj3u -N -Z -O0 -W%%FONTDIR%%/lj3u -G1'
! glj3u	lparg='| lp -og -d$ptr -n$copies' ptr=laser
! #
! #	Driving a Epson 24 pin printer with hp2pbm/pbm2e24/CAT troff
! #	The quoting in lparg is very picky.
! #	Requires that hp2e24 and pbm2e24 are installed in your path.
! troff=troff
! trofftype='-T$width'
! e24	width=lj t2arg=-Tlj lparg='| hp2e24 -r"| pbm2e24" | lp -d$ptr -og -n$copies' ptr=laser
Index: ./lib/lj3u.fonts
*** /tmp/PATCHold/./lib/lj3u.fonts	Tue Mar 10 01:37:58 1992
--- ./lib/lj3u.fonts	Tue Mar 10 01:37:59 1992
***************
*** 1,4 ****
! #@(#)lj3u.fonts 2.2 92/01/28
  #	Laserjet III fonts file.  Shuffled for Universal as primary typeface.
  #	See lj.fonts for more explanation.
  #	The first ten fonts are the built-in scaleable typefaces.
--- 1,4 ----
! #@(#)lj3u.fonts 2.7 92/03/03
  #	Laserjet III fonts file.  Shuffled for Universal as primary typeface.
  #	See lj.fonts for more explanation.
  #	The first ten fonts are the built-in scaleable typefaces.
***************
*** 16,33 ****
  #			      |      | |  |  |		      12 18 24
  #			      |      | |  |  |		|||||||||||||||
  #			      v      v v  v  v		vvvvvvvvvvvvvvv
! R Univers		\033(7J\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! I Univers-Italic	\033(7J\033(s1p1s00b4148T	bbbbbbbbbbbbbbb
! B Univers-Bold   	\033(7J\033(s1p0s03b4148T	bbbbbbbbbbbbbbb
  S Symbol		\033(8M\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
  #	Scalable cartridge in LJIII - default doesn't use it.
  SD Symbol-Dingbats	\033(11L\033(s1p0s00b4141T	bbbbbbbbbbbbbbb
! X Univers-BoldItalic  	\033(7J\033(s1p1s03b4148T	bbbbbbbbbbbbbbb
! TR  Times-Roman		\033(7J\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! TI  Times-Italic	\033(7J\033(s1p1s00b4101T	bbbbbbbbbbbbbbb
! TB  Times-Bold		\033(7J\033(s1p0s03b4101T	bbbbbbbbbbbbbbb
  TS  Symbol		\033(8M\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! TX  Times-BoldItalic	\033(7J\033(s1p1s03b4101T	bbbbbbbbbbbbbbb
  #	The rest are the built-in bitmap typefaces.
  #	Configurator does NOT place the width tables in the right place.
  #	Some of these can be found in FONTDIR/lj after installation and
--- 16,33 ----
  #			      |      | |  |  |		      12 18 24
  #			      |      | |  |  |		|||||||||||||||
  #			      v      v v  v  v		vvvvvvvvvvvvvvv
! R Univers		\033(8U\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
! I Univers-Italic	\033(8U\033(s1p1s00b4148T	bbbbbbbbbbbbbbb
! B Univers-Bold   	\033(8U\033(s1p0s03b4148T	bbbbbbbbbbbbbbb
  S Symbol		\033(8M\033(s1p0s00b4148T	bbbbbbbbbbbbbbb
  #	Scalable cartridge in LJIII - default doesn't use it.
  SD Symbol-Dingbats	\033(11L\033(s1p0s00b4141T	bbbbbbbbbbbbbbb
! X Univers-BoldItalic  	\033(8U\033(s1p1s03b4148T	bbbbbbbbbbbbbbb
! TR  Times-Roman		\033(8U\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! TI  Times-Italic	\033(8U\033(s1p1s00b4101T	bbbbbbbbbbbbbbb
! TB  Times-Bold		\033(8U\033(s1p0s03b4101T	bbbbbbbbbbbbbbb
  TS  Symbol		\033(8M\033(s1p0s00b4101T	bbbbbbbbbbbbbbb
! TX  Times-BoldItalic	\033(8U\033(s1p1s03b4101T	bbbbbbbbbbbbbbb
  #	The rest are the built-in bitmap typefaces.
  #	Configurator does NOT place the width tables in the right place.
  #	Some of these can be found in FONTDIR/lj after installation and
***************
*** 46,64 ****
  #	
  #
  normal
! em N \253
! 14 N \307
! 12 N \310
! 34 N \311
! \- N \300
! ct N \251
! de N \304
! dg N \243
! rg N \246
! bu N \264
! fm N \305
! co N \245
! sq N \273
  symbol
  br N | -92 0
  eq S =
--- 46,57 ----
  #	
  #
  normal
! em S \354
! 34 N \365
! ct N \033(7J\251\033(8U
! rg N \033(7J\246\033(8U
! co N \033(7J\245\033(8U
! sq N \033(7J\273\033(8U
  symbol
  br N | -92 0
  eq S =
***************
*** 68,81 ****
  < S <
  sl S /
  != S \135
! aa N \360
! ga N \361
! ^ N \362
! ~ N \364
  es S \330
  ** S \356
  pl S +
- sc N \242
  #	Default encoding for bs/lh/rh
  bs S \301
  rh S \246
--- 61,71 ----
  < S <
  sl S /
  != S \135
! ^ N \252
! ~ N \254
  es S \330
  ** S \356
  pl S +
  #	Default encoding for bs/lh/rh
  bs S \301
  rh S \246
***************
*** 86,101 ****
  #rh 4 \301
  #lh 4 \341
  extensions
! *A N A
! *B N B
! *E N E
! *Z N Z
! *Y N Y
! *I N I
! *K N K
! *M N M
! *N N N
! *O N O
! *R N R
! *T N T
! *X N X
--- 76,158 ----
  #rh 4 \301
  #lh 4 \341
  extensions
! *A	N	A
! *B	N	B
! *E	N	E
! *Z	N	Z
! *Y	N	Y
! *I	N	I
! *K	N	K
! *M	N	M
! *N	N	N
! *O	N	O
! *R	N	R
! *T	N	T
! *X	N	X
! 'A	N	\340
! 'E	N	\334
! 'I	N	\345
! 'O	N	\347
! 'U	N	\355
! 'Y	N	\261
! 'a	N	\304
! 'e	N	\305
! 'i	N	\325
! 'o	N	\306
! 'u	N	\307
! 'y	N	\262
! ,C	N	\264
! ,c	N	\265
! -D	N	\343
! -d	N	\344
! ..	N	\253
! /O	N	\322
! /o	N	\326
! :A	N	\330
! :E	N	\245
! :I	N	\247
! :O	N	\332
! :U	N	\333
! :Y	N	\356
! :a	N	\314
! :e	N	\315
! :i	N	\335
! :o	N	\316
! :u	N	\317
! :y	N	\357
! AE	N	\323
! Sd	N	\344
! Ye	N	\274
! ^A	N	\242
! ^E	N	\244
! ^I	N	\246
! ^O	N	\337
! ^U	N	\256
! ^a	N	\300
! ^e	N	\301
! ^i	N	\321
! ^o	N	\302
! ^u	N	\303
! `A	N	\241
! `E	N	\243
! `I	N	\346
! `O	N	\350
! `U	N	\255
! `a	N	\310
! `e	N	\311
! `i	N	\331
! `o	N	\312
! `u	N	\313
! ae	N	\327
! oA	N	\320
! oa	N	\324
! r!	N	\270
! r?	N	\271
! vS	N	\353
! vs	N	\354
! ~A	N	\341
! ~N	N	\266
! ~O	N	\351
! ~a	N	\342
! ~n	N	\267
! ~o	N	\352
Index: ./widths/widthlj3/DESC
*** /tmp/PATCHold/./widths/widthlj3/DESC	Tue Mar 10 01:38:11 1992
--- ./widths/widthlj3/DESC	Tue Mar 10 01:38:12 1992
***************
*** 1,4 ****
! #	2.3 91/04/04
  #	special fonts have to go at the end or else troff
  #	won't know about their numbers unless you do .fp
  #
--- 1,4 ----
! #	2.5 92/02/13
  #	special fonts have to go at the end or else troff
  #	won't know about their numbers unless you do .fp
  #
***************
*** 14,30 ****
  paperwidth 3456
  paperlength 4752
  charset
! \| \^ \- \` \'
! em hy bu sq ru fi fl ff Fi Fl de dg fm ct rg co
! sc aa ga dd
! *A *B *C *D *E *F *G *H *I *K *L *M *N *O *P *Q *R *S *T *U *W *X *Y *Z
! *a *b *c *d *e *f *g *h *i *k *l *m *n *o *p *q *r *s *t *u *w *x *y *z
! pl mi eq ** ul sl sr rn >= <= == ~= ap != -> <- ua da mu di +- ts
! cu ca sb sp ib ip if pd gr no is pt es mo
! br or ci lt lb rt rb lk rk bv lf rf lc rc
! 12 13 14 18 23 34 38 58 78 rh lh
! $J '' .. AE I! I? O/ PL Pl ae be bq cd d< d> dt hc l< lq ma n' o/ oe og
! pm po pp r> ri rq sd ss ui um a~ a^ OE A: O: U: a: o: u:
! !m nm !s :> <: <> a+ ag al an ax bt cm cr dm fa im io la lo m. mt te tf tm =~
! AL Cc Cd Ch Cs L< R> r1 r2 u= d=
! bx bs
--- 14,26 ----
  paperwidth 3456
  paperlength 4752
  charset
! != 'A 'E 'I 'O 'U 'Y 'a 'e 'i 'o 'u 'y ** *C *D *F *G *H *L
! *P *Q *S *U *W *a *b *c *d *e *f *g *h *i *k *l *m *n *o *p
! *q *r *s *t *u *w *x *y *z +- ,C ,c -> -D -d .. /O /o 12 14
! 34 :A :E :I :O :U :Y :a :e :i :o :u :y <- <= == >= AE Fi Fl
! Sd Ye \- \^ \| ^A ^E ^I ^O ^U ^a ^e ^i ^o ^u `A `E `I `O `U
! `a `e `i `o `u aa ae ap br bs bu bv ca ci co ct cu da dd de
! dg di em eq es ff fi fl fm ga gr hy ib if ip is lb lc lf lh
! lk lt mi mo mu no oA oa or pd pl pt r! r? rb rc rf rg rh rk
! rn rt ru sb sc sl sp sq sr ts ua ul ~= ~A ~N ~O ~a ~n ~o vs
! vS
Index: ./widths/widthlj3/I
*** /tmp/PATCHold/./widths/widthlj3/I	Tue Mar 10 01:38:19 1992
--- ./widths/widthlj3/I	Tue Mar 10 01:38:20 1992
***************
*** 1,5 ****
  # Times-Italic
! #2.1 91/04/04
  name I
  internalname TmsItalic
  ligatures fi fl 0
--- 1,5 ----
  # Times-Italic
! #2.6 92/03/03
  name I
  internalname TmsItalic
  ligatures fi fl 0
***************
*** 98,108 ****
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	20	3	01460151
! fl	20	3	01460154
! ff	20	3	01460146
! Fi	30	3	014601460151
! Fl	30	3	014601460154
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
--- 98,108 ----
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	20	3	0146
! fl	20	3	0146
! ff	20	3	0146
! Fi	30	3	0146
! Fl	30	3	0146
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	22	2	0340	Aacute
+ 'E	22	2	0334	Eacute
+ 'I	12	2	0345	Iacute
+ 'O	26	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	20	2	0261	Yacute
+ 'a	18	2	0304	aacute
+ 'e	16	2	0305	eacute
+ 'i	10	2	0325	iacute
+ 'o	18	2	0306	oacute
+ 'u	18	2	0307	uacute
+ 'y	16	3	0262	yacute
+ ,C	24	3	0264	Ccedilla
+ ,c	16	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	18	2	0344	dbar
+ ..	18	2	0253	dieresis
+ /O	26	3	0322	Oslash
+ /o	18	3	0326	oslash
+ :A	22	2	0330	Adieresis
+ :E	22	2	0245	Edieresis
+ :I	12	2	0247	Idieresis
+ :O	26	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	20	2	0356	Ydieresis
+ :a	18	2	0314	adieresis
+ :e	16	2	0315	edieresis
+ :i	10	2	0335	idieresis
+ :o	18	2	0316	odieresis
+ :u	18	2	0317	udieresis
+ :y	16	3	0357	ydieresis
+ AE	30	2	0323	AE
+ Sd	18	2	0344	eth
+ Ye	20	2	0274	yen
+ ^A	22	2	0242	Acircumflex
+ ^E	22	2	0244	Ecircumflex
+ ^I	12	2	0246	Icircumflex
+ ^O	26	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	18	2	0300	acircumflex
+ ^e	16	2	0301	ecircumflex
+ ^i	10	2	0321	icircumflex
+ ^o	18	2	0302	ocircumflex
+ ^u	18	2	0303	ucircumflex
+ `A	22	2	0241	Agrave
+ `E	22	2	0243	Egrave
+ `I	12	2	0346	Igrave
+ `O	26	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	18	2	0310	agrave
+ `e	16	2	0311	egrave
+ `i	10	2	0331	igrave
+ `o	18	2	0312	ograve
+ `u	18	2	0313	ugrave
+ ae	24	0	0327	ae
+ oA	22	2	0320	Aring
+ oa	18	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	18	1	0271	questiondown
+ vS	18	2	0353	Scaron
+ vs	14	2	0354	scaron
+ ~A	22	2	0341	Atilde
+ ~N	24	2	0266	Ntilde
+ ~O	26	2	0351	Otilde
+ ~a	18	2	0342	atilde
+ ~n	18	2	0267	ntilde
+ ~o	18	2	0352	otilde
Index: ./widths/widthlj3/R
*** /tmp/PATCHold/./widths/widthlj3/R	Tue Mar 10 01:38:28 1992
--- ./widths/widthlj3/R	Tue Mar 10 01:38:29 1992
***************
*** 1,5 ****
  # Times-Roman
! #2.1 91/04/04
  name R
  internalname TmsRoman
  ligatures fi fl 0
--- 1,5 ----
  # Times-Roman
! #2.6 92/03/03
  name R
  internalname TmsRoman
  ligatures fi fl 0
***************
*** 98,108 ****
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	22	2	01460151
! fl	22	2	01460154
! ff	24	2	01460146
! Fi	34	2	014601460151
! Fl	34	2	014601460154
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
--- 98,108 ----
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	22	2	0146
! fl	22	2	0146
! ff	24	2	0146
! Fi	34	2	0146
! Fl	34	2	0146
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	26	2	0340	Aacute
+ 'E	23	2	0334	Eacute
+ 'I	12	2	0345	Iacute
+ 'O	26	2	0347	Oacute
+ 'U	27	2	0355	Uacute
+ 'Y	26	2	0261	Yacute
+ 'a	16	2	0304	aacute
+ 'e	16	2	0305	eacute
+ 'i	10	2	0325	iacute
+ 'o	18	2	0306	oacute
+ 'u	18	2	0307	uacute
+ 'y	18	3	0262	yacute
+ ,C	25	3	0264	Ccedilla
+ ,c	16	1	0265	ccedilla
+ -D	27	2	0343	Eth
+ -d	18	2	0344	dbar
+ ..	18	2	0253	dieresis
+ /O	26	3	0322	Oslash
+ /o	18	3	0326	oslash
+ :A	26	2	0330	Adieresis
+ :E	23	2	0245	Edieresis
+ :I	12	2	0247	Idieresis
+ :O	26	2	0332	Odieresis
+ :U	27	2	0333	Udieresis
+ :Y	26	2	0356	Ydieresis
+ :a	16	2	0314	adieresis
+ :e	16	2	0315	edieresis
+ :i	10	2	0335	idieresis
+ :o	18	2	0316	odieresis
+ :u	18	2	0317	udieresis
+ :y	18	3	0357	ydieresis
+ AE	34	2	0323	AE
+ Sd	18	2	0344	eth
+ Ye	26	2	0274	yen
+ ^A	26	2	0242	Acircumflex
+ ^E	23	2	0244	Ecircumflex
+ ^I	12	2	0246	Icircumflex
+ ^O	26	2	0337	Ocircumflex
+ ^U	27	2	0256	Ucircumflex
+ ^a	16	2	0300	acircumflex
+ ^e	16	2	0301	ecircumflex
+ ^i	10	2	0321	icircumflex
+ ^o	18	2	0302	ocircumflex
+ ^u	18	2	0303	ucircumflex
+ `A	26	2	0241	Agrave
+ `E	23	2	0243	Egrave
+ `I	12	2	0346	Igrave
+ `O	26	2	0350	Ograve
+ `U	27	2	0255	Ugrave
+ `a	16	2	0310	agrave
+ `e	16	2	0311	egrave
+ `i	10	2	0331	igrave
+ `o	18	2	0312	ograve
+ `u	18	2	0313	ugrave
+ ae	26	0	0327	ae
+ oA	26	2	0320	Aring
+ oa	16	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	16	1	0271	questiondown
+ vS	19	2	0353	Scaron
+ vs	14	2	0354	scaron
+ ~A	26	2	0341	Atilde
+ ~N	27	2	0266	Ntilde
+ ~O	26	2	0351	Otilde
+ ~a	16	2	0342	atilde
+ ~n	18	2	0267	ntilde
+ ~o	18	2	0352	otilde
Index: ./widths/widthlj3/X
*** /tmp/PATCHold/./widths/widthlj3/X	Tue Mar 10 01:38:37 1992
--- ./widths/widthlj3/X	Tue Mar 10 01:38:38 1992
***************
*** 1,5 ****
  # Times-BoldItalic
! #2.1 91/04/04
  name X
  internalname TmsBdIt
  ligatures fi fl 0
--- 1,5 ----
  # Times-BoldItalic
! #2.7 92/03/03
  name X
  internalname TmsBdIt
  ligatures fi fl 0
***************
*** 98,108 ****
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	23	3	01460151
! fl	23	3	01460154
! ff	26	3	01460146
! Fi	36	3	014601460151
! Fl	36	3	014601460154
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
--- 98,108 ----
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	23	3	0146
! fl	23	3	0146
! ff	26	3	0146
! Fi	36	3	0146
! Fl	36	3	0146
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	24	2	0340	Aacute
+ 'E	24	2	0334	Eacute
+ 'I	14	2	0345	Iacute
+ 'O	26	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	22	2	0261	Yacute
+ 'a	18	2	0304	aacute
+ 'e	16	2	0305	eacute
+ 'i	10	2	0325	iacute
+ 'o	18	2	0306	oacute
+ 'u	20	2	0307	uacute
+ 'y	16	3	0262	yacute
+ ,C	24	3	0264	Ccedilla
+ ,c	16	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	18	2	0344	dbar
+ ..	18	2	0253	dieresis
+ /O	26	3	0322	Oslash
+ /o	18	3	0326	oslash
+ :A	24	2	0330	Adieresis
+ :E	24	2	0245	Edieresis
+ :I	14	2	0247	Idieresis
+ :O	26	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	22	2	0356	Ydieresis
+ :a	18	2	0314	adieresis
+ :e	16	2	0315	edieresis
+ :i	10	2	0335	idieresis
+ :o	18	2	0316	odieresis
+ :u	20	2	0317	udieresis
+ :y	16	3	0357	ydieresis
+ AE	32	2	0323	AE
+ Sd	18	2	0344	eth
+ Ye	22	2	0274	yen
+ ^A	24	2	0242	Acircumflex
+ ^E	24	2	0244	Ecircumflex
+ ^I	14	2	0246	Icircumflex
+ ^O	26	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	18	2	0300	acircumflex
+ ^e	16	2	0301	ecircumflex
+ ^i	10	2	0321	icircumflex
+ ^o	18	2	0302	ocircumflex
+ ^u	20	2	0303	ucircumflex
+ `A	24	2	0241	Agrave
+ `E	24	2	0243	Egrave
+ `I	14	2	0346	Igrave
+ `O	26	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	18	2	0310	agrave
+ `e	16	2	0311	egrave
+ `i	10	2	0331	igrave
+ `o	18	2	0312	ograve
+ `u	20	2	0313	ugrave
+ ae	24	0	0327	ae
+ oA	24	2	0320	Aring
+ oa	18	2	0324	aring
+ r!	14	1	0270	exclamdown
+ r?	18	1	0271	questiondown
+ vS	20	2	0353	Scaron
+ vs	14	2	0354	scaron
+ ~A	24	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	26	2	0351	Otilde
+ ~a	18	2	0342	atilde
+ ~n	20	2	0267	ntilde
+ ~o	18	2	0352	otilde
Index: ./widths/widthlj3/B
*** /tmp/PATCHold/./widths/widthlj3/B	Tue Mar 10 01:38:46 1992
--- ./widths/widthlj3/B	Tue Mar 10 01:38:47 1992
***************
*** 1,5 ****
  # Times-Bold
! #2.1 91/04/04
  name B
  internalname TmsBold
  ligatures fi fl 0
--- 1,5 ----
  # Times-Bold
! #2.6 92/03/03
  name B
  internalname TmsBold
  ligatures fi fl 0
***************
*** 98,108 ****
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	23	2	01460151
! fl	23	2	01460154
! ff	26	2	01460146
! Fi	36	2	014601460151
! Fl	36	2	014601460154
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
--- 98,108 ----
  12	32	2	0310
  34	32	2	0311
  \-	32	0	0300
! fi	23	2	0146
! fl	23	2	0146
! ff	26	2	0146
! Fi	36	2	0146
! Fl	36	2	0146
  de	18	2	0304
  dg	18	3	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	26	2	0340	Aacute
+ 'E	24	2	0334	Eacute
+ 'I	14	2	0345	Iacute
+ 'O	28	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	26	2	0261	Yacute
+ 'a	18	2	0304	aacute
+ 'e	16	2	0305	eacute
+ 'i	10	2	0325	iacute
+ 'o	18	2	0306	oacute
+ 'u	20	2	0307	uacute
+ 'y	18	3	0262	yacute
+ ,C	26	3	0264	Ccedilla
+ ,c	16	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	20	2	0344	dbar
+ ..	18	2	0253	dieresis
+ /O	28	3	0322	Oslash
+ /o	18	3	0326	oslash
+ :A	26	2	0330	Adieresis
+ :E	24	2	0245	Edieresis
+ :I	14	2	0247	Idieresis
+ :O	28	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	26	2	0356	Ydieresis
+ :a	18	2	0314	adieresis
+ :e	16	2	0315	edieresis
+ :i	10	2	0335	idieresis
+ :o	18	2	0316	odieresis
+ :u	20	2	0317	udieresis
+ :y	18	3	0357	ydieresis
+ AE	36	2	0323	AE
+ Sd	20	2	0344	eth
+ Ye	26	2	0274	yen
+ ^A	26	2	0242	Acircumflex
+ ^E	24	2	0244	Ecircumflex
+ ^I	14	2	0246	Icircumflex
+ ^O	28	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	18	2	0300	acircumflex
+ ^e	16	2	0301	ecircumflex
+ ^i	10	2	0321	icircumflex
+ ^o	18	2	0302	ocircumflex
+ ^u	20	2	0303	ucircumflex
+ `A	26	2	0241	Agrave
+ `E	24	2	0243	Egrave
+ `I	14	2	0346	Igrave
+ `O	28	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	18	2	0310	agrave
+ `e	16	2	0311	egrave
+ `i	10	2	0331	igrave
+ `o	18	2	0312	ograve
+ `u	20	2	0313	ugrave
+ ae	26	0	0327	ae
+ oA	26	2	0320	Aring
+ oa	18	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	18	1	0271	questiondown
+ vS	20	2	0353	Scaron
+ vs	14	2	0354	scaron
+ ~A	26	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	28	2	0351	Otilde
+ ~a	18	2	0342	atilde
+ ~n	20	2	0267	ntilde
+ ~o	18	2	0352	otilde
Index: ./widths/widthlj3u/B
*** /tmp/PATCHold/./widths/widthlj3u/B	Tue Mar 10 01:39:01 1992
--- ./widths/widthlj3u/B	Tue Mar 10 01:39:03 1992
***************
*** 1,5 ****
  # Univers-Bold
! #2.1 91/04/04
  name B
  internalname UniBold
  ligatures fi fl 0
--- 1,5 ----
  # Univers-Bold
! #2.6 92/03/03
  name B
  internalname UniBold
  ligatures fi fl 0
***************
*** 98,108 ****
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	01460151
! fl	22	2	01460154
! ff	26	2	01460146
! Fi	35	2	014601460151
! Fl	35	2	014601460154
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
--- 98,108 ----
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	0146
! fl	22	2	0146
! ff	26	2	0146
! Fi	35	2	0146
! Fl	35	2	0146
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	27	2	0340	Aacute
+ 'E	21	2	0334	Eacute
+ 'I	10	2	0345	Iacute
+ 'O	27	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	25	2	0261	Yacute
+ 'a	19	2	0304	aacute
+ 'e	19	2	0305	eacute
+ 'i	9	2	0325	iacute
+ 'o	21	2	0306	oacute
+ 'u	21	2	0307	uacute
+ 'y	20	3	0262	yacute
+ ,C	25	3	0264	Ccedilla
+ ,c	19	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	21	2	0344	dbar
+ ..	23	2	0253	dieresis
+ /O	27	3	0322	Oslash
+ /o	21	3	0326	oslash
+ :A	27	2	0330	Adieresis
+ :E	21	2	0245	Edieresis
+ :I	10	2	0247	Idieresis
+ :O	27	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	25	2	0356	Ydieresis
+ :a	19	2	0314	adieresis
+ :e	19	2	0315	edieresis
+ :i	9	2	0335	idieresis
+ :o	21	2	0316	odieresis
+ :u	21	2	0317	udieresis
+ :y	20	3	0357	ydieresis
+ AE	36	2	0323	AE
+ Sd	21	2	0344	eth
+ Ye	25	2	0274	yen
+ ^A	27	2	0242	Acircumflex
+ ^E	21	2	0244	Ecircumflex
+ ^I	10	2	0246	Icircumflex
+ ^O	27	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	19	2	0300	acircumflex
+ ^e	19	2	0301	ecircumflex
+ ^i	9	2	0321	icircumflex
+ ^o	21	2	0302	ocircumflex
+ ^u	21	2	0303	ucircumflex
+ `A	27	2	0241	Agrave
+ `E	21	2	0243	Egrave
+ `I	10	2	0346	Igrave
+ `O	27	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	19	2	0310	agrave
+ `e	19	2	0311	egrave
+ `i	9	2	0331	igrave
+ `o	21	2	0312	ograve
+ `u	21	2	0313	ugrave
+ ae	31	0	0327	ae
+ oA	27	2	0320	Aring
+ oa	19	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	19	1	0271	questiondown
+ vS	23	2	0353	Scaron
+ vs	18	2	0354	scaron
+ ~A	27	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	27	2	0351	Otilde
+ ~a	19	2	0342	atilde
+ ~n	21	2	0267	ntilde
+ ~o	21	2	0352	otilde
Index: ./widths/widthlj3u/I
*** /tmp/PATCHold/./widths/widthlj3u/I	Tue Mar 10 01:39:11 1992
--- ./widths/widthlj3u/I	Tue Mar 10 01:39:12 1992
***************
*** 1,5 ****
  # Univers-Italic
! #2.1 91/04/04
  name I
  internalname UniItalic
  ligatures fi fl 0
--- 1,5 ----
  # Univers-Italic
! #2.6 92/03/03
  name I
  internalname UniItalic
  ligatures fi fl 0
***************
*** 98,108 ****
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	01460151
! fl	22	2	01460154
! ff	25	2	01460146
! Fi	35	2	014601460151
! Fl	35	2	014601460154
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
--- 98,108 ----
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	0146
! fl	22	2	0146
! ff	25	2	0146
! Fi	35	2	0146
! Fl	35	2	0146
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	27	2	0340	Aacute
+ 'E	21	2	0334	Eacute
+ 'I	10	2	0345	Iacute
+ 'O	27	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	25	2	0261	Yacute
+ 'a	19	2	0304	aacute
+ 'e	19	2	0305	eacute
+ 'i	9	2	0325	iacute
+ 'o	21	2	0306	oacute
+ 'u	21	2	0307	uacute
+ 'y	20	3	0262	yacute
+ ,C	25	3	0264	Ccedilla
+ ,c	19	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	21	2	0344	dbar
+ ..	23	2	0253	dieresis
+ /O	27	3	0322	Oslash
+ /o	21	3	0326	oslash
+ :A	27	2	0330	Adieresis
+ :E	21	2	0245	Edieresis
+ :I	10	2	0247	Idieresis
+ :O	27	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	25	2	0356	Ydieresis
+ :a	19	2	0314	adieresis
+ :e	19	2	0315	edieresis
+ :i	9	2	0335	idieresis
+ :o	21	2	0316	odieresis
+ :u	21	2	0317	udieresis
+ :y	20	3	0357	ydieresis
+ AE	36	2	0323	AE
+ Sd	21	2	0344	eth
+ Ye	25	2	0274	yen
+ ^A	27	2	0242	Acircumflex
+ ^E	21	2	0244	Ecircumflex
+ ^I	10	2	0246	Icircumflex
+ ^O	27	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	19	2	0300	acircumflex
+ ^e	19	2	0301	ecircumflex
+ ^i	9	2	0321	icircumflex
+ ^o	21	2	0302	ocircumflex
+ ^u	21	2	0303	ucircumflex
+ `A	27	2	0241	Agrave
+ `E	21	2	0243	Egrave
+ `I	10	2	0346	Igrave
+ `O	27	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	19	2	0310	agrave
+ `e	19	2	0311	egrave
+ `i	9	2	0331	igrave
+ `o	21	2	0312	ograve
+ `u	21	2	0313	ugrave
+ ae	31	0	0327	ae
+ oA	27	2	0320	Aring
+ oa	19	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	19	1	0271	questiondown
+ vS	23	2	0353	Scaron
+ vs	18	2	0354	scaron
+ ~A	27	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	27	2	0351	Otilde
+ ~a	19	2	0342	atilde
+ ~n	21	2	0267	ntilde
+ ~o	21	2	0352	otilde
Index: ./widths/widthlj3u/R
*** /tmp/PATCHold/./widths/widthlj3u/R	Tue Mar 10 01:39:20 1992
--- ./widths/widthlj3u/R	Tue Mar 10 01:39:21 1992
***************
*** 1,5 ****
  # Univers-Roman
! #2.1 91/04/04
  name R
  internalname UniRoman
  ligatures fi fl 0
--- 1,5 ----
  # Univers-Roman
! #2.6 92/03/03
  name R
  internalname UniRoman
  ligatures fi fl 0
***************
*** 98,108 ****
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	01460151
! fl	22	2	01460154
! ff	26	2	01460146
! Fi	35	2	014601460151
! Fl	35	2	014601460154
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
--- 98,108 ----
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	0146
! fl	22	2	0146
! ff	26	2	0146
! Fi	35	2	0146
! Fl	35	2	0146
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	27	2	0340	Aacute
+ 'E	21	2	0334	Eacute
+ 'I	10	2	0345	Iacute
+ 'O	27	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	25	2	0261	Yacute
+ 'a	19	2	0304	aacute
+ 'e	19	2	0305	eacute
+ 'i	9	2	0325	iacute
+ 'o	21	2	0306	oacute
+ 'u	21	2	0307	uacute
+ 'y	20	3	0262	yacute
+ ,C	25	3	0264	Ccedilla
+ ,c	19	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	21	2	0344	dbar
+ ..	23	2	0253	dieresis
+ /O	27	3	0322	Oslash
+ /o	21	3	0326	oslash
+ :A	27	2	0330	Adieresis
+ :E	21	2	0245	Edieresis
+ :I	10	2	0247	Idieresis
+ :O	27	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	25	2	0356	Ydieresis
+ :a	19	2	0314	adieresis
+ :e	19	2	0315	edieresis
+ :i	9	2	0335	idieresis
+ :o	21	2	0316	odieresis
+ :u	21	2	0317	udieresis
+ :y	20	3	0357	ydieresis
+ AE	36	2	0323	AE
+ Sd	21	2	0344	eth
+ Ye	25	2	0274	yen
+ ^A	27	2	0242	Acircumflex
+ ^E	21	2	0244	Ecircumflex
+ ^I	10	2	0246	Icircumflex
+ ^O	27	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	19	2	0300	acircumflex
+ ^e	19	2	0301	ecircumflex
+ ^i	9	2	0321	icircumflex
+ ^o	21	2	0302	ocircumflex
+ ^u	21	2	0303	ucircumflex
+ `A	27	2	0241	Agrave
+ `E	21	2	0243	Egrave
+ `I	10	2	0346	Igrave
+ `O	27	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	19	2	0310	agrave
+ `e	19	2	0311	egrave
+ `i	9	2	0331	igrave
+ `o	21	2	0312	ograve
+ `u	21	2	0313	ugrave
+ ae	31	0	0327	ae
+ oA	27	2	0320	Aring
+ oa	19	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	19	1	0271	questiondown
+ vS	23	2	0353	Scaron
+ vs	18	2	0354	scaron
+ ~A	27	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	27	2	0351	Otilde
+ ~a	19	2	0342	atilde
+ ~n	21	2	0267	ntilde
+ ~o	21	2	0352	otilde
Index: ./widths/widthlj3u/X
*** /tmp/PATCHold/./widths/widthlj3u/X	Tue Mar 10 01:39:28 1992
--- ./widths/widthlj3u/X	Tue Mar 10 01:39:30 1992
***************
*** 1,5 ****
  # Univers-BoldItalic
! #2.1 91/04/04
  name X
  internalname UniBdIt
  ligatures fi fl 0
--- 1,5 ----
  # Univers-BoldItalic
! #2.6 92/03/03
  name X
  internalname UniBdIt
  ligatures fi fl 0
***************
*** 98,108 ****
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	01460151
! fl	22	2	01460154
! ff	26	2	01460146
! Fi	35	2	014601460151
! Fl	35	2	014601460154
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
--- 98,108 ----
  12	36	3	0310
  34	36	3	0311
  \-	36	0	0300
! fi	22	2	0146
! fl	22	2	0146
! ff	26	2	0146
! Fi	35	2	0146
! Fl	35	2	0146
  de	23	2	0304
  dg	23	2	0243
  fm	12	2	0305
***************
*** 126,128 ****
--- 126,195 ----
  ap	36	0	0176
  br	1	3	0174
  or	18	3	0174
+ 'A	27	2	0340	Aacute
+ 'E	21	2	0334	Eacute
+ 'I	10	2	0345	Iacute
+ 'O	27	2	0347	Oacute
+ 'U	26	2	0355	Uacute
+ 'Y	25	2	0261	Yacute
+ 'a	19	2	0304	aacute
+ 'e	19	2	0305	eacute
+ 'i	9	2	0325	iacute
+ 'o	21	2	0306	oacute
+ 'u	21	2	0307	uacute
+ 'y	20	3	0262	yacute
+ ,C	25	3	0264	Ccedilla
+ ,c	19	1	0265	ccedilla
+ -D	26	2	0343	Eth
+ -d	21	2	0344	dbar
+ ..	23	2	0253	dieresis
+ /O	27	3	0322	Oslash
+ /o	21	3	0326	oslash
+ :A	27	2	0330	Adieresis
+ :E	21	2	0245	Edieresis
+ :I	10	2	0247	Idieresis
+ :O	27	2	0332	Odieresis
+ :U	26	2	0333	Udieresis
+ :Y	25	2	0356	Ydieresis
+ :a	19	2	0314	adieresis
+ :e	19	2	0315	edieresis
+ :i	9	2	0335	idieresis
+ :o	21	2	0316	odieresis
+ :u	21	2	0317	udieresis
+ :y	20	3	0357	ydieresis
+ AE	36	2	0323	AE
+ Sd	21	2	0344	eth
+ Ye	25	2	0274	yen
+ ^A	27	2	0242	Acircumflex
+ ^E	21	2	0244	Ecircumflex
+ ^I	10	2	0246	Icircumflex
+ ^O	27	2	0337	Ocircumflex
+ ^U	26	2	0256	Ucircumflex
+ ^a	19	2	0300	acircumflex
+ ^e	19	2	0301	ecircumflex
+ ^i	9	2	0321	icircumflex
+ ^o	21	2	0302	ocircumflex
+ ^u	21	2	0303	ucircumflex
+ `A	27	2	0241	Agrave
+ `E	21	2	0243	Egrave
+ `I	10	2	0346	Igrave
+ `O	27	2	0350	Ograve
+ `U	26	2	0255	Ugrave
+ `a	19	2	0310	agrave
+ `e	19	2	0311	egrave
+ `i	9	2	0331	igrave
+ `o	21	2	0312	ograve
+ `u	21	2	0313	ugrave
+ ae	31	0	0327	ae
+ oA	27	2	0320	Aring
+ oa	19	2	0324	aring
+ r!	12	1	0270	exclamdown
+ r?	19	1	0271	questiondown
+ vS	23	2	0353	Scaron
+ vs	18	2	0354	scaron
+ ~A	27	2	0341	Atilde
+ ~N	26	2	0266	Ntilde
+ ~O	27	2	0351	Otilde
+ ~a	19	2	0342	atilde
+ ~n	21	2	0267	ntilde
+ ~o	21	2	0352	otilde
Index: ./widths/widthlj3u/DESC
*** /tmp/PATCHold/./widths/widthlj3u/DESC	Tue Mar 10 01:39:40 1992
--- ./widths/widthlj3u/DESC	Tue Mar 10 01:39:41 1992
***************
*** 1,4 ****
! #	2.1 91/04/04
  #	special fonts have to go at the end or else troff
  #	won't know about their numbers unless you do .fp
  #
--- 1,4 ----
! #	2.3 92/02/13
  #	special fonts have to go at the end or else troff
  #	won't know about their numbers unless you do .fp
  #
***************
*** 14,30 ****
  paperwidth 3456
  paperlength 4752
  charset
! \| \^ \- \` \'
! em hy bu sq ru fi fl ff Fi Fl de dg fm ct rg co
! sc aa ga dd
! *A *B *C *D *E *F *G *H *I *K *L *M *N *O *P *Q *R *S *T *U *W *X *Y *Z
! *a *b *c *d *e *f *g *h *i *k *l *m *n *o *p *q *r *s *t *u *w *x *y *z
! pl mi eq ** ul sl sr rn >= <= == ~= ap != -> <- ua da mu di +- ts
! cu ca sb sp ib ip if pd gr no is pt es mo
! br or ci lt lb rt rb lk rk bv lf rf lc rc
! 12 13 14 18 23 34 38 58 78 rh lh
! $J '' .. AE I! I? O/ PL Pl ae be bq cd d< d> dt hc l< lq ma n' o/ oe og
! pm po pp r> ri rq sd ss ui um a~ a^ OE A: O: U: a: o: u:
! !m nm !s :> <: <> a+ ag al an ax bt cm cr dm fa im io la lo m. mt te tf tm =~
! AL Cc Cd Ch Cs L< R> r1 r2 u= d=
! bx bs
--- 14,26 ----
  paperwidth 3456
  paperlength 4752
  charset
! != 'A 'E 'I 'O 'U 'Y 'a 'e 'i 'o 'u 'y ** *C *D *F *G *H *L
! *P *Q *S *U *W *a *b *c *d *e *f *g *h *i *k *l *m *n *o *p
! *q *r *s *t *u *w *x *y *z +- ,C ,c -> -D -d .. /O /o 12 14
! 34 :A :E :I :O :U :Y :a :e :i :o :u :y <- <= == >= AE Fi Fl
! Sd Ye \- \^ \| ^A ^E ^I ^O ^U ^a ^e ^i ^o ^u `A `E `I `O `U
! `a `e `i `o `u aa ae ap br bs bu bv ca ci co ct cu da dd de
! dg di em eq es ff fi fl fm ga gr hy ib if ip is lb lc lf lh
! lk lt mi mo mu no oA oa or pd pl pt r! r? rb rc rf rg rh rk
! rn rt ru sb sc sl sp sq sr ts ua ul ~= ~A ~N ~O ~a ~n ~o vs
! vS
Index: ./widths/installdit.S
*** /tmp/PATCHold/./widths/installdit.S	Tue Mar 10 01:39:49 1992
--- ./widths/installdit.S	Tue Mar 10 01:39:50 1992
***************
*** 5,11 ****
  #    See the LICENSE file for a full description of the restrictions
  #    under which this software is provided.
  #
! #1.5 91/07/20
  MAKEDEV=%%MAKEDEV%%
  if [ ! -f "$MAKEDEV" ]
  then
--- 5,11 ----
  #    See the LICENSE file for a full description of the restrictions
  #    under which this software is provided.
  #
! #1.7 92/02/21
  MAKEDEV=%%MAKEDEV%%
  if [ ! -f "$MAKEDEV" ]
  then
***************
*** 25,34 ****
--- 25,36 ----
  do
      Targ=
      Warg=
+     Garg=
      width=
      eval `sed -n -e "/^$i[ 	]/s///p" DITLIST`
      eval "`echo $t2arg | sed -n -e 's/.*-T\([^ 	]*\).*/Targ=\1/p'`"
      eval "`echo $t2arg | sed -n -e 's;.*-W\([^ 	]*\).*;Warg=\1;p'`"
+     eval "`echo $t2arg | sed -n -e 's;.*-G\([^ 	]*\).*;Garg=\1;p'`"
      if [ -n "$Warg" ]
      then
  	srcfont=`basename $Warg`
***************
*** 65,71 ****
  	$MAKEDEV DESC
  	cd ..
      else
! 	destdir=%%FONTDIR%%/dev$width
  	if [ ! -d $destdir ]
  	then
  	    mkdir $destdir
--- 67,83 ----
  	$MAKEDEV DESC
  	cd ..
      else
! 	if [ -n "$Garg" ]
! 	then
! 	    if [ ! -d %%GFONTDIR%% ]
! 	    then
! 		echo "No Groff width table directory %%GFONTDIR%% skipping"
! 		continue
! 	    fi
! 	    destdir=%%GFONTDIR%%/dev$width
! 	else
! 	    destdir=%%FONTDIR%%/dev$width
! 	fi
  	if [ ! -d $destdir ]
  	then
  	    mkdir $destdir
***************
*** 84,96 ****
  	    continue
  	fi
  	cd $dir
! 	list="`find . -name '*.out' -print`"
  	if [ -n "$list" ]
  	then
  	    echo "INSTALLING ditroff widths from $dir into $destdir"
  	    cp $list $destdir
- 	else
- 	    echo "No ditroff widths in $dir to install"
  	fi
  	cd ../
      fi
--- 96,106 ----
  	    continue
  	fi
  	cd $dir
! 	list="`find . -name '[A-Z]*' -a ! -name '*.out' -print`"
  	if [ -n "$list" ]
  	then
  	    echo "INSTALLING ditroff widths from $dir into $destdir"
  	    cp $list $destdir
  	fi
  	cd ../
      fi
Index: ./utils/catconv.S
*** /tmp/PATCHold/./utils/catconv.S	Tue Mar 10 01:39:59 1992
--- ./utils/catconv.S	Tue Mar 10 01:40:01 1992
***************
*** 10,16 ****
  #
  #	This does a very simpleminded conversion of ditroff-only-isms
  #	(such as graphics) into something handleable by CAT troff.
! #	1.9 91/11/22
  $cc{'em'}=1; $cc{'ru'}=1; $cc{'14'}=1; $cc{'12'}=1; $cc{'hy'}=1;
  $cc{'34'}=1; $cc{'fi'}=1; $cc{'fl'}=1; $cc{'ff'}=1; $cc{'ct'}=1;
  $cc{'Fl'}=1; $cc{'Fi'}=1; $cc{'de'}=1; $cc{'dg'}=1; $cc{'rg'}=1;
--- 10,16 ----
  #
  #	This does a very simpleminded conversion of ditroff-only-isms
  #	(such as graphics) into something handleable by CAT troff.
! #	1.10 92/03/03
  $cc{'em'}=1; $cc{'ru'}=1; $cc{'14'}=1; $cc{'12'}=1; $cc{'hy'}=1;
  $cc{'34'}=1; $cc{'fi'}=1; $cc{'fl'}=1; $cc{'ff'}=1; $cc{'ct'}=1;
  $cc{'Fl'}=1; $cc{'Fi'}=1; $cc{'de'}=1; $cc{'dg'}=1; $cc{'rg'}=1;
***************
*** 34,39 ****
--- 34,55 ----
  $cc{'lh'}=1; $cc{'mo'}=1; $cc{'es'}=1; $cc{'dd'}=1; $cc{'br'}=1;
  $cc{'**'}=1; $cc{'ib'}=1; $cc{'ci'}=1; $cc{'pl'}=1; $cc{'->'}=1;
  $cc{'sc'}=1;
+ %wover = (
+ 	'ss', '\(*b',
+ 	'-D', 'D',
+ 	'-d', 'd',
+ 	'Sd', 'd',
+ 	'Fo', '\(lh',
+ 	'Fc', '\(rh',
+ 	'r!', '!',
+ 	'r?', '?',
+ 	'AE', 'W',
+ 	'ae', 'w',
+ 	'..', '~',
+ 	'vS', 'S',
+ 	'vs', 's',
+ 	'Ye', 'Y'
+ );
  
  @regnames = split(//,
      "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
***************
*** 87,93 ****
  	if ($cc{$char}) {
  	    $newline .= "\\($char";
  	} else {
! 	    $newline .= "\\ka\\o'\\(bs\\(bs'C$char\\(bs\\h'|\\nau+1n'";
  	}
      }
      $newline .= $line;
--- 103,118 ----
  	if ($cc{$char}) {
  	    $newline .= "\\($char";
  	} else {
! 	    # Try to figure out the width of the character
! 	    if ($char =~ /([\^~:,`'\/])([a-zA-Z])/ ||
! 		$char =~ /(o)([Aa])/) {
! 		$w = $2;
! 	    } elsif ($wover{$char}) {
! 		$w = $wover{$char};
! 	    } else {
! 		printf STDERR "Don't know the width of \\($char";
! 	    }
! 	    $newline .= "\\ka\\o'\\(bs\\(bs'C$char\\(bs\\h'|\\nau+\\w'$w''";
  	}
      }
      $newline .= $line;
Index: ./utils/psdtwd.S
*** /tmp/PATCHold/./utils/psdtwd.S	Tue Mar 10 01:40:12 1992
--- ./utils/psdtwd.S	Tue Mar 10 01:40:14 1992
***************
*** 75,84 ****
  %	      defined (hand built) characters.
  %
  % Michael Rourke, University of N.S.W., Australia
! % (included in troff2: 2.5 91/03/19)
  /SAVEOBJ save def
  
! /t 30 string def
  
  (Starting psdtwd.ps `date`\n) print
  flush
--- 75,84 ----
  %	      defined (hand built) characters.
  %
  % Michael Rourke, University of N.S.W., Australia
! % (included in troff2: 2.6 92/03/03)
  /SAVEOBJ save def
  
! /t 256 string def
  
  (Starting psdtwd.ps `date`\n) print
  flush
Index: ./utils/asc2ps.c
*** /tmp/PATCHold/./utils/asc2ps.c	Tue Mar 10 01:40:28 1992
--- ./utils/asc2ps.c	Tue Mar 10 01:40:29 1992
***************
*** 14,20 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)asc2ps.c: 2.6 Copyright 92/01/23 14:22:06 Chris Lewis";
  #endif
  
  #ifndef	STANDALONE
--- 14,20 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)asc2ps.c: 2.7 Copyright 92/02/07 01:44:28 Chris Lewis";
  #endif
  
  #ifndef	STANDALONE
***************
*** 333,338 ****
--- 333,340 ----
  
  	linecnt++;
  
+ 	if (linecnt == 1)
+ 	    pagestart();
  	if (linecnt > LPP || buffer[0] == '\f') {
  	    if (buffer[0] == '\f')
  		strcpy(buffer, buffer+1);
***************
*** 339,348 ****
  	    linecnt = 1;
  	    curypos = initypos;
  	    pageend();
- 	}
- 
- 	if (linecnt == 1)
  	    pagestart();
  
  	process(buffer);
  
--- 341,348 ----
  	    linecnt = 1;
  	    curypos = initypos;
  	    pageend();
  	    pagestart();
+ 	}
  
  	process(buffer);
  
Index: ./tests/exttab.m
*** /tmp/PATCHold/./tests/exttab.m	Tue Mar 10 01:40:41 1992
--- ./tests/exttab.m	Tue Mar 10 01:40:42 1992
***************
*** 1,4 ****
! .\" DITROFF extensions 1.3
  .DS
  .EQ
  G(z)~mark =~ e sup { ln ~ G(z) }
--- 1,4 ----
! .\" DITROFF extensions 1.5
  .DS
  .EQ
  G(z)~mark =~ e sup { ln ~ G(z) }
***************
*** 13,59 ****
  .TS
  box;
  l l | l l | l l | l l.
! \(a^	\e(a^	\(a~	\e(a~	\(I!	\e(I!	\(po	\e(po
  _
! \($J	\e($J	\(lq	\e(lq	\(d<	\e(d<	\(l<	\e(l<
  _
! \(r>	\e(r>	\(pp	\e(pp	\(bq	\e(bq	\(rq	\e(rq
! _
! \(d>	\e(d>	\(pm	\e(pm	\(I?	\e(I?	\(ma	\e(ma
! _
! \(be	\e(be	\(dt	\e(dt	\(..	\e(..	\(ri	\e(ri
! _
! \(cd	\e(cd	\(''	\e(''	\(og	\e(og	\(hc	\e(hc
! _
! \(a:	\e(a:	\(o:	\e(o:	\(u:	\e(u:	\(A:	\e(A:
! _
! \(O:	\e(O:	\(U:	\e(U:	\(AE	\e(AE	\(PL	\e(PL
! _
! \(O/	\e(O/	\(OE	\e(OE	\(ae	\e(ae	\(ui	\e(ui
! _
! \(Pl	\e(Pl	\(o/	\e(o/	\(oe	\e(oe	\(ss	\e(ss
! _
! \(fa	\e(fa	\(te	\e(te	\(cm	\e(cm	\(=~	\e(=~
! _
! \(*A	\e(*A	\(*B	\e(*B	\(*X	\e(*X	\(*E	\e(*E
! _
! \(*Y	\e(*Y	\(*I	\e(*I	\(*K	\e(*K	\(*M	\e(*M
! _
! \(*N	\e(*N	\(*O	\e(*O	\(*R	\e(*R	\(*T	\e(*T
! _
! \(*Z	\e(*Z	\(tf	\e(tf	\(bt	\e(bt	\(mt	\e(mt
! _
! \(Cc	\e(Cc	\(Cd	\e(Cd	\(Ch	\e(Ch	\(Cs	\e(Cs
! _
! \(<>	\e(<>	\(sd	\e(sd	\(cr	\e(cr	\(al	\e(al
! _
! \(ax	\e(ax	\(a+	\e(a+	\(!s	\e(!s	\(!m	\e(!m
! _
! \(ag	\e(ag	\(m.	\e(m.	\(an	\e(an	\(lo	\e(lo
! _
! \(io	\e(io	\(<:	\e(<:	\(u=	\e(u=	\(:>	\e(:>
  _
! \(d=	\e(d=	\(dm	\e(dm	\(L<	\e(L<	\(tm	\e(tm
  _
! \(AL	\e(AL	\(R>	\e(R>	\(r1	\e(r1	\(r2	\e(r2
  .TE
--- 13,240 ----
  .TS
  box;
  l l | l l | l l | l l.
! \('A	\e('A	\('E	\e('E	\('I	\e('I	\('O	\e('O
  _
! \('U	\e('U	\('Y	\e('Y	\('a	\e('a	\('e	\e('e
  _
! \('i	\e('i	\('o	\e('o	\('u	\e('u	\('y	\e('y
! _
! \(,C	\e(,C	\(,c	\e(,c	\(-D	\e(-D	\(-d	\e(-d
! _
! \(..	\e(..	\(/O	\e(/O	\(/o	\e(/o	\(:A	\e(:A
! _
! \(:E	\e(:E	\(:I	\e(:I	\(:O	\e(:O	\(:U	\e(:U
! _
! \(:Y	\e(:Y	\(:a	\e(:a	\(:e	\e(:e	\(:i	\e(:i
! _
! \(:o	\e(:o	\(:u	\e(:u	\(:y	\e(:y	\(AE	\e(AE
! _
! \(Sd	\e(Sd	\(Ye	\e(Ye	\(^A	\e(^A	\(^E	\e(^E
! _
! \(^I	\e(^I	\(^O	\e(^O	\(^U	\e(^U	\(^a	\e(^a
! _
! \(^e	\e(^e	\(^i	\e(^i	\(^o	\e(^o	\(^u	\e(^u
! _
! \(`A	\e(`A	\(`E	\e(`E	\(`I	\e(`I	\(`O	\e(`O
! _
! \(`U	\e(`U	\(`a	\e(`a	\(`e	\e(`e	\(`i	\e(`i
! _
! \(`o	\e(`o	\(`u	\e(`u	\(ae	\e(ae	\(oA	\e(oA
! _
! \(oa	\e(oa	\(r!	\e(r!	\(r?	\e(r?	\(vS	\e(vS
  _
! \(vs	\e(vs	\(~A	\e(~A	\(~N	\e(~N	\(~O	\e(~O
  _
! \(~a	\e(~a	\(~n	\e(~n	\(~o	\e(~o	
  .TE
+ .bp
+ .sp 1i
+ .lf 1 test.pic
+ .nf
+ ... 0 0 584 680
+ ... 0.000i 6.800i 5.840i 0.000i
+ .nr 00 \n(.u
+ .nf
+ .PS 6.800i 5.840i 
+ .lf 154
+ \h'0.480i'\v'0.240i'\D'a-0.120i 0.120i -0.040i -0.160i'
+ .sp -1
+ \h'1.120i'\v'0.240i'\D'a-0.160i 0.240i -0.240i -0.160i'
+ .sp -1
+ \h'1.600i'\v'0.320i'\D'a-0.240i 0.160i -0.160i -0.240i'
+ .sp -1
+ \h'0.720i'\v'0.440i'\D'a0.240i -0.160i 0.160i 0.240i'
+ .sp -1
+ \h'1.200i'\v'0.520i'\D'a0.160i -0.240i 0.240i 0.160i'
+ .sp -1
+ \h'2.240i'\v'0.880i'\D'a-0.120i 0.280i 0.280i 0.120i'
+ .sp -1
+ \h'2.400i'\v'0.320i'\D'a-0.280i 0.120i 0.120i 0.280i'
+ .sp -1
+ \h'2.640i'\v'0.720i'\D'a0.120i -0.280i -0.280i -0.120i'
+ .sp -1
+ \h'2.460i'\v'1.280i'\D'a0.280i -0.120i -0.120i -0.280i'
+ .sp -1
+ \h'3.640i'\v'0.700i'\D'a-0.100i -0.270i -0.040i 0.280i'
+ .sp -1
+ \h'0.240i'\v'0.200i'\D'a-0.040i 0.160i -0.120i -0.120i'
+ .sp -1
+ \h'4.220i'\v'0.710i'\D'a-0.040i -0.280i -0.100i 0.270i'
+ .sp -1
+ \h'4.100i'\v'0.810i'\D'a0.100i 0.270i 0.040i -0.280i'
+ .sp -1
+ \h'3.500i'\v'0.790i'\D'a0.040i 0.280i 0.100i -0.270i'
+ .sp -1
+ \h'0.520i'\v'2.680i'\v'.2m'\h'-\w'\fR\s10\&circle\fP\s0'u/2u'\fR\s10\&circle\fP\s0
+ .sp -1
+ \h'1.520i'\v'2.680i'\v'.2m'\h'-\w'\fR\s10\&filled\fP\s0'u/2u'\fR\s10\&filled\fP\s0
+ .sp -1
+ \h'1.520i'\v'2.830i'\v'.2m'\h'-\w'\fR\s10\&circle\fP\s0'u/2u'\fR\s10\&circle\fP\s0
+ .sp -1
+ \h'2.480i'\v'2.680i'\v'.2m'\h'-\w'\fR\s10\&circle in \fP\s0'u/2u'\fR\s10\&circle in \fP\s0
+ .sp -1
+ \h'2.480i'\v'2.830i'\v'.2m'\h'-\w'\fR\s10\&filled circle\fP\s0'u/2u'\fR\s10\&filled circle\fP\s0
+ .sp -1
+ \v'1.760i'\D'l0.000i 1.280i'
+ .sp -1
+ \v'3.040i'\D'l5.840i 0.000i'
+ .sp -1
+ \h'5.840i'\v'1.760i'\D'l0.000i 1.280i'
+ .sp -1
+ \h'3.520i'\v'2.680i'\v'.2m'\h'-\w'\fR\s10\&filled circle in\fP\s0'u/2u'\fR\s10\&filled circle in\fP\s0
+ .sp -1
+ \h'3.520i'\v'2.830i'\v'.2m'\h'-\w'\fR\s10\&filled circle\fP\s0'u/2u'\fR\s10\&filled circle\fP\s0
+ .sp -1
+ \h'3.200i'\v'2.240i'\D'f 750u'\D'C0.640i'\D'f 1000u'
+ .sp -1
+ \h'2.160i'\v'2.240i'\D'f 500u'\D'C0.640i'\D'f 1000u'
+ .sp -1
+ \h'1.200i'\v'2.240i'\D'f 250u'\D'C0.640i'\D'f 1000u'
+ .sp -1
+ \h'0.240i'\v'2.240i'\D'c0.640i'
+ .sp -1
+ \h'2.400i'\v'2.240i'\D'c0.160i'
+ .sp -1
+ \h'3.440i'\v'2.240i'\D'f 1000u'\D'C0.160i'\D'f 1000u'
+ .sp -1
+ \h'0.320i'\v'0.520i'\v'.2m'\h'-\w'\fR\s10\&1 quadrant\fP\s0'u/2u'\fR\s10\&1 quadrant\fP\s0
+ .sp -1
+ \h'1.120i'\v'0.680i'\v'.2m'\h'-\w'\fR\s10\&2 quadrants\fP\s0'u/2u'\fR\s10\&2 quadrants\fP\s0
+ .sp -1
+ \h'2.400i'\v'1.560i'\v'.2m'\h'-\w'\fR\s10\&3 quadrants\fP\s0'u/2u'\fR\s10\&3 quadrants\fP\s0
+ .sp -1
+ \v'1.760i'\D'l5.840i 0.000i'
+ .sp -1
+ \h'5.840i'\v'1.760i'\D'l0.000i -1.680i'
+ .sp -1
+ \h'5.840i'\v'0.080i'\D'l-5.840i 0.000i'
+ .sp -1
+ \v'0.080i'\D'l0.000i 1.680i'
+ .sp -1
+ \h'0.560i'\v'3.680i'\v'.2m'\h'-\w'\fR\s10\&ellipse\fP\s0'u/2u'\fR\s10\&ellipse\fP\s0
+ .sp -1
+ \h'0.560i'\v'3.830i'\v'.2m'\h'-\w'\fR\s10\&(x=2y)\fP\s0'u/2u'\fR\s10\&(x=2y)\fP\s0
+ .sp -1
+ \h'1.520i'\v'3.680i'\v'.2m'\h'-\w'\fR\s10\&filled ellipse\fP\s0'u/2u'\fR\s10\&filled ellipse\fP\s0
+ .sp -1
+ \h'1.520i'\v'3.830i'\v'.2m'\h'-\w'\fR\s10\&(x=2y)\fP\s0'u/2u'\fR\s10\&(x=2y)\fP\s0
+ .sp -1
+ \h'2.480i'\v'3.960i'\v'.2m'\h'-\w'\fR\s10\&ellipse\fP\s0'u/2u'\fR\s10\&ellipse\fP\s0
+ .sp -1
+ \h'2.480i'\v'4.110i'\v'.2m'\h'-\w'\fR\s10\&(y=2x)\fP\s0'u/2u'\fR\s10\&(y=2x)\fP\s0
+ .sp -1
+ \v'3.040i'\D'l0.000i 1.360i'
+ .sp -1
+ \v'4.400i'\D'l5.840i 0.000i'
+ .sp -1
+ \h'5.840i'\v'3.040i'\D'l0.000i 1.360i'
+ .sp -1
+ \h'0.400i'\v'4.640i'\D'~ 0.560i 0.000i -0.480i 0.640i'
+ .sp -1
+ \h'1.360i'\v'4.640i'\D'~ 0.720i 0.000i 0.000i 0.000i -0.640i 0.720i'
+ .sp -1
+ \h'2.480i'\v'4.720i'\D'~ 0.880i 0.000i -0.640i 0.560i 0.000i -0.240i 0.560i 0.080i'
+ .sp -1
+ \h'0.480i'\v'5.440i'\v'.2m'\h'-\w'\fR\s10\&3 pts\fP\s0'u/2u'\fR\s10\&3 pts\fP\s0
+ .sp -1
+ \h'1.480i'\v'5.440i'\v'.2m'\h'-\w'\fR\s10\&3 pts\fP\s0'u/2u'\fR\s10\&3 pts\fP\s0
+ .sp -1
+ \h'1.480i'\v'5.590i'\v'.2m'\h'-\w'\fR\s10\&(2nd twice)\fP\s0'u/2u'\fR\s10\&(2nd twice)\fP\s0
+ .sp -1
+ \h'2.840i'\v'5.440i'\v'.2m'\h'-\w'\fR\s10\&5 pts\fP\s0'u/2u'\fR\s10\&5 pts\fP\s0
+ .sp -1
+ \h'3.280i'\v'6.240i'\D'f 500u'\D'P -0.560i 0.400i -0.560i -0.400i 0.240i -0.480i 0.640i 0.000i 0.240i 0.480i'\D'f 1000u'
+ .sp -1
+ \h'0.320i'\v'6.240i'\v'.2m'\h'-\w'\fR\s10\&polygon\fP\s0'u/2u'\fR\s10\&polygon\fP\s0
+ .sp -1
+ \v'5.680i'\D'l0.000i 1.120i'
+ .sp -1
+ \v'6.800i'\D'l5.840i 0.000i'
+ .sp -1
+ \h'5.840i'\v'6.800i'\D'l0.000i -1.120i'
+ .sp -1
+ \h'3.680i'\v'6.120i'\v'.2m'\h'-\w'\fR\s10\&filled\fP\s0'u/2u'\fR\s10\&filled\fP\s0
+ .sp -1
+ \h'3.680i'\v'6.270i'\v'.2m'\h'-\w'\fR\s10\&polygon\fP\s0'u/2u'\fR\s10\&polygon\fP\s0
+ .sp -1
+ \h'1.760i'\v'6.240i'\D'p-0.560i 0.400i -0.560i -0.400i 0.240i -0.480i 0.640i 0.000i 0.240i 0.480i'
+ .sp -1
+ \v'4.400i'\D'l0.000i 1.280i'
+ .sp -1
+ \v'5.680i'\D'l5.840i 0.000i'
+ .sp -1
+ \h'5.840i'\v'4.400i'\D'l0.000i 1.280i'
+ .sp -1
+ \h'5.040i'\v'4.960i'\v'.2m'\h'-\w'\fB\s10\&SPLINES\fP\s0'u/2u'\fB\s10\&SPLINES\fP\s0
+ .sp -1
+ \h'4.160i'\v'5.440i'\v'.2m'\h'-\w'\fR\s10\&5 pts\fP\s0'u/2u'\fR\s10\&5 pts\fP\s0
+ .sp -1
+ \h'3.680i'\v'4.640i'\D'~ 0.880i 0.000i 0.000i 0.640i -0.880i 0.000i 0.000i -0.640i'
+ .sp -1
+ \h'4.880i'\v'3.640i'\v'.2m'\h'-\w'\fB\s10\&ELLIPSES\fP\s0'u/2u'\fB\s10\&ELLIPSES\fP\s0
+ .sp -1
+ \h'3.520i'\v'3.920i'\v'.2m'\h'-\w'\fR\s10\&filled ellipse\fP\s0'u/2u'\fR\s10\&filled ellipse\fP\s0
+ .sp -1
+ \h'3.520i'\v'4.070i'\v'.2m'\h'-\w'\fR\s10\&(y=2x)\fP\s0'u/2u'\fR\s10\&(y=2x)\fP\s0
+ .sp -1
+ \h'1.200i'\v'3.440i'\D'f 250u'\D'E0.640i 0.320i'\D'f 1000u'
+ .sp -1
+ \h'0.240i'\v'3.440i'\D'e0.640i 0.320i'
+ .sp -1
+ \h'3.360i'\v'3.520i'\D'f 750u'\D'E0.320i 0.640i'\D'f 1000u'
+ .sp -1
+ \h'2.320i'\v'3.520i'\D'e0.320i 0.640i'
+ .sp -1
+ \h'4.920i'\v'2.360i'\v'.2m'\h'-\w'\fB\s10\&CIRCLES\fP\s0'u/2u'\fB\s10\&CIRCLES\fP\s0
+ .sp -1
+ \h'4.960i'\v'0.720i'\v'.2m'\h'-\w'\fB\s10\&ARCS\fP\s0'u/2u'\fB\s10\&ARCS\fP\s0
+ .sp -1
+ \h'3.760i'\v'1.480i'\v'.2m'\h'-\w'\fR\s10\&4 quadrants\fP\s0'u/2u'\fR\s10\&4 quadrants\fP\s0
+ .sp -1
+ \h'0.080i'\v'0.360i'\D'a0.120i -0.120i 0.040i 0.160i'
+ .sp -1
+ \h'0.320i'\v'0.400i'\D'a0.040i -0.160i 0.120i 0.120i'
+ .sp -1
+ \h'5.000i'\v'6.160i'\v'.2m'\h'-\w'\fB\s10\&POLYGONS\fP\s0'u/2u'\fB\s10\&POLYGONS\fP\s0
+ .sp -1
+ \h'0.160i'\v'1.680i'\D't 20u'\D'l0.480i 0.000i'
+ .sp -1
+ \h'1.040i'\v'1.680i'\D't 15u'\D'l0.560i 0.000i'
+ .sp -1
+ \h'0.160i'\v'1.200i'\D't 10u'\D'l0.480i 0.000i'
+ .sp -1
+ \h'1.040i'\v'1.200i'\D't 5u'\D'l0.560i 0.000i'
+ .sp -1
+ \h'1.280i'\v'1.040i'\v'.2m'\h'-\w'\fR\s10\&5 pixels\fP\s0'u/2u'\fR\s10\&5 pixels\fP\s0
+ .sp -1
+ \h'0.400i'\v'1.040i'\v'.2m'\h'-\w'\fR\s10\&10 pixels\fP\s0'u/2u'\fR\s10\&10 pixels\fP\s0
+ .sp -1
+ \h'1.280i'\v'1.520i'\v'.2m'\h'-\w'\fR\s10\&15 pixels\fP\s0'u/2u'\fR\s10\&15 pixels\fP\s0
+ .sp -1
+ \h'0.400i'\v'1.520i'\v'.2m'\h'-\w'\fR\s10\&20 pixels\fP\s0'u/2u'\fR\s10\&20 pixels\fP\s0
+ .sp -1
+ .sp 1+6.800i
+ .PE
+ .if \n(00 .fi
+ .lf 154
+ .fi
Index: ./tests/testtab.m
*** /tmp/PATCHold/./tests/testtab.m	Tue Mar 10 01:40:54 1992
--- ./tests/testtab.m	Tue Mar 10 01:40:55 1992
***************
*** 1,4 ****
! .\" 2.5 91/05/03
  .po .25i
  .in 0
  .fp 1 R
--- 1,4 ----
! .\" 2.6 92/02/20
  .po .25i
  .in 0
  .fp 1 R
***************
*** 9,15 ****
  .vs 14
  .sp |.3i
  .ce 4
! PSROFF TEST SHEET (2.5)
  .br
  Please fill out and mail to: Chris Lewis
  .br
--- 9,15 ----
  .vs 14
  .sp |.3i
  .ce 4
! PSROFF TEST SHEET (2.6)
  .br
  Please fill out and mail to: Chris Lewis
  .br
***************
*** 91,97 ****
  \(rk	\e(rk	\(bv	\e(bv	\(lf	\e(lf	\(rf	\e(rf	\(lc	\e(lc	\(rc	\e(rc
  .TE
  .br
! !$%&'()*+,\(\-\./0123456789:;=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[
  .br
  ]`abcdefghijklmnopqrstuvwxyz|\(hy\(bu\(sq\(em\(ru\(14\(12\(34\(fi\(fl\(ff\(Fi\(Fl\(de\(dg\(fm\(rg\(co\(ct
  .br
--- 91,97 ----
  \(rk	\e(rk	\(bv	\e(bv	\(lf	\e(lf	\(rf	\e(rf	\(lc	\e(lc	\(rc	\e(rc
  .TE
  .br
! !$%&'()*+,\-\./0123456789:;=?ABCDEFGHIJKLMNOPQRSTUVWXYZ[
  .br
  ]`abcdefghijklmnopqrstuvwxyz|\(hy\(bu\(sq\(em\(ru\(14\(12\(34\(fi\(fl\(ff\(Fi\(Fl\(de\(dg\(fm\(rg\(co\(ct
  .br
Index: ./dit.c
*** /tmp/PATCHold/./dit.c	Tue Mar 10 01:41:07 1992
--- ./dit.c	Tue Mar 10 01:41:09 1992
***************
*** 12,18 ****
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)dit.c: Copyright 91/12/26 17:58:58 Chris Lewis";
  #endif
  
  extern struct cattab tabN[], tabS[], *extidx;
--- 12,18 ----
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)dit.c: Copyright 92/03/03 02:25:40 Chris Lewis";
  #endif
  
  extern struct cattab tabN[], tabS[], *extidx;
***************
*** 137,143 ****
--- 137,146 ----
  
  int sizescale = 1;
  int indtres = 300;
+ int halfdtres = 150;
  
+ #define	DIT2CAT(x)	(int) (((long) (x) * TROFFRESOLUTION + halfdtres) / indtres)
+ 
  int points, font, ch, i;
  int xpos, ypos;
  
***************
*** 276,283 ****
  #endif
  		    /* synchronize special X & Y to current position
  		       (ie: so psfig will work */
! 		    specXPos = (int) ((long) xpos * TROFFRESOLUTION / indtres);
! 		    specYPos = (int) ((long) ypos * TROFFRESOLUTION / indtres);
  
  		    while((ch = getchar()) != EOF && isspace(ch));
  		    special[i++] = ch;
--- 279,286 ----
  #endif
  		    /* synchronize special X & Y to current position
  		       (ie: so psfig will work */
! 		    specXPos = DIT2CAT(xpos);
! 		    specYPos = DIT2CAT(ypos);
  
  		    while((ch = getchar()) != EOF && isspace(ch));
  		    special[i++] = ch;
***************
*** 314,326 ****
  			    }
  			    indtres = atoi(a1);
  			    if (indtres <= 0) {
! 				if (i != 4) {
! 				    fprintf(stderr,
! 					"%s: ridiculous res value: %s\n",
! 					progname, special);
! 				    exit(1);
! 				}
  			    }
  			    DBP((D_CAT, "RES %d\n", indtres));
  			    break;
  			case 'i':
--- 317,328 ----
  			    }
  			    indtres = atoi(a1);
  			    if (indtres <= 0) {
! 				fprintf(stderr,
! 				    "%s: ridiculous res value: %s\n",
! 				    progname, special);
! 				exit(1);
  			    }
+ 			    halfdtres = indtres / 2;
  			    DBP((D_CAT, "RES %d\n", indtres));
  			    break;
  			case 'i':
***************
*** 426,434 ****
  			break;
  		    case '!':
  			special[0] = 'P';
! 			dospecial(/*xpos * TROFFRESOLUTION / indtres,
! 					 ypos * TROFFRESOLUTION / indtres,*/
! 					 special);
  			break;
  		    case 'D': {
  			short values[100];
--- 428,434 ----
  			break;
  		    case '!':
  			special[0] = 'P';
! 			dospecial(special);
  			break;
  		    case 'D': {
  			short values[100];
***************
*** 455,469 ****
  			}
  			if (opcode != 't' && opcode != 'f')
  			    for (i = 0; i < ct; i++)
! 				values[i] = values[i] * TROFFRESOLUTION /
! 							indtres;
  
  DBP((D_CAT, "Draw: xpos,ypos,opcode,ct,special = %d,%d,%d,%d,%s\n",
      xpos, ypos, opcode, ct, special));
  
  			if (be->bedraw)
! 			    (*be->bedraw)(xpos * TROFFRESOLUTION / indtres,
! 					 ypos * TROFFRESOLUTION / indtres,
  					 opcode, ct, values, special);
  			xpos = newx;
  			ypos = newy;
--- 455,467 ----
  			}
  			if (opcode != 't' && opcode != 'f')
  			    for (i = 0; i < ct; i++)
! 				values[i] = DIT2CAT(values[i]);
  
  DBP((D_CAT, "Draw: xpos,ypos,opcode,ct,special = %d,%d,%d,%d,%s\n",
      xpos, ypos, opcode, ct, special));
  
  			if (be->bedraw)
! 			    (*be->bedraw)(DIT2CAT(xpos), DIT2CAT(ypos),
  					 opcode, ct, values, special);
  			xpos = newx;
  			ypos = newy;
***************
*** 496,503 ****
  int font, points, troffChar;
  register char *sequence; {
      DBP((D_CAT, "x,y: %d/%d -> ", x, y));
!     x = (int) ((long) x * TROFFRESOLUTION / indtres);
!     y = (int) ((long) y * TROFFRESOLUTION / indtres);
      DBP((D_CAT, "%d/%d (font,points,ch = %d,%d,%d)\n", x, y, font, points,
  	troffChar));
  #ifdef OPT
--- 494,501 ----
  int font, points, troffChar;
  register char *sequence; {
      DBP((D_CAT, "x,y: %d/%d -> ", x, y));
!     x = DIT2CAT(x);
!     y = DIT2CAT(y);
      DBP((D_CAT, "%d/%d (font,points,ch = %d,%d,%d)\n", x, y, font, points,
  	troffChar));
  #ifdef OPT
Index: ./defs.h
*** /tmp/PATCHold/./defs.h	Tue Mar 10 01:41:22 1992
--- ./defs.h	Tue Mar 10 01:41:24 1992
***************
*** 9,15 ****
   */
  
  /*	Official Release and Patch level:	*/
! #define	T2VERSION	"@(#)PSROFF Copyright 92/01/27 Chris Lewis - R3 PL9"
  
  /*	Configuration parameters:
   */
--- 9,15 ----
   */
  
  /*	Official Release and Patch level:	*/
! #define	T2VERSION	"@(#)PSROFF Copyright 92/02/10 Chris Lewis - R3 PL10"
  
  /*	Configuration parameters:
   */
Index: ./Makefile
*** /tmp/PATCHold/./Makefile	Tue Mar 10 01:41:34 1992
--- ./Makefile	Tue Mar 10 01:41:36 1992
***************
*** 7,13 ****
  #    Function: Upper level makefile; configuration options.
  #
  #
! #ident  "@(#)Makefile: 2.30 Copyright 92/01/23 14:23:19 Chris Lewis"
  
  #	If you're not sure whether you have a System V make, leave
  #	this alone, and run the make anyways.  If it dies horribly
--- 7,13 ----
  #    Function: Upper level makefile; configuration options.
  #
  #
! #ident  "@(#)Makefile: 2.31 Copyright 92/02/21 09:31:19 Chris Lewis"
  
  #	If you're not sure whether you have a System V make, leave
  #	this alone, and run the make anyways.  If it dies horribly
***************
*** 63,68 ****
--- 63,70 ----
  #	(font width files (ft??) are placed under FONTDIR/<width>/ft??)
  #	(see lib/psrofflib.S).  Will NOT clash with anything already there.
  FONTDIR	= /usr/lib/font
+ #	Groff font directory (don't worry if you don't have groff):
+ GFONTDIR = /usr/local/lib/groff/font
  
  #	Set this to -lc_s if you have 386/ix style shared libraries and you
  #	wish to use them.  Don't know about any other system's shared libraries.
***************
*** 192,197 ****
--- 194,200 ----
  		     -e 's;%%SHELL%%;'\"$(SHELL)\"';g' \
  		     -e 's;%%COMPILE%%;$(COMPILE);g' \
  		     -e 's;%%FONTDIR%%;$(FONTDIR);g' \
+ 		     -e 's;%%GFONTDIR%%;$(GFONTDIR);g' \
  		     -e 's;%%MANDIR%%;$(MANDIR);g' \
  		     -e 's;%%MANEXT%%;$(MANEXT);g' \
  		     -e 's;%%CCFLAGS%%;$(CCFLAGS);' \
Index: ./psroff.S
*** /tmp/PATCHold/./psroff.S	Tue Mar 10 01:41:47 1992
--- ./psroff.S	Tue Mar 10 01:41:48 1992
***************
*** 7,13 ****
  #
  #	Specs:		troff2ps driver
  #
! #ident  "@(#)psroff.sh: 2.19 Copyright 91/12/26 17:58:37 Chris Lewis"
  
  LIBDIR="%%LIBDIR%%"
  FONTDIR="%%FONTDIR%%"
--- 7,13 ----
  #
  #	Specs:		troff2ps driver
  #
! #ident  "@(#)psroff.sh: 2.20 Copyright 92/02/22 00:09:50 Chris Lewis"
  
  LIBDIR="%%LIBDIR%%"
  FONTDIR="%%FONTDIR%%"
***************
*** 166,171 ****
--- 166,176 ----
  then
      otroff=
      widtharg="-T$width"
+     teststring=`echo "$t2arg" | sed -n -e '/-G/p'`
+     if [ -n "$teststring" ]
+     then
+ 	FONTDIR=%%GFONTDIR%%
+     fi
  else
      otroff="-t"
  fi
***************
*** 208,214 ****
  else
      if [ ! -d $FONTDIR/dev$width ]
      then
! 	echo "$0: Ditroff widths not installed!  Aborting" >&2
  	exit 1
      fi
  fi
--- 213,219 ----
  else
      if [ ! -d $FONTDIR/dev$width ]
      then
! 	echo "$0: Ditroff widths not installed in $FONTDIR/dev$width!  Aborting" >&2
  	exit 1
      fi
  fi
Index: ./DITROFF
*** /tmp/PATCHold/./DITROFF	Tue Mar 10 01:41:57 1992
--- ./DITROFF	Tue Mar 10 01:41:58 1992
***************
*** 1,5 ****
  		Ditroff/Groff input configuration notes
! 			2.6 91/10/18
  
  This document attempts to describe some of the issues of using
  psroff with ditroff or groff instead of CAT troff.  Some of the
--- 1,5 ----
  		Ditroff/Groff input configuration notes
! 			2.7 92/02/22
  
  This document attempts to describe some of the issues of using
  psroff with ditroff or groff instead of CAT troff.  Some of the
***************
*** 76,96 ****
  where groff and psroff can be used together to advantage.
  
  First of all, groff doesn't support HP Laserjet or LJIII output.
! In this case, you can drive troff2ps -N with gtroff output.  For
! width tables, you would copy the psroff's
! widthps/width[lj,lj3,lj3u]*/[A-Z]* files to the appropriate
! places in /usr/lib/font/dev<type> and modify the groff shell
! script to call troff2ps (you will need to specify the -N option,
! plus set the -p and -T values).  You will probably have to build
! up a proper DESC file for widthlj if you aren't driving a LJ3.
! 
! If groff complains about the width tables, you will have to
! remove the characters in the width tables that call for multiple
! character sequences in the output.  In particular, specifications
! with more than 4 characters in the fourth field.  Eg: "ff", "fi",
! "fl" etc.
  
! Secondly, if you want to drive DVI interfaces from CAT troff, you
  can use the ditroff-2-dvi converter with psroff's ditroff output
  option (-Tdt).  I'm not entirely sure why you'd want to do this
  if you have all of groff loaded - but it might be useful.
--- 76,87 ----
  where groff and psroff can be used together to advantage.
  
  First of all, groff doesn't support HP Laserjet or LJIII output.
! Quite a few people use psroff for driving HP Laserjets of all
! types from groff.  A number of people also use psroff plus hp2pbm to
! drive pbm supported printers, such as Epson 24 pin compatible
! printers etc.
  
! If you want to drive DVI interfaces from CAT troff, you
  can use the ditroff-2-dvi converter with psroff's ditroff output
  option (-Tdt).  I'm not entirely sure why you'd want to do this
  if you have all of groff loaded - but it might be useful.
***************
*** 98,115 ****
  The fundamental differences between ditroff and groff (as far as
  *we* are concerned) is the differing width table format.  First,
  groff does not need to compile the width table format into
! a binary format - the ASCII versions are used in the
! /usr/lib/font/dev<type> directory directly.  Psroff doesn't
! copy these files (eg: R, I, B, S etc.) into this directory,
! so you'll have to do it yourself, tho, groff installation
! probably has already done that.  Secondly, there is the
! "sizescale" DESC parameter, which prescales the unitwidth
! and character widths values, as well as the point size selection
! in the gtroff output.  At present, troff2ps does not support
! a sizescale other than 1 (psroff will try to emit glyphs
! sizescale times larger than actually desired).
  
! The width tables that come with psroff should work with groff.
! The groff width tables can also be used with psroff, but this
! should not be necessary - unless you're trying to use groff's
! tty or dvi output filters.
--- 89,134 ----
  The fundamental differences between ditroff and groff (as far as
  *we* are concerned) is the differing width table format.  First,
  groff does not need to compile the width table format into
! a binary format - the ASCII versions are used in the groff width
! table directories (usually something like /usr/local/lib/groff/font/dev<type>)
  
! Secondly, groff implements something that was specified, but
! unimplemented in earlier versions of ditroff: namely "sizescale"
! settings in the DESC file.  The sizescale specifies that the width
! and unitwidth information in the width tables is prescaled by
! some factor (in ditroff, sizescale is implicitly 1).  It also
! used as a scale factor for the point size settings in the
! ditroff-format output that gtroff produces.
! 
! When you use psroff with groff, you *must* use the "-G" parameter
! in the t2arg setting in psrofflib for your configuration.  You
! specify the "sizescale" here that groff sees in its DESC file.
! If you're using the width tables that come with Psroff or
! ditroff, you merely say "-G1" (which is in, for example, the glj3
! sample entry in psrofflib).
! 
! The -G option also allows the ditroff width table installer
! to know that mkfont/makedev isn't necessary, and that the
! width tables should be installed under GFONTDIR instead of FONTDIR.
! 
! In previous releases of psroff (prior to patch 10), you had
! to manually copy the psroff width tables to the groff directories.
! This is no longer necessary, provided that GFONTDIR is specified
! correctly, and the -G entry is in psrofflib.  You also had to remove
! the characters in the width tables that call for multiple character
! sequences (more than 4 digits in the fourth field of a width table).
! You do NOT need to do this anymore: since these characters
! are faked anyhow, you don't have to tell groff about the true
! character sequences at all.
! 
! If you're going to use width tables that aren't under the
! psroff width/width* area, you will have to do the copying yourself,
! and make your own psrofflib entry - don't forget the -G entry.
! If you use width tables supplied from groff with psroff, you will
! have to examine the DESC file for the number to supply with -G.
! 
! The width tables that come with psroff work with groff.
! Groff width tables can also be used with psroff, but all the fancy
! extensions used by groff for kerning information are ignored -
! besides, if you were going to be doing this, you're probably
! using a groff driver, and psroff isn't going to buy you anything.
Index: ./makeincl.S
*** /tmp/PATCHold/./makeincl.S	Tue Mar 10 01:42:10 1992
--- ./makeincl.S	Tue Mar 10 01:42:12 1992
***************
*** 4,13 ****
  #    See the LICENSE file for a full description of the restrictions
  #    under which this software is provided.
  #
! #	Makefile overrides 2.7 92/01/12
  CC	= %%CC%%
  CFLAGS	= %%CCFLAGS%% -I../
  FONTDIR = %%FONTDIR%%
  LIBDIR	= %%LIBDIR%%
  LIBFLAGS = %%LIBFLAGS%%
  LJF	= %%LJF%%
--- 4,14 ----
  #    See the LICENSE file for a full description of the restrictions
  #    under which this software is provided.
  #
! #	Makefile overrides 2.8 92/02/21
  CC	= %%CC%%
  CFLAGS	= %%CCFLAGS%% -I../
  FONTDIR = %%FONTDIR%%
+ GFONTDIR = %%GFONTDIR%%
  LIBDIR	= %%LIBDIR%%
  LIBFLAGS = %%LIBFLAGS%%
  LJF	= %%LJF%%
Index: ./lj3draw.c
*** /tmp/PATCHold/./lj3draw.c	Tue Mar 10 01:42:20 1992
--- ./lj3draw.c	Tue Mar 10 01:42:21 1992
***************
*** 23,31 ****
  #include "lj.h"
  #include <math.h>
  
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)lj3draw.c: 1.1 Copyright 92/01/23 14:26:29 Chris Lewis";
  #endif
  
  #define to_deg(a)	((180.0/M_PI) * (a))
--- 23,35 ----
  #include "lj.h"
  #include <math.h>
  
+ #ifndef	M_PI
+ #define	M_PI	3.141529
+ #endif
+ 
  #ifndef	lint
  static char SCCSid[] =
!     "@(#)lj3draw.c: 1.2 Copyright 92/02/10 16:49:48 Chris Lewis";
  #endif
  
  #define to_deg(a)	((180.0/M_PI) * (a))
***************
*** 106,114 ****
  		ctindex = 1;
  	    if (!require(1, ctindex, "set thick", s)) {
  	    	DBP((D_PIC, "lj3Draw: thich: %d\n", numbers[0]));
- 		/* width 1 = 1mm, troff resolution = 432 dpi */
  		ENTER_HPGL2;
! 	    	printf("\033%%1BLW%.2f;\033%%0A\n", numbers[0]/17.0);
  		EXIT_HPGL2;
  	    }
  
--- 110,119 ----
  		ctindex = 1;
  	    if (!require(1, ctindex, "set thick", s)) {
  	    	DBP((D_PIC, "lj3Draw: thich: %d\n", numbers[0]));
  		ENTER_HPGL2;
! 		/* width 1 = 1mm */
! 	    	printf("\033%%1BPW%.2f;\033%%0A\n", 
! 		    numbers[0]/(LJRESOLUTION/25.4));
  		EXIT_HPGL2;
  	    }
  
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads