This commit was generated by cvs2svn to compensate for changes in r55839,

which included commits to RCS files with non-trunk default branches.
This commit is contained in:
Jeroen Ruigrok van der Werven 2000-01-12 09:51:43 +00:00
commit 444af277af
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=55840
120 changed files with 24524 additions and 1116 deletions

View File

@ -8,7 +8,7 @@ Please delete the text in brackets before sending it in.
Please report separate bugs separately.
Send the completed form to bug-groff@prep.ai.mit.edu.
Send the completed form to bug-groff@gnu.org
GROFF VERSION:
[The version of groff you are using. For example, `1.05']
@ -26,18 +26,18 @@ INPUT FILES:
[Include all the files necessary to reproduce the problem that are not
part of the standard groff distribution. This includes font
description files, DESC files and macro files (with the exception of
the -ms and -mm macros: I have them). Send them as as a shell archive
the -ms and -mm macros: we have them). Send them as a shell archive
or as a uuencoded, compressed tar file.
It's easier for me if you can provide an example that doesn't depend
It's easier for us if you can provide an example that doesn't depend
on any macro package, but obviously if you're reporting a problem with
a macro package that won't be possible. Also a short example is more
convenient than a long one, but don't worry if you can't find a short
example. Don't say something like ``any file that X'': always send a
example. Don't say something like ``any file that X'': Always send a
definite example.]
COMMAND LINE:
[The command line that I should run in order to observe the bug. For
[The command line that we should run in order to observe the bug. For
example, `gtroff -Tps bug.tr'. If the command line uses -ms or -mm,
say whether these refer to the groff versions or the Unix versions of
the macros.]
@ -46,7 +46,7 @@ DESCRIPTION OF INCORRECT BEHAVIOUR:
[What goes wrong when that command line is run? For example, `gtroff
gets a segmentation fault', or `The output looks bad because the bar
over the x is too long and is too far over to the left.' If you get
an error message, include it here without modification: don't edit it
an error message, include it here without modification: Don't edit it
to make it more readable.]
SUGGESTED FIX [optional]:

View File

@ -1,3 +1,426 @@
Version 1.15 released
=====================
1999-12-28 Werner LEMBERG <wl@gnu.org>
* NEWS, VERSION: Changed to 1.15
1999-12-27 Paul Eggert <eggert@twinsun.com>
* nroff/nroff.man: -S is safer, not safe.
* groff/groff.cc (main): Use `safer', not `safe', in variable
names. This does not change the behavior.
* troff/input.cc (main): Likewise.
* nroff/nroff.sh: Likewise.
* troff/input.cc (prepend_string): New function.
(main): Prepend -msafer, so that we check macro libraries for
safety.
* PROBLEMS: Report problem with Sun C++ 5.0 and 5.1.
Version 1.14 released
=====================
1999-12-26 Werner LEMBERG <wl@gnu.org>
* NEWS, VERSION: Changed to 1.14.
1999-12-24 Werner LEMBERG <wl@gnu.org>
* refer/refer.cc: Fixing the last fix.
Version 1.13 released
=====================
1999-12-23 Werner LEMBERG <wl@gnu.org>
* tmac/tmac.an: A typo (`.if' instead of `.ie') made the page
number disappear.
* NEWS: Updated.
* tmac/tmac.safer: Forgot to remove `so' from the `rm' request.
* VERSION: Changed to 1.13 -- to be compliant with the Adobe 3.0
document conventions, the version number must be a real.
Version 1.12.1 released
=======================
1999-12-22 Werner LEMBERG <wl@gnu.org>
* VERSION: Changed to 1.12.1.
1999-12-22 Alan Rooks <arooks@istar.ca>
* refer/refer.cc (do_file): Slight modification to satisfy the
`Standard system CC - C++ Compilation System 3.1 03/03/99' on SCO
UnixWare 7.1.
1999-12-20 Werner LEMBERG <wl@gnu.org>
* changed prep.ai.mit.edu -> ftp.gnu.org; updated copyright
notices.
* tmac/tmac.safer, tmac/groff_msafer.man: Remove `so' (again) from
list of unsafe requests.
* pic/pic.man: Fixed a typo.
* man/groff_out.man: Fixed a typo.
1999-12-18 Werner LEMBERG <wl@gnu.org>
* Makefile.in: Doc fixes.
1999-12-17 Fabrizio Polacco <fab@prosa.it>
* groff/groff.cc: Missing `U' option added to getopt().
* troff/troff.man: Missing `U' option added to synopsis.
Version 1.12 released
=====================
1999-12-14 Werner LEMBERG <wl@gnu.org>
* troff/input.cc (usage), groff/groff.cc (synopsis): Added -U flag
to the synopsis.
* nroff/nroff.sh, nroff/nroff.man: Replaced `secure', `unsecure'
with the more appropriate terms `safer' and `unsafe'.
* libgroff/strerror.c, aclocal.m4, configure.in: Added checks for
sys_nerr and sys_errlist[].
* pic/pic.h, aclocal.m4, configure.in: Added check for hypot().
* pic/pic.y, pic/pic.cc: Added check for fmod().
1999-12-13 Werner LEMBERG <wl@gnu.org>
* VERSION: Changed to 1.12.
Here some patches from various sources; most of them taken from
the Debian distribution.
* tmac/groff_mdoc.man, tmac/groff_mdoc.samples.man,
tmac/Makefile.sub: New files copied directly from the NetBSD
distribution. Probably, some additional adaptation later on is
necessary...
* tmac/tmac.safer, tmac/groff_msafer.man: Added `so' to the list
of unsafe requests.
* groff/groff.cc, groff/groff.man, nroff/nroff.sh,
nroff/nroff.man, pic/main.cc, pic/pic.man, troff/input.cc,
troff/troff.man: Added option `-U' for unsafe mode. Safe mode
(`-S') is now the default.
* README, NEWS: Updated.
1999-12-09 Werner LEMBERG <wl@gnu.org>
* doc/groff.texinfo: Regenerated nodes and menus with emacs.
* doc/Makefile (clean): Added cleaning commands for groff.texinfo.
1999-12-06 Werner LEMBERG <wl@gnu.org>
* configure.in: Removed AC_PREFIX_PROGRAM since it causes more
grief than relief today. Additionally, it is against the GNU
coding standards.
* configure: Recreated.
1999-12-05 Werner LEMBERG <wl@gnu.org>
* configure.in: Added GROFF_LIBM.
* configure: Recreated.
* aclocal.m4 (GROFF_LIBM): New function which tests whether -lm is
necessary.
* Makefile.in: Added definition of $(LIBM).
* Makefile.comm (LIBM): Removed.
* pfbtops/Makefile.sub: On AIX, -lm is needed also.
1999-12-03 Gaius Mulley <gaius@glam.ac.uk>
* doc/Makefile: Added rule for generation pic.html.
(clean): Files produced by grohtml will be removed also.
* doc/pic.ms: Small fix.
* tmac/tmac.html: Fixed suppression of headers.
1999-11-16 Gaius Mulley <gaius@glam.ac.uk>
* tmac/tmac.html: Fixing horizontal arrows.
Turning off hyphenation.
* tmac/tmac.an: Improved support for grohtml; better indentation,
no footers/headers.
1999-10-31 Gaius Mulley <gaius@glam.ac.uk>
* tmac/tmac.arkup: Added CDFTP macro
* tmac/tmac.html: All headers are turned off for ms, me, and mm
macros.
* tmac/troffrc: Some additions for HTML stuff.
1999-10-06 Gaius Mulley <gaius@glam.ac.uk>
* tmac/tmac.html: Small changes.
1999-09-26 Werner LEMBERG <wl@gnu.org>
* doc/groff.texinfo: Minor fixes.
1999-09-26 Gaius Mulley <gaius@glam.ac.uk>
* devhtml/TR: Changed spacewidth to 3.
* tmac/Makefile.sub (NORMALFILES): Added tmac.arkup.
* tmac/tmac.html: Moved markup macros to tmap.arkup.
* tmac/tmac.arkup: New file.
* grohtml/ChangeLog: New file.
1999-09-16 Werner LEMBERG <wl@gnu.org>
* doc/groff.texinfo (Common Features): Added Copying chapter.
Changed format to @smallbook.
1999-09-15 Werner LEMBERG <wl@gnu.org>
* NEWS: Added info about groff.texinfo.
* doc/groff.texinfo: Will now compile (using texi2dvi) without
warning messages.
1999-09-14 Werner LEMBERG <wl@gnu.org>
* groff/groff.man: More updates.
1999-09-13 Werner LEMBERG <wl@gnu.org>
* doc/groff.texinfo: New file. This manual is still very
rudimentary. It has been originally contributed by Trent
A. Fisher <trent@gnurd.portland.or.us> with first corrections and
additions by me.
* INSTALL: Added information about the `doc' subdir
* troff/troff.man: Minor fixes.
* groff/groff.man: Added missing `-L arg' to SYNOPSIS section;
reordered options.
* troff/input.cc (usage): Added missing `-ffam' to usage message.
* Makefile.in (dist): groff-$(version).tar.gz must be removed
also, otherwise it is included itself in another call of `make
dist'.
* groff/groff.cc (synopsis): Removed superfluous space.
* PROJECTS, PROBLEMS, NEWS: Updated.
* xditview/Makefile: Removed.
* VERSION: Updated to 1.12beta.
* BUG-REPORT: Some cosmetic fixes. Corrected email address.
* README: Updated: Included documentation about CVS repository,
mailing lists, and daily snapshots.
* tmac/Makefile.sub: Fixed $(tmap_wrap) finally.
1999-09-12 Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
* tmac/tmac.an: If the tag didn't fit into the space that the
macro `TP' specifies, the rest of the tag went into the space for
the next line.
1999-09-12 Jeffrey Copeland <jeff@opennt.com>
* grolj4/lj4.cc: Added duplex printing (option `-d').
* grolj4/grolj4.man: Document duplex printing.
1999-09-12 Werner LEMBERG <wl@gnu.org>
* doc/Makefile (pic.ps): Fixed rule which caused problems with
non-GNUish sed programs.
* tmac/doc-syms: Removed extra space from -iso8802-3 macro
definition.
* configure.in (LIBS): Added `-lc'
* Makefile.comm (.man.n): Added substitution for @TMAC_AN_PREFIX@.
* pic/tex.cc (solid_arc): Casting M_PI to double.
* libgroff/putenv.c (putenv): Changed function header to ANSI C.
* groff/groff.man, tmac/Makefile.sub (MAN7), tmac/groff_msafer.man
(new file), tmac/msafer.man (deleted), tmac/groff_me.man (new
file), tmac/me.man (deleted): {me,msafer} -> groff_{me,msafer}.
* groff/groff_man.man: New file. This manual page was originally
written for the Debian GNU/Linux system by Susan G. Kleinmann
<sgk@debian.org>.
* eqn/list.cc (list_box::compute_metrics,
list_box::compute_sublist_width): Removed variable declaration to
avoid shadowing warnings.
* grops/psrm.cc (resource_manager::process_file): Ditto.
* tfmtodit/tfmtodit.cc (main): Ditto.
* libgroff/font.cc (font::load_desc): Renamed auxiliary variable
to avoid shadowing warnings.
* tbl/table.cc (block_entry::do_divert, table::do_row): Renamed
shadowing loop variable.
* groff/groff.man, troff/troff.man: Added doc about grohtml.
1999-09-12 Gaius Mulley <gaius@glam.ac.uk>
New grohtml frontend to convert groff input to html.
* Makefile.in (CCPROGDIRS, DEVDIRS): Added html device.
* tmac/Makefile.sub (NORMALFILES): Added tmac.html.
* tmac/eqnrc: Added html device.
* tmac/tmac.html: New file.
* eqn/main.cc (do_file, inline_equation), pic/troff.cc
(troff_output::start_picture, troff_output::finish_picture),
tbl/main.cc (process_input_file):
Surrounded output with `graphics_start' and `graphics_end' so that
the html driver can identify non-text portions.
* grodvi/dvi.cc (dvi_printer::set_char), grolj4/lj4.cc
(lj4_printer::set_char), grops/ps.cc (ps_printer::set_char),
grotty/tty.ps (tty_printer::set_char): Additional parameter
`name'.
* include/printer.h: Class printer: New function
set_char_and_width; new variables (is_char_named, is_named_set,
named_command, named_char_s, named_char_n) to hold information
about named characters -- needed by the html driver.
* libdriver/printer.cc (printer::set_ascii_char,
printer::set_special_char): Use set_char_and_width.
* devhtml/*: New device files for html driver.
* grohtml/*: New driver grohtml.
1999-09-11 Wilfredo Sanchez <wsanchez@apple.com>
* tmac/doc-common, tmac/tmac.an: Removed the word `UNIX' in
default strings.
1999-09-11 Luke Mewburn <lukem@netbsd.org>
* libgroff/string.cc (search): Small fix to test against NULL
pointer.
1999-09-11 Jeff Conrad <jeff_conrad@msn.com>
* troff/node.cc (copy): The characters in a bracket escape (e.g.,
\b'abc') were stacked in reverse order when processed in a
diversion.
* troff/node.h: Added `*last' to struct `node' to make the above
fix work.
* troff/input.cc (read_draw_node), libdriver/input.cc (do_file):
The default scale for the 'f' and 't' graphics functions were 'm'
rather than 'u' (i.e., no scaling).
1999-09-11 Peter Miller <peterm@jna.com.au>
* groff/groff.cc (main), groff.man, soelim/soelim.cc (main,
do_file), soelim/soelim.man: Added `-I file' option to soelim,
defining include paths.
* soelim/soelim.cc (include_path_append): New function.
1999-09-11 Larry Jones <larry.jones@sdrc.com>
* tbl/main.cc (process_options): Unix (at least Documenter's
Workbench) tbl allows arbitrary non-alpha characters between
options.
1999-09-11 Paul Eggert <eggert@twinsun.com>
Y2k fixes. Don't assume that the current year precedes 2000.
* doc/meref.me: Add \n(y2, \n(y4.
* tmac/doc-common (Yr): New number register.
(Dd): Don't assume current year precedes 2000.
* tmac/tmac.e (td): Likewise.
(y2, y4): New number registers.
* pic/pic.man: Update reference for pic paper to May, 1991
version.
1999-09-11 Werner LEMBERG <wl@gnu.org>
* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
Removed quotation marks which prevented correct expansion of
$(tmac_wrap).
* devlj4/Makefile.sub (LJ4RES): Fixed value (600 instead of 300).
1999-09-10 Werner LEMBERG <wl@gnu.org>
* Makefile.sub (DISTCLEANFILES): Added `config.log' and
`config.cache'.
* Removed configure.old.
1999-08-31 Werner LEMBERG <wl@gnu.org>
* VERSION: Updated to 1.11.1
1999-05-27 Werner LEMBERG <wl@gnu.org>
* doc/Makefile: changed `.PS' postfix to `.ps' for consistency.
* tmac/Makefile.sub (install_data, stamp-wrap, uninstall_sub):
added quotations around $(tmac_wrap) to avoid syntax error if
variable is empty.
* configure: Newly generated using autoconf 2.13.
* Makefile.in (LDFLAGS): Set variable to @LDFLAGS@.
Fri Aug 15 08:51:47 1997 Eric S. Raymond <esr@snark.thyrsus.com>
* README, PROJECTS, NEWS, INSTALL, VERSION,

View File

@ -13,7 +13,7 @@ the CXX environment variable.
If you have a library that provides a faster malloc than your system's
usual malloc, it is good idea to include it in LIBS. For example,
using the malloc that comes with GNU Emacs version 18 can give a
using the malloc that comes with GNU Emacs version 20 can give a
worthwhile (and sometimes spectacular) performance improvement.
When you have built groff, you can use the test-groff script to try
@ -27,5 +27,9 @@ the build directory when the script is run. For example, you could do
If you want to install gxditview (an X11 previewer), follow the
instructions in the INSTALL file in the xditview directory.
To get PostScript versions of the documentation resp. reference files for
the `me' macros and the `pic' preprocessor, simply say `make' in the
`doc' subdirectory.
If you have problems, read the PROBLEMS file. If this doesn't help
send a bug report using the form in the file BUG-REPORT.

View File

@ -31,7 +31,6 @@ TOP=..
LIBGROFF=$(TOP)/libgroff/libgroff.a
LIBBIB=$(TOP)/libbib/libbib.a
LIBDRIVER=$(TOP)/libdriver/libdriver.a
LIBM=-lm
MLIB=
XLIBS=
YTABH=
@ -121,6 +120,7 @@ extraclean:
-e "s;@MAN7EXT@;$(man7ext);g" \
-e "s;@TMAC_S_PREFIX@;$(tmac_s_prefix);g" \
-e "s;@TMAC_M_PREFIX@;$(tmac_m_prefix);g" \
-e "s;@TMAC_AN_PREFIX@;$(tmac_an_prefix);g" \
-e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
-e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
-e "s;@VERSION@;`cat $(srcdir)/../VERSION`;g" \

View File

@ -166,8 +166,13 @@ man7dir=$(manroot)/man$(man7ext)
# -DUNISTD_H_DECLARES_GETOPT if your C++ <unistd.h> declares getopt()
# -DSTDLIB_H_DECLARES_PUTENV if your C++ <stdlib.h> declares putenv()
# -DSTDIO_H_DECLARES_POPEN if your C++ <stdio.h> declares popen()
# -DSTDIO_H_DECLARES_PCLOSE if your C++ <stdio.h> declares pclose()
# -DHAVE_SYS_NERR if you have sysnerr in <errno.h> or <stdio.h>
# -DHAVE_SYS_ERRLIST if you have sys_errlist in <errno.h> or
# <stdio.h>
# -DMATH_H_DECLARES_HYPOT if you have hypot() in <math.h>
# -DTRADITIONAL_CPP if your C++ compiler uses a traditional
# (Reiser) preprocessor.
# (Reiser) preprocessor
# -DLONG_FOR_TIME_T if localtime() takes a long * not a time_t *
# -DHAVE_STRUCT_EXCEPTION if <math.h> defines struct exception
# -DRETSIGTYPE=int if signal handlers return int not void
@ -187,11 +192,12 @@ CDEFINES=$(DEFINES)
CCFLAGS=@CXXFLAGS@
CFLAGS=@CFLAGS@
LDFLAGS=
LDFLAGS=@LDFLAGS@
YACC=@YACC@
YACCFLAGS=-v
LIBS=@LIBS@
LIBM=@LIBM@
RANLIB=@RANLIB@
INSTALL=@INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
@ -234,7 +240,7 @@ MDEFINES="MAKEOVERRIDES=$(MAKEOVERRIDES)" \
"tmac_s_prefix=$(tmac_s_prefix)" "tmac_m_prefix=$(tmac_m_prefix)" \
"CCC=$(CCC)" "CC=$(CC)" "CCDEFINES=$(CCDEFINES)" "CDEFINES=$(CDEFINES)" \
"CCFLAGS=$(CCFLAGS)" "CFLAGS=$(CFLAGS)" "LDFLAGS=$(LDFLAGS)" \
"YACC=$(YACC)" "YACCFLAGS=$(YACCFLAGS)" \
"YACC=$(YACC)" "YACCFLAGS=$(YACCFLAGS)" "LIBM=$(LIBM)" \
"LIBS=$(LIBS)" "LIBOBJS=$(LIBOBJS)" "RANLIB=$(RANLIB)" "AR=$(AR)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_DATA=$(INSTALL_DATA)" \
"ETAGS=$(ETAGS)" "ETAGSFLAGS=$(ETAGSFLAGS)" "ETAGSCCFLAG=$(ETAGSCCFLAG)" \
@ -245,11 +251,12 @@ SHELL=/bin/sh
INCDIRS=include
LIBDIRS=libgroff libdriver libbib
CCPROGDIRS=groff troff tbl pic eqn grops grotty grodvi tfmtodit \
grolj4 hpftodit refer lookbib indxbib lkbib soelim addftinfo
grolj4 hpftodit refer lookbib indxbib lkbib soelim addftinfo \
grohtml
CPROGDIRS=pfbtops psbb
PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
DEVDIRS=devps devdvi devascii devlatin1 devX75 devX75-12 devX100 devX100-12 \
devlj4
devlj4 devhtml
OTHERDIRS=man tmac afmtodit grog nroff mm
ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDIRS)
EXTRADIRS=devps/generate devdvi/generate xditview doc
@ -269,7 +276,7 @@ $(TARGETS):
dot: FORCE
@$(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \
-f $(srcdir)/Makefile.comm -f $(srcdir)/Makefile.sub $(do)
$(LIBDIRS): FORCE
@if test $(srcdir) = .; \
then srcdir=.; \
@ -348,6 +355,7 @@ dist:
rm -f Makefile; \
$(LN_S) $$srcdir/Makefile.init Makefile
mv tmp groff-$(version)
rm -f groff-$(version).tar.gz
tar cfh - groff-$(version) | gzip -c >groff-$(version).tar.gz
rm -fr groff-$(version)

View File

@ -1,4 +1,4 @@
DISTCLEANFILES=config.status Makefile
DISTCLEANFILES=config.status config.log config.cache Makefile
CLEANADD=Makefile.cfg conftest*
distfiles: configure

View File

@ -1,17 +1,81 @@
This file describes recent user-visible changes in groff. Bug fixes
are not described. There are more details in the man pages.
VERSION 1.11
VERSION 1.13, 1.14, 1.15
========================
Bug fixes only; no user-visible changes.
VERSION 1.12
============
James Clark has written (11 Aug 1997):
>Frankly I don't known when I'm going to be able to do another groff
>release. At the moment, I have no time, no Unix machine, and not a lot
>of interest in doing it. If anybody else wants to take over groff
>maintenance, that would be fine with me. Last time I asked in
>gnu.groff.bug, nobody volunteered.
Finally, there are new maintainers for groff. Mailing lists and a CVS
repository are available also. See the file README for details. Not
all reported bug could be fixed, so please send mails again if
something is still not working.
This means groff is an orphan. It is looking for a maintainer.
Most of the installation problems should have vanished now (most
notably the $(tmac_wrap) bug).
There is now a man page called groff_man.man which documents the
basics of the -man macros. It has been originally written by Susan
G. Kleinmann <sgk@debian.org>.
A (still incomplete) groff reference manual in texinfo format
originally contributed by Trent A. Fisher <trent@gnurd.portland.or.us>.
me.man and msafer.man have been renamed to groff_me.man
resp. groff_msafer.man for consistency.
Default strings for macros in doc-common resp. tmac.an no longer
contain the word `UNIX'.
groff should now be Y2k safe (fixes contributed by Paul Eggert
<eggert@twinsun.com>).
Following the GNU standards, groff will now use the prefix
`/usr/local/' as the default instead of replacing an existent groff
binary.
groff, troff, nroff, and pic now support the -U flag to activate unsafe
behaviour (without -msafer); the -S flag for using the -msafer macros
is now the default.
Grohtml
-------
This is a new output device for producing HTML output contributed by
Gaius Mulley <gaius@glam.ac.uk>. It is still very alpha but has been
included into the distribution so that a lot of people have a chance
to test it. Bug reports are highly welcome.
Grolj4
------
Duplex printing support has been contributed by Jeffrey Copeland
<jeff@opennt.com>.
Soelim
------
Added -I option for defining include paths (patch contributed by Peter
Miller <peterm@jna.com.au>).
Gxditview
---------
Fallback resources added (patch contributed by Larry Jones
<larry.jones@sdrc.com>).
Will now support 8 gray levels.
mm
--
New version 1.32 (contributed by Joergen Haegg <jh@axis.com>).
VERSION 1.11
============
Complete documentation for pic is now in the file doc/pic.ms. It was
contributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically

View File

@ -9,6 +9,11 @@ Make sure -DCFRONT_ANSI_BUG is included in DEFINES in the top-level
Makefile. If that doesn't solve the problem, define INT_MIN as
-INT_MAX in libgroff/lib.h.
* I get errors when I try to compile groff with Sun C++ version 5.0 or 5.1.
This is a known problem; see Sun bug #4301919. As of this writing, no
patch is available. Use GCC 2.95.2 or later instead.
* I get errors when I try to compile groff with Sun C++ version 3 or
earlier.
@ -179,7 +184,7 @@ Makefile.
* When I try to print the output of groff -Tps, I get no output at all
from the printer, and the log file shows the error
%%[ error: undefined; offendingcommand: BP ]%%
I using TranScript spooling software.
I'm using TranScript spooling software.
This is a bug in the page reversal filter in early versions of
TranScript. Change the `broken' parameter in
@ -191,7 +196,7 @@ program, all the pages are displayed on top of each other.
This is a defect in pageview. Change the `broken' parameter in
/usr/local/lib/groff/font/devps/DESC to 2.
* With groff -TX75, -TX100or -X, I can only view the first page.
* With groff -TX75, -TX100 or -X, I can only view the first page.
The left mouse button brings up a menu that allows you to view other
pages.
@ -241,11 +246,11 @@ There seem to be many different styles of page header and footer
produced by different versions of the -man macros. You will need to
modify macros/tmac.an to suit your personal taste. For example, if
you want the center of the page header to say
UNIX Programmer's Manual
System Programmer's Manual
you will need to change the line
.el .ds an-extra3 \"UNIX Programmer's Manual
.el .ds an-extra3 \"System Programmer's Manual
to
.el .ds an-extra3 UNIX Programmer's Manual
.el .ds an-extra3 System Programmer's Manual
* While formatting a manual page, groff complains about not being able to
break lines. The problem seems to be caused by a line like:

View File

@ -9,12 +9,8 @@ Here are some things that would be useful additions to groff:
a page-makeup postprocessor and associated macro package
(like pm and -mpm)
a complete, self-contained manual (trent@cs.pdx.edu is working on this)
a complete, self-contained manual -- first results can be found in
doc/groff.texinfo.
If you want to work on one of these, you should probably post to
gnu.groff.bug to see if anyone else has gotten there first.
As of August 1997 groff lacks a maintainer. If you are seriously interested
in these projects, perhaps you should volunteer.

View File

@ -3,17 +3,18 @@ is given in the file VERSION.
Included in this release are implementations of troff, pic, eqn, tbl,
refer, the -man macros and the -ms macros, and drivers for PostScript,
TeX dvi format, HP LaserJet 4 printers, and typewriter-like devices.
Also included is a modified version of the Berkeley -me macros, an
enhanced version of the X11 xditview previewer, and an implementation
of the -mm macros contributed by Joergen Haegg (jh@efd.lth.se).
TeX dvi format, HP LaserJet 4 printers, HTML format (still alpha), and
typewriter-like devices. Also included is a modified version of the
Berkeley -me macros, an enhanced version of the X11 xditview
previewer, and an implementation of the -mm macros contributed by
Joergen Haegg (jh@axis.se).
See the file INSTALL for installation instructions. You will require
a C++ compiler.
The file NEWS describes recent user-visible changes to groff.
Groff is free software. See the file COPYING for copying permission.
Groff is free software. See the file COPYING for copying permission.
The file PROBLEMS describes various problems that have been
encountered in compiling, installing, and running groff.
@ -23,13 +24,53 @@ familiar with the Unix versions of troff, -man, -ms and the
preprocessors.
The most recent released version of groff is always available by
anonymous ftp from prep.ai.mit.edu in the directory pub/gnu.
anonymous ftp from ftp.gnu.org in the directory pub/gnu/groff.
A CVS repository is now available, containing the current development
version of groff. You can access it with the commands
export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs
cvs login
cvs -z9 co groff
(if the prompt for the password appears, just press the enter key).
After a successful login you no longer need the first two commands; an
update of a checked out repository should be done with
cvs -z9 update -d
Please read the info pages of cvs for further details.
Alternatively, you can download snapshots (which are updated twice a
day) from
ftp://ftp.ffii.org/pub/groff/devel/groff-current.tar.gz
or a diff file relative to the latest official groff release as
ftp://ftp.ffii.org/pub/groff/devel/groff-<version>-current.diff.gz
Please report bugs using the form in the file BUG-REPORT; the idea of
this is to make sure that FSF has all the information it needs to fix the
bug. At the very least, read the BUG-REPORT form and make sure that
you supply all the information that it asks for. Even if you are not
sure that something is a bug, report it using BUG-REPORT: this will
enable us to determine whether it really is a bug or not.
this is to make sure that FSF has all the information it needs to fix
the bug. At the very least, read the BUG-REPORT form and make sure
that you supply all the information that it asks for. Even if you are
not sure that something is a bug, report it using BUG-REPORT: this
will enable us to determine whether it really is a bug or not.
GNU groff was written by James Clark <jjc@jclark.com>.
Three mailing lists are available:
bug-groff@gnu.org for reporting bugs
groff@gnu.org for general discussion of groff
groff-commit@ffii.org a read-only list showing logs of
commitments to the CVS repository
Note that groff@gnu.org is an alias for groff@ffii.org; you must be
subscribed to the `groff' and `groff-commit' lists to send mails.
To subscribe, send a mail to <list>-request@<domain> (example:
groff-request@ffii.org) with the word `subscribe' in either the
subject or body of the email (don't include the quotes).
GNU groff was written by James Clark <jjc@jclark.com>. It is now
maintained by Ted Harding <ted.harding@nessie.mcc.ac.uk> and Werner
Lemberg <wl@gnu.org>.

View File

@ -1 +1 @@
1.11
1.15

View File

@ -17,24 +17,21 @@ dnl You should have received a copy of the GNU General Public License along
dnl with groff; see the file COPYING. If not, write to the Free Software
dnl Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
dnl
dnl
AC_DEFUN(GROFF_PRINT,
[if test -z "$PSPRINT"
then
[if test -z "$PSPRINT"; then
AC_CHECK_PROGS(LPR,lpr)
AC_CHECK_PROGS(LP,lp)
if test -n "$LPR" && test -n "$LP"
then
if test -n "$LPR" && test -n "$LP"; then
# HP-UX provides an lpr command that emulates lpr using lp,
# but it doesn't have lpq; in this case we want to use lp
# rather than lpr.
AC_CHECK_PROGS(LPQ,lpq)
test -n "$LPQ" || LPR=
fi
if test -n "$LPR"
then
if test -n "$LPR"; then
PSPRINT="$LPR"
elif test -n "$LP"
then
elif test -n "$LP"; then
PSPRINT="$LP"
fi
fi
@ -43,10 +40,8 @@ AC_MSG_CHECKING([for command to use for printing PostScript files])
AC_MSG_RESULT($PSPRINT)
# Figure out DVIPRINT from PSPRINT.
AC_MSG_CHECKING([for command to use for printing dvi files])
if test -n "$PSPRINT" && test -z "$DVIPRINT"
then
if test "X$PSPRINT" = "Xlpr"
then
if test -n "$PSPRINT" && test -z "$DVIPRINT"; then
if test "X$PSPRINT" = "Xlpr"; then
DVIPRINT="lpr -d"
else
DVIPRINT="$PSPRINT"
@ -54,11 +49,17 @@ then
fi
AC_SUBST(DVIPRINT)
AC_MSG_RESULT($DVIPRINT)])dnl
dnl
dnl
dnl Bison generated parsers have problems with C++ compilers other than g++.
dnl So byacc is preferred over bison.
dnl
AC_DEFUN(GROFF_PROG_YACC,
[AC_CHECK_PROGS(YACC, byacc 'bison -y', yacc)])
dnl
dnl
dnl GROFF_CSH_HACK(if hack present, if not present)
dnl
AC_DEFUN(GROFF_CSH_HACK,
[AC_MSG_CHECKING([for csh hash hack])
cat <<EOF >conftest.sh
@ -68,15 +69,16 @@ export PATH || exit 0
exit 1
EOF
chmod +x conftest.sh
if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1
then
if echo ./conftest.sh | (csh >/dev/null 2>&1) >/dev/null 2>&1; then
AC_MSG_RESULT(yes); $1
else
AC_MSG_RESULT(no); $2
fi
rm -f conftest.sh
])dnl
rm -f conftest.sh])dnl
dnl
dnl
dnl From udodo!hans@relay.NL.net (Hans Zuidam)
dnl
AC_DEFUN(GROFF_ISC_SYSV3,
[AC_MSG_CHECKING([for ISC 3.x or 4.x])
changequote(,)dnl
@ -88,6 +90,8 @@ then
else
AC_MSG_RESULT(no)
fi])dnl
dnl
dnl
AC_DEFUN(GROFF_POSIX,
[AC_MSG_CHECKING([whether -D_POSIX_SOURCE is necessary])
AC_LANG_SAVE
@ -97,75 +101,134 @@ extern "C" { void fileno(int); }],,
AC_MSG_RESULT(yes);AC_DEFINE(_POSIX_SOURCE),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_GETOPT,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([declaration of getopt in stdlib.h])
AC_TRY_COMPILE(
[#include <stdlib.h>
extern "C" { void getopt(int); }],,AC_MSG_RESULT(no),
AC_TRY_COMPILE([#include <stdlib.h>
extern "C" { void getopt(int); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(STDLIB_H_DECLARES_GETOPT))
AC_MSG_CHECKING([declaration of getopt in unistd.h])
AC_TRY_COMPILE([#include <sys/types.h>
#include <unistd.h>
extern "C" { void getopt(int); }],,AC_MSG_RESULT(no),
extern "C" { void getopt(int); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(UNISTD_H_DECLARES_GETOPT))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_PUTENV,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([declaration of putenv])
AC_TRY_COMPILE([#include <stdlib.h>
extern "C" { void putenv(int); }],,AC_MSG_RESULT(no),
AC_MSG_RESULT(yes)
AC_DEFINE(STDLIB_H_DECLARES_PUTENV))
extern "C" { void putenv(int); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(STDLIB_H_DECLARES_PUTENV))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_POPEN,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([declaration of popen])
AC_TRY_COMPILE([#include <stdio.h>
extern "C" { void popen(int); }],,AC_MSG_RESULT(no),
extern "C" { void popen(int); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(STDIO_H_DECLARES_POPEN))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_PCLOSE,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([declaration of pclose])
AC_TRY_COMPILE([#include <stdio.h>
extern "C" { void pclose(int); }],,AC_MSG_RESULT(no),
extern "C" { void pclose(int); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(STDIO_H_DECLARES_PCLOSE))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_SYS_NERR,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([for sys_nerr in <errno.h> or <stdio.h>])
AC_TRY_COMPILE([#include <errno.h>
#include <stdio.h>],
[int k; k = sys_nerr;],
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_NERR),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_SYS_ERRLIST,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([for sys_errlist[] in <errno.h> or <stdio.h>])
AC_TRY_COMPILE([#include <errno.h>
#include <stdio.h>],
[int k; k = (int)sys_errlist[0];],
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_SYS_ERRLIST),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_HYPOT,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([declaration of hypot])
AC_TRY_COMPILE([#include <math.h>
extern "C" { double hypot(double,double); }],,
AC_MSG_RESULT(no),
AC_MSG_RESULT(yes);AC_DEFINE(MATH_H_DECLARES_HYPOT))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_OSFCN_H,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([C++ <osfcn.h>])
AC_TRY_COMPILE([#include <osfcn.h>],
[read(0, 0, 0); open(0, 0);],AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H),
[read(0, 0, 0); open(0, 0);],
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_OSFCN_H),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_LIMITS_H,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([C++ <limits.h>])
AC_TRY_COMPILE([#include <limits.h>],
[int x = INT_MIN; int y = INT_MAX; int z = UCHAR_MAX;],
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H),AC_MSG_RESULT(no))
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_CC_LIMITS_H),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_TIME_T,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING([for declaration of time_t])
AC_TRY_COMPILE([#include <time.h>],
[time_t t = time(0); struct tm *p = localtime(&t);],AC_MSG_RESULT(yes),
[time_t t = time(0); struct tm *p = localtime(&t);],
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no);AC_DEFINE(LONG_FOR_TIME_T))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_STRUCT_EXCEPTION,
[AC_MSG_CHECKING([struct exception])
AC_TRY_COMPILE([#include <math.h>],
[struct exception e;],
AC_MSG_RESULT(yes);AC_DEFINE(HAVE_STRUCT_EXCEPTION),
AC_MSG_RESULT(no))])dnl
dnl
dnl
AC_DEFUN(GROFF_ARRAY_DELETE,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
@ -173,9 +236,12 @@ AC_MSG_CHECKING([whether ANSI array delete syntax supported])
AC_TRY_COMPILE(,
changequote(,)dnl
char *p = new char[5]; delete [] p;changequote([,]),
AC_MSG_RESULT(yes),AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE))
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no);AC_DEFINE(ARRAY_DELETE_NEEDS_SIZE))
AC_LANG_RESTORE])dnl
dnl
dnl
dnl
AC_DEFUN(GROFF_TRADITIONAL_CPP,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
@ -184,11 +250,11 @@ AC_TRY_COMPILE([#define name2(a,b) a/**/b],[int name2(foo,bar);],
AC_MSG_RESULT(yes);AC_DEFINE(TRADITIONAL_CPP),
AC_MSG_RESULT(no))
AC_LANG_RESTORE])dnl
dnl
dnl
AC_DEFUN(GROFF_WCOREFLAG,
[AC_MSG_CHECKING([w_coredump])
AC_TRY_RUN([
#include <sys/types.h>
AC_TRY_RUN([#include <sys/types.h>
#include <sys/wait.h>
main()
{
@ -199,50 +265,44 @@ main()
((union wait *)&i)->w_coredump = 1;
exit(i != 0200);
#endif
}
],AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG,0200),AC_MSG_RESULT(no),
}],
AC_MSG_RESULT(yes);AC_DEFINE(WCOREFLAG,0200),
AC_MSG_RESULT(no),
AC_MSG_RESULT(no))])dnl
dnl
dnl
AC_DEFUN(GROFF_BROKEN_SPOOLER_FLAGS,
[AC_MSG_CHECKING([default value for grops -b option])
test -n "${BROKEN_SPOOLER_FLAGS}" || BROKEN_SPOOLER_FLAGS=7
AC_MSG_RESULT($BROKEN_SPOOLER_FLAGS)
AC_SUBST(BROKEN_SPOOLER_FLAGS)])dnl
dnl
dnl
AC_DEFUN(GROFF_PAGE,
[AC_MSG_CHECKING([default paper size])
if test -z "$PAGE"
then
if test -z "$PAGE"; then
descfile=
if test -r $prefix/share/groff/font/devps/DESC
then
if test -r $prefix/share/groff/font/devps/DESC; then
descfile=$prefix/share/groff/font/devps/DESC
elif test -r $prefix/lib/groff/font/devps/DESC
then
elif test -r $prefix/lib/groff/font/devps/DESC; then
descfile=$prefix/lib/groff/font/devps/DESC
fi
if test -n "$descfile" \
&& grep "^paperlength 841890" $descfile >/dev/null 2>&1
then
&& grep "^paperlength 841890" $descfile >/dev/null 2>&1; then
PAGE=A4
else
PAGE=letter
fi
fi
if test -z "$PAGE"
then
if test -z "$PAGE"; then
dom=`awk '([$]1 == "dom" || [$]1 == "search") { print [$]2; exit}' \
/etc/resolv.conf 2>/dev/null`
if test -z "$dom"
then
if test -z "$dom"; then
dom=`(domainname) 2>/dev/null | tr -d '+'`
if test -z "$dom"
then
if test -z "$dom"; then
dom=`(hostname) 2>/dev/null | grep '\.'`
fi
fi
changequote(,)dnl
# If the top-level domain is two letters and it's not `us' or `ca'
# then they probably use A4 paper.
@ -256,20 +316,21 @@ test -n "$PAGE" || PAGE=letter
AC_MSG_RESULT($PAGE)
AC_SUBST(PAGE)])dnl
dnl
dnl
AC_DEFUN(GROFF_CXX_CHECK,
[AC_REQUIRE([AC_C_CROSS])
AC_REQUIRE([AC_PROG_CXX])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
if test "$cross_compiling" = no; then
AC_MSG_CHECKING([that C++ compiler can compile simple program])
AC_MSG_CHECKING([that C++ compiler can compile simple program])
fi
AC_TRY_RUN([int main() { return 0; }],
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
AC_MSG_ERROR([a working C++ compiler is required]),:)
AC_MSG_RESULT(no);AC_MSG_ERROR([a working C++ compiler is required]),
:)
if test "$cross_compiling" = no; then
AC_MSG_CHECKING([that C++ static constructors and destructors are called])
AC_MSG_CHECKING([that C++ static constructors and destructors are called])
fi
AC_TRY_RUN([
extern "C" {
@ -285,32 +346,28 @@ A a;
int main() { return 1; }
],
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
AC_MSG_ERROR([a working C++ compiler is required]),:)
AC_MSG_RESULT(no);AC_MSG_ERROR([a working C++ compiler is required]),
:)
AC_MSG_CHECKING([that header files support C++])
AC_TRY_LINK([#include <stdio.h>],
[fopen(0, 0);],AC_MSG_RESULT(yes),
AC_MSG_RESULT(no)
AC_MSG_ERROR([header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)]))
[fopen(0, 0);],
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no);AC_MSG_ERROR([header files do not support C++ (if you are using a version of gcc/g++ earlier than 2.5, you should install libg++)]))
AC_LANG_RESTORE
])dnl
dnl
dnl
AC_DEFUN(GROFF_TMAC,
[
AC_MSG_CHECKING([for prefix of system macro packages])
[AC_MSG_CHECKING([for prefix of system macro packages])
sys_tmac_prefix=
sys_tmac_file_prefix=
for d in /usr/share/lib/tmac /usr/lib/tmac
do
for t in "" tmac.
do
for m in an s m
do
for d in /usr/share/lib/tmac /usr/lib/tmac; do
for t in "" tmac.; do
for m in an s m; do
f=$d/$t$m
if test -z "$sys_tmac_prefix" \
&& test -f $f \
&& grep '^\.if' $f >/dev/null 2>&1
then
&& grep '^\.if' $f >/dev/null 2>&1; then
sys_tmac_prefix=$d/$t
sys_tmac_file_prefix=$t
fi
@ -321,42 +378,36 @@ AC_MSG_RESULT($sys_tmac_prefix)
AC_SUBST(sys_tmac_prefix)
tmac_wrap=
AC_MSG_CHECKING([which system macro packages should be made available])
if test "x$sys_tmac_file_prefix" = "xtmac."
then
for f in $sys_tmac_prefix*
do
if test "x$sys_tmac_file_prefix" = "xtmac."; then
for f in $sys_tmac_prefix*; do
suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
case "$suff" in
e);;
e) ;;
*)
grep "Copyright.*Free Software Foundation" $f >/dev/null \
|| tmac_wrap="$tmac_wrap $suff"
;;
grep "Copyright.*Free Software Foundation" $f >/dev/null \
|| tmac_wrap="$tmac_wrap $suff" ;;
esac
done
elif test -n "$sys_tmac_prefix"
then
elif test -n "$sys_tmac_prefix"; then
files=`echo $sys_tmac_prefix*`
grep "\\.so" $files >conftest.sol
for f in $files
do
for f in $files; do
case "$f" in
${sys_tmac_prefix}e) ;;
${sys_tmac_prefix}e) ;;
*.me) ;;
*/ms.*) ;;
*)
b=`basename $f`
if grep "\\.so.*/$b\$" conftest.sol >/dev/null \
|| grep -l "Copyright.*Free Software Foundation" $f >/dev/null
then
:
else
suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
case "$suff" in
tmac.*);;
*) tmac_wrap="$tmac_wrap $suff" ;;
esac
fi
b=`basename $f`
if grep "\\.so.*/$b\$" conftest.sol >/dev/null \
|| grep -l "Copyright.*Free Software Foundation" $f >/dev/null; then
:
else
suff=`echo $f | sed -e "s;$sys_tmac_prefix;;"`
case "$suff" in
tmac.*) ;;
*) tmac_wrap="$tmac_wrap $suff" ;;
esac
fi
esac
done
rm -f conftest.sol
@ -364,11 +415,11 @@ fi
AC_MSG_RESULT([$tmac_wrap])
AC_SUBST(tmac_wrap)
])dnl
dnl
dnl
AC_DEFUN(GROFF_G,
[AC_MSG_CHECKING([for existing troff installation])
if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" \
= x0
then
if test "x`(echo .tm '|n(.g' | tr '|' '\\\\' | troff -z -i 2>&1) 2>/dev/null`" = x0; then
AC_MSG_RESULT(yes)
g=g
else
@ -377,9 +428,21 @@ else
fi
AC_SUBST(g)
])dnl
dnl
dnl
dnl We need the path to install-sh to be absolute.
dnl
AC_DEFUN(GROFF_INSTALL_SH,
[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
ac_dir=`cd $ac_aux_dir; pwd`
ac_install_sh="$ac_dir/install-sh -c"
])dnl
dnl
dnl
dnl At least one UNIX system, Apple Macintosh Rhapsody 5.5,
dnl does not have -lm.
dnl
AC_DEFUN(GROFF_LIBM,
[AC_CHECK_LIB(m,sin,LIBM=-lm)
AC_SUBST(LIBM)
])

1672
contrib/groff/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(groff/groff.cc)
AC_PREFIX_PROGRAM(grops)
dnl checks for programs
AC_PROG_CC
AC_PROG_CXX
@ -22,16 +21,21 @@ GROFF_GETOPT
GROFF_PUTENV
GROFF_POPEN
GROFF_PCLOSE
GROFF_SYS_NERR
GROFF_SYS_ERRLIST
GROFF_HYPOT
GROFF_OSFCN_H
GROFF_LIMITS_H
dnl checks for typedefs
GROFF_TIME_T
AC_TYPE_SIGNAL
GROFF_STRUCT_EXCEPTION
dnl checks for libraries
GROFF_LIBM
dnl checks for functions
AC_FUNC_MMAP
saved_libs="$LIBS"
LIBS="$LIBS -lm"
LIBS="$LIBS -lc $LIBM"
AC_REPLACE_FUNCS(fmod strtol getcwd strerror putenv)
LIBS="$saved_libs"
AC_CHECK_FUNCS(rename mkstemp)

306
contrib/groff/devhtml/CB Normal file
View File

@ -0,0 +1,306 @@
name CB
spacewidth 9
charset
--- 9,1 0 040
! 9,9 0 041
" 9,10 0 042
# 9,10,1 0 043
sh "
$ 9,11,1 0 044
Do "
% 9,10 0 045
& 9,8 0 046
' 9,10 0 047
( 9,9,2 0 050
) 9,9,2 0 051
* 9,9 0 052
+ 9,8 0 053
, 9,2,2 0 054
\- 9,5 0 055
. 9,2 0 056
/ 9,10,2 0 057
sl "
0 9,10 0 060
1 9,10 0 061
2 9,10 0 062
3 9,10 0 063
4 9,10 0 064
5 9,10 0 065
6 9,10 0 066
7 9,10 0 067
8 9,10 0 070
9 9,10 0 071
: 9,7 0 072
; 9,7,2 0 073
< 9,8 0 074
= 9,6 0 075
eq "
> 9,8 0 076
? 9,9 0 077
@ 9,9 0 0100
at "
A 9,9 0 0101
B 9,9 0 0102
C 9,9 0 0103
D 9,9 0 0104
E 9,9 0 0105
F 9,9 0 0106
G 9,9 0 0107
H 9,9 0 0110
I 9,9 0 0111
J 9,9 0 0112
K 9,9 0 0113
L 9,9 0 0114
M 9,9 0 0115
N 9,9 0 0116
O 9,9 0 0117
P 9,9 0 0120
Q 9,9,2 0 0121
R 9,9 0 0122
S 9,9 0 0123
T 9,9 0 0124
U 9,9 0 0125
V 9,9 0 0126
W 9,9 0 0127
X 9,9 0 0130
Y 9,9 0 0131
Z 9,9 0 0132
[ 9,9,2 0 0133
lB "
\ 9,10,2 0 0134
rs "
] 9,9,2 0 0135
rB "
^ 9,9 0 0136
a^ "
ha "
_ 9,0,2 0 0137
` 9,10 0 0140
oq "
a 9,7 0 0141
b 9,10 0 0142
c 9,7 0 0143
d 9,10 0 0144
e 9,7 0 0145
f 9,10 0 0146
g 9,7,3 0 0147
h 9,10 0 0150
i 9,10 0 0151
j 9,10,3 0 0152
k 9,10 0 0153
l 9,10 0 0154
m 9,7 0 0155
n 9,7 0 0156
o 9,7 0 0157
p 9,7,3 0 0160
q 9,7,3 0 0161
r 9,7 0 0162
s 9,7 0 0163
t 9,9 0 0164
u 9,7 0 0165
v 9,7 0 0166
w 9,7 0 0167
x 9,7 0 0170
y 9,7,3 0 0171
z 9,7 0 0172
{ 9,9,2 0 0173
lC "
| 9,9,2 0 0174
or "
ba "
} 9,9,2 0 0175
rC "
~ 9,6 0 0176
a~ "
ap "
ti "
r! 9,7,2 0 0241
¡ "
ct 9,9,1 0 0242
¢ "
Po 9,9 0 0243
£ "
Cs 9,7 0 0244
¤ "
Ye 9,9 0 0245
¥ "
bb 9,9,2 0 0246
¦ "
sc 9,10,1 0 0247
§ "
ad 9,10 0 0250
¨ "
co 9,9 0 0251
© "
Of 9,9 0 0252
ª "
Fo 9,6 0 0253
« "
no 9,5 0 0254
¬ "
- 9,5 0 055
hy "
­ "
rg 9,9 0 0256
® "
a- 9,9 0 0257
¯ "
de 9,9 0 0260
° "
+- 9,8 0 0261
± "
S2 9,10 0 0262
² "
S3 9,10 0 0263
³ "
aa 9,9 0 0264
´ "
µ 9,7,3 0 0265
ps 9,10,1 0 0266
¶ "
md 9,5 0 0267
· "
ac 9,1,3 0 0270
¸ "
S1 9,10 0 0271
¹ "
Om 9,9 0 0272
º "
Fc 9,6 0 0273
» "
14 9,10 0 0274
¼ "
12 9,10 0 0275
½ "
34 9,10 0 0276
¾ "
r? 9,7,2 0 0277
¿ "
`A 9,12 0 0300
À "
'A 9,12 0 0301
Á "
^A 9,12 0 0302
 "
~A 9,12 0 0303
à "
:A 9,12 0 0304
Ä "
oA 9,12 0 0305
Å "
AE 9,9 0 0306
Æ "
,C 9,9,4 0 0307
Ç "
`E 9,12 0 0310
È "
'E 9,12 0 0311
É "
^E 9,12 0 0312
Ê "
:E 9,12 0 0313
Ë "
`I 9,12 0 0314
Ì "
'I 9,12 0 0315
Í "
^I 9,12 0 0316
Î "
:I 9,12 0 0317
Ï "
-D 9,9 0 0320
Ð "
~N 9,12 0 0321
Ñ "
`O 9,12 0 0322
Ò "
'O 9,12 0 0323
Ó "
^O 9,12 0 0324
Ô "
~O 9,12 0 0325
Õ "
:O 9,12 0 0326
Ö "
mu 9,8 0 0327
× "
/O 9,10 0 0330
Ø "
`U 9,12 0 0331
Ù "
'U 9,12 0 0332
Ú "
^U 9,12 0 0333
Û "
:U 9,12 0 0334
Ü "
'Y 9,12 0 0335
Ý "
TP 9,9 0 0336
Þ "
ss 9,9 0 0337
ß "
`a 9,10 0 0340
à "
'a 9,10 0 0341
á "
^a 9,10 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,10 0 0344
ä "
oa 9,10 0 0345
å "
ae 9,7 0 0346
æ "
,c 9,7,4 0 0347
ç "
`e 9,10 0 0350
è "
'e 9,10 0 0351
é "
^e 9,10 0 0352
ê "
:e 9,10 0 0353
ë "
`i 9,10 0 0354
ì "
'i 9,10 0 0355
í "
^i 9,10 0 0356
î "
:i 9,10 0 0357
ï "
Sd 9,10 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 9,10 0 0362
ò "
'o 9,10 0 0363
ó "
^o 9,10 0 0364
ô "
~o 9,10 0 0365
õ "
:o 9,10 0 0366
ö "
di 9,8 0 0367
÷ "
/o 9,7 0 0370
ø "
`u 9,10 0 0371
ù "
'u 9,10 0 0372
ú "
^u 9,10 0 0373
û "
:u 9,10 0 0374
ü "
'y 9,10,3 0 0375
ý "
Tp 9,9,3 0 0376
þ "
:y 9,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/CBI Normal file
View File

@ -0,0 +1,306 @@
name CBI
spacewidth 9
charset
--- 9,1 0 040
! 9,10 0 041
" 9,9 0 042
# 9,11,1 0 043
sh "
$ 9,11,1 0 044
Do "
% 9,10 0 045
& 9,8 0 046
' 9,9 0 047
( 9,9,2 0 050
) 9,9,2 0 051
* 9,10 0 052
+ 9,8 0 053
, 9,2,2 0 054
\- 9,5 0 055
. 9,2 0 056
/ 9,10,2 0 057
sl "
0 9,10 0 060
1 9,10 0 061
2 9,10 0 062
3 9,10 0 063
4 9,10 0 064
5 9,10 0 065
6 9,10 0 066
7 9,10 0 067
8 9,10 0 070
9 9,10 0 071
: 9,7 0 072
; 9,7,2 0 073
< 9,8 0 074
= 9,6 0 075
eq "
> 9,8 0 076
? 9,9 0 077
@ 9,9 0 0100
at "
A 9,9 0 0101
B 9,9 0 0102
C 9,9 0 0103
D 9,9 0 0104
E 9,9 0 0105
F 9,9 0 0106
G 9,9 0 0107
H 9,9 0 0110
I 9,9 0 0111
J 9,9 0 0112
K 9,9 0 0113
L 9,9 0 0114
M 9,9 0 0115
N 9,9 0 0116
O 9,9 0 0117
P 9,9 0 0120
Q 9,9,2 0 0121
R 9,9 0 0122
S 9,9 0 0123
T 9,9 0 0124
U 9,9 0 0125
V 9,9 0 0126
W 9,9 0 0127
X 9,9 0 0130
Y 9,9 0 0131
Z 9,9 0 0132
[ 9,9,2 0 0133
lB "
\ 9,10,2 0 0134
rs "
] 9,9,2 0 0135
rB "
^ 9,9 0 0136
a^ "
ha "
_ 9,0,3 0 0137
` 9,9 0 0140
oq "
a 9,7 0 0141
b 9,10 0 0142
c 9,7 0 0143
d 9,10 0 0144
e 9,7 0 0145
f 9,10 0 0146
g 9,7,3 0 0147
h 9,10 0 0150
i 9,10 0 0151
j 9,10,3 0 0152
k 9,10 0 0153
l 9,10 0 0154
m 9,7 0 0155
n 9,7 0 0156
o 9,7 0 0157
p 9,7,3 0 0160
q 9,7,3 0 0161
r 9,7 0 0162
s 9,7 0 0163
t 9,9 0 0164
u 9,7 0 0165
v 9,7 0 0166
w 9,7 0 0167
x 9,7 0 0170
y 9,7,3 0 0171
z 9,7 0 0172
{ 9,9,2 0 0173
lC "
| 9,9,2 0 0174
or "
ba "
} 9,9,2 0 0175
rC "
~ 9,6 0 0176
a~ "
ap "
ti "
r! 9,7,3 0 0241
¡ "
ct 9,9,1 0 0242
¢ "
Po 9,9 0 0243
£ "
Cs 9,7 0 0244
¤ "
Ye 9,9 0 0245
¥ "
bb 9,10,2 0 0246
¦ "
sc 9,10,1 0 0247
§ "
ad 9,10 0 0250
¨ "
co 9,9 0 0251
© "
Of 9,9 0 0252
ª "
Fo 9,6 0 0253
« "
no 9,6 0 0254
¬ "
- 9,5 0 055
hy "
­ "
rg 9,9 0 0256
® "
a- 9,9 0 0257
¯ "
de 9,10 0 0260
° "
+- 9,8 0 0261
± "
S2 9,10 0 0262
² "
S3 9,10 0 0263
³ "
aa 9,10 0 0264
´ "
µ 9,7,3 0 0265
ps 9,10,1 0 0266
¶ "
md 9,5 0 0267
· "
ac 9,1,3 0 0270
¸ "
S1 9,10 0 0271
¹ "
Om 9,9 0 0272
º "
Fc 9,6 0 0273
» "
14 9,10 0 0274
¼ "
12 9,10 0 0275
½ "
34 9,10 0 0276
¾ "
r? 9,7,2 0 0277
¿ "
`A 9,12 0 0300
À "
'A 9,12 0 0301
Á "
^A 9,12 0 0302
 "
~A 9,12 0 0303
à "
:A 9,12 0 0304
Ä "
oA 9,12 0 0305
Å "
AE 9,9 0 0306
Æ "
,C 9,9,4 0 0307
Ç "
`E 9,12 0 0310
È "
'E 9,12 0 0311
É "
^E 9,12 0 0312
Ê "
:E 9,12 0 0313
Ë "
`I 9,12 0 0314
Ì "
'I 9,12 0 0315
Í "
^I 9,12 0 0316
Î "
:I 9,12 0 0317
Ï "
-D 9,9 0 0320
Ð "
~N 9,12 0 0321
Ñ "
`O 9,12 0 0322
Ò "
'O 9,12 0 0323
Ó "
^O 9,12 0 0324
Ô "
~O 9,12 0 0325
Õ "
:O 9,12 0 0326
Ö "
mu 9,8 0 0327
× "
/O 9,9 0 0330
Ø "
`U 9,12 0 0331
Ù "
'U 9,12 0 0332
Ú "
^U 9,12 0 0333
Û "
:U 9,12 0 0334
Ü "
'Y 9,12 0 0335
Ý "
TP 9,9 0 0336
Þ "
ss 9,9 0 0337
ß "
`a 9,10 0 0340
à "
'a 9,10 0 0341
á "
^a 9,10 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,10 0 0344
ä "
oa 9,10 0 0345
å "
ae 9,7 0 0346
æ "
,c 9,7,4 0 0347
ç "
`e 9,10 0 0350
è "
'e 9,10 0 0351
é "
^e 9,10 0 0352
ê "
:e 9,10 0 0353
ë "
`i 9,10 0 0354
ì "
'i 9,10 0 0355
í "
^i 9,10 0 0356
î "
:i 9,10 0 0357
ï "
Sd 9,10 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 9,10 0 0362
ò "
'o 9,10 0 0363
ó "
^o 9,10 0 0364
ô "
~o 9,10 0 0365
õ "
:o 9,10 0 0366
ö "
di 9,8 0 0367
÷ "
/o 9,8 0 0370
ø "
`u 9,10 0 0371
ù "
'u 9,10 0 0372
ú "
^u 9,10 0 0373
û "
:u 9,10 0 0374
ü "
'y 9,10,3 0 0375
ý "
Tp 9,9,3 0 0376
þ "
:y 9,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/CI Normal file
View File

@ -0,0 +1,306 @@
name CI
spacewidth 9
charset
--- 9,1 0 040
! 9,9 0 041
" 9,10 0 042
# 9,10,1 0 043
sh "
$ 9,10,1 0 044
Do "
% 9,10 0 045
& 9,8 0 046
' 9,10 0 047
( 9,10,3 0 050
) 9,10,3 0 051
* 9,9 0 052
+ 9,8 0 053
, 9,2,2 0 054
\- 9,5 0 055
. 9,2 0 056
/ 9,10,2 0 057
sl "
0 9,10 0 060
1 9,10 0 061
2 9,10 0 062
3 9,10 0 063
4 9,10 0 064
5 9,10 0 065
6 9,10 0 066
7 9,10 0 067
8 9,10 0 070
9 9,10 0 071
: 9,7 0 072
; 9,7,2 0 073
< 9,8 0 074
= 9,6 0 075
eq "
> 9,8 0 076
? 9,9 0 077
@ 9,9 0 0100
at "
A 9,9 0 0101
B 9,9 0 0102
C 9,9 0 0103
D 9,9 0 0104
E 9,9 0 0105
F 9,9 0 0106
G 9,9 0 0107
H 9,9 0 0110
I 9,9 0 0111
J 9,9 0 0112
K 9,9 0 0113
L 9,9 0 0114
M 9,9 0 0115
N 9,9 0 0116
O 9,9 0 0117
P 9,9 0 0120
Q 9,9,2 0 0121
R 9,9 0 0122
S 9,9 0 0123
T 9,9 0 0124
U 9,9 0 0125
V 9,9 0 0126
W 9,9 0 0127
X 9,9 0 0130
Y 9,9 0 0131
Z 9,9 0 0132
[ 9,10,3 0 0133
lB "
\ 9,10,2 0 0134
rs "
] 9,10,3 0 0135
rB "
^ 9,9 0 0136
a^ "
ha "
_ 9,0,3 0 0137
` 9,10 0 0140
oq "
a 9,7 0 0141
b 9,10 0 0142
c 9,7 0 0143
d 9,10 0 0144
e 9,7 0 0145
f 9,10 0 0146
g 9,7,3 0 0147
h 9,10 0 0150
i 9,10 0 0151
j 9,10,3 0 0152
k 9,10 0 0153
l 9,10 0 0154
m 9,7 0 0155
n 9,7 0 0156
o 9,7 0 0157
p 9,7,3 0 0160
q 9,7,3 0 0161
r 9,7 0 0162
s 9,7 0 0163
t 9,9 0 0164
u 9,7 0 0165
v 9,7 0 0166
w 9,7 0 0167
x 9,7 0 0170
y 9,7,3 0 0171
z 9,7 0 0172
{ 9,10,3 0 0173
lC "
| 9,9,2 0 0174
or "
ba "
} 9,10,3 0 0175
rC "
~ 9,5 0 0176
a~ "
ap "
ti "
r! 9,7,2 0 0241
¡ "
ct 9,10 0 0242
¢ "
Po 9,9 0 0243
£ "
Cs 9,7 0 0244
¤ "
Ye 9,9 0 0245
¥ "
bb 9,9,2 0 0246
¦ "
sc 9,9,1 0 0247
§ "
ad 9,9 0 0250
¨ "
co 9,9 0 0251
© "
Of 9,9 0 0252
ª "
Fo 9,7 0 0253
« "
no 9,6 0 0254
¬ "
- 9,5 0 055
hy "
­ "
rg 9,9 0 0256
® "
a- 9,9 0 0257
¯ "
de 9,10 0 0260
° "
+- 9,8 0 0261
± "
S2 9,10 0 0262
² "
S3 9,10 0 0263
³ "
aa 9,9 0 0264
´ "
µ 9,7,3 0 0265
ps 9,9,1 0 0266
¶ "
md 9,5 0 0267
· "
ac 9,1,3 0 0270
¸ "
S1 9,10 0 0271
¹ "
Om 9,9 0 0272
º "
Fc 9,7 0 0273
» "
14 9,10 0 0274
¼ "
12 9,10 0 0275
½ "
34 9,10 0 0276
¾ "
r? 9,7,2 0 0277
¿ "
`A 9,12 0 0300
À "
'A 9,12 0 0301
Á "
^A 9,12 0 0302
 "
~A 9,12 0 0303
à "
:A 9,11 0 0304
Ä "
oA 9,12 0 0305
Å "
AE 9,9 0 0306
Æ "
,C 9,9,3 0 0307
Ç "
`E 9,12 0 0310
È "
'E 9,12 0 0311
É "
^E 9,12 0 0312
Ê "
:E 9,11 0 0313
Ë "
`I 9,12 0 0314
Ì "
'I 9,12 0 0315
Í "
^I 9,12 0 0316
Î "
:I 9,11 0 0317
Ï "
-D 9,9 0 0320
Ð "
~N 9,12 0 0321
Ñ "
`O 9,12 0 0322
Ò "
'O 9,12 0 0323
Ó "
^O 9,12 0 0324
Ô "
~O 9,12 0 0325
Õ "
:O 9,11 0 0326
Ö "
mu 9,8 0 0327
× "
/O 9,9 0 0330
Ø "
`U 9,12 0 0331
Ù "
'U 9,12 0 0332
Ú "
^U 9,12 0 0333
Û "
:U 9,11 0 0334
Ü "
'Y 9,12 0 0335
Ý "
TP 9,9 0 0336
Þ "
ss 9,9 0 0337
ß "
`a 9,10 0 0340
à "
'a 9,10 0 0341
á "
^a 9,10 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,9 0 0344
ä "
oa 9,11 0 0345
å "
ae 9,7 0 0346
æ "
,c 9,7,3 0 0347
ç "
`e 9,10 0 0350
è "
'e 9,10 0 0351
é "
^e 9,10 0 0352
ê "
:e 9,9 0 0353
ë "
`i 9,10 0 0354
ì "
'i 9,10 0 0355
í "
^i 9,10 0 0356
î "
:i 9,9 0 0357
ï "
Sd 9,10 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 9,10 0 0362
ò "
'o 9,10 0 0363
ó "
^o 9,10 0 0364
ô "
~o 9,10 0 0365
õ "
:o 9,9 0 0366
ö "
di 9,8 0 0367
÷ "
/o 9,7 0 0370
ø "
`u 9,10 0 0371
ù "
'u 9,10 0 0372
ú "
^u 9,10 0 0373
û "
:u 9,9 0 0374
ü "
'y 9,10,3 0 0375
ý "
Tp 9,9,3 0 0376
þ "
:y 9,9,3 0 0377
ÿ "

306
contrib/groff/devhtml/CR Normal file
View File

@ -0,0 +1,306 @@
name CR
spacewidth 9
charset
--- 9,1 0 040
! 9,9 0 041
" 9,10 0 042
# 9,9,1 0 043
sh "
$ 9,11,2 0 044
Do "
% 9,10 0 045
& 9,8 0 046
' 9,10 0 047
( 9,10,2 0 050
) 9,10,2 0 051
* 9,9 0 052
+ 9,8 0 053
, 9,2,2 0 054
\- 9,5 0 055
. 9,2 0 056
/ 9,10,1 0 057
sl "
0 9,10 0 060
1 9,10 0 061
2 9,10 0 062
3 9,10 0 063
4 9,10 0 064
5 9,10 0 065
6 9,10 0 066
7 9,10 0 067
8 9,10 0 070
9 9,10 0 071
: 9,7 0 072
; 9,7,2 0 073
< 9,8 0 074
= 9,6 0 075
eq "
> 9,8 0 076
? 9,9 0 077
@ 9,9,1 0 0100
at "
A 9,9 0 0101
B 9,9 0 0102
C 9,9 0 0103
D 9,9 0 0104
E 9,9 0 0105
F 9,9 0 0106
G 9,9 0 0107
H 9,9 0 0110
I 9,9 0 0111
J 9,9 0 0112
K 9,9 0 0113
L 9,9 0 0114
M 9,9 0 0115
N 9,9 0 0116
O 9,9 0 0117
P 9,9 0 0120
Q 9,9,2 0 0121
R 9,9 0 0122
S 9,9 0 0123
T 9,9 0 0124
U 9,9 0 0125
V 9,9 0 0126
W 9,9 0 0127
X 9,9 0 0130
Y 9,9 0 0131
Z 9,9 0 0132
[ 9,10,2 0 0133
lB "
\ 9,10,1 0 0134
rs "
] 9,10,2 0 0135
rB "
^ 9,9 0 0136
a^ "
ha "
_ 9,0,3 0 0137
` 9,10 0 0140
oq "
a 9,7 0 0141
b 9,10 0 0142
c 9,7 0 0143
d 9,10 0 0144
e 9,7 0 0145
f 9,10 0 0146
g 9,7,3 0 0147
h 9,10 0 0150
i 9,10 0 0151
j 9,10,3 0 0152
k 9,10 0 0153
l 9,10 0 0154
m 9,7 0 0155
n 9,7 0 0156
o 9,7 0 0157
p 9,7,3 0 0160
q 9,7,3 0 0161
r 9,7 0 0162
s 9,7 0 0163
t 9,9 0 0164
u 9,7 0 0165
v 9,7 0 0166
w 9,7 0 0167
x 9,7 0 0170
y 9,7,3 0 0171
z 9,7 0 0172
{ 9,10,2 0 0173
lC "
| 9,9,2 0 0174
or "
ba "
} 9,10,2 0 0175
rC "
~ 9,5 0 0176
a~ "
ap "
ti "
r! 9,7,2 0 0241
¡ "
ct 9,9 0 0242
¢ "
Po 9,9 0 0243
£ "
Cs 9,7 0 0244
¤ "
Ye 9,9 0 0245
¥ "
bb 9,9,2 0 0246
¦ "
sc 9,9,1 0 0247
§ "
ad 9,9 0 0250
¨ "
co 9,9 0 0251
© "
Of 9,9 0 0252
ª "
Fo 9,7 0 0253
« "
no 9,6 0 0254
¬ "
- 9,5 0 055
hy "
­ "
rg 9,9 0 0256
® "
a- 9,9 0 0257
¯ "
de 9,10 0 0260
° "
+- 9,8 0 0261
± "
S2 9,10 0 0262
² "
S3 9,10 0 0263
³ "
aa 9,10 0 0264
´ "
µ 9,7,3 0 0265
ps 9,9,1 0 0266
¶ "
md 9,5 0 0267
· "
ac 9,0,3 0 0270
¸ "
S1 9,10 0 0271
¹ "
Om 9,9 0 0272
º "
Fc 9,7 0 0273
» "
14 9,10 0 0274
¼ "
12 9,10 0 0275
½ "
34 9,10 0 0276
¾ "
r? 9,7,2 0 0277
¿ "
`A 9,12 0 0300
À "
'A 9,12 0 0301
Á "
^A 9,12 0 0302
 "
~A 9,12 0 0303
à "
:A 9,11 0 0304
Ä "
oA 9,12 0 0305
Å "
AE 9,9 0 0306
Æ "
,C 9,9,3 0 0307
Ç "
`E 9,12 0 0310
È "
'E 9,12 0 0311
É "
^E 9,12 0 0312
Ê "
:E 9,11 0 0313
Ë "
`I 9,12 0 0314
Ì "
'I 9,12 0 0315
Í "
^I 9,12 0 0316
Î "
:I 9,11 0 0317
Ï "
-D 9,9 0 0320
Ð "
~N 9,12 0 0321
Ñ "
`O 9,12 0 0322
Ò "
'O 9,12 0 0323
Ó "
^O 9,12 0 0324
Ô "
~O 9,12 0 0325
Õ "
:O 9,11 0 0326
Ö "
mu 9,8 0 0327
× "
/O 9,9 0 0330
Ø "
`U 9,12 0 0331
Ù "
'U 9,12 0 0332
Ú "
^U 9,12 0 0333
Û "
:U 9,11 0 0334
Ü "
'Y 9,12 0 0335
Ý "
TP 9,9 0 0336
Þ "
ss 9,9 0 0337
ß "
`a 9,10 0 0340
à "
'a 9,10 0 0341
á "
^a 9,10 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,9 0 0344
ä "
oa 9,10 0 0345
å "
ae 9,7 0 0346
æ "
,c 9,7,3 0 0347
ç "
`e 9,10 0 0350
è "
'e 9,10 0 0351
é "
^e 9,10 0 0352
ê "
:e 9,9 0 0353
ë "
`i 9,10 0 0354
ì "
'i 9,10 0 0355
í "
^i 9,10 0 0356
î "
:i 9,9 0 0357
ï "
Sd 9,12 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 9,10 0 0362
ò "
'o 9,10 0 0363
ó "
^o 9,10 0 0364
ô "
~o 9,10 0 0365
õ "
:o 9,9 0 0366
ö "
di 9,8 0 0367
÷ "
/o 9,7 0 0370
ø "
`u 9,10 0 0371
ù "
'u 9,10 0 0372
ú "
^u 9,10 0 0373
û "
:u 9,9 0 0374
ü "
'y 9,10,3 0 0375
ý "
Tp 9,9,3 0 0376
þ "
:y 9,9,3 0 0377
ÿ "

View File

@ -0,0 +1,10 @@
styles R I B BI
fonts 6 0 0 0 0 0 S
sizes 8 10 12 14 18 24 0
res 100
tcommand
html
hor 1
vert 1
unitwidth 10
postpro grohtml

306
contrib/groff/devhtml/HB Normal file
View File

@ -0,0 +1,306 @@
name HB
spacewidth 4
charset
--- 4,1 0 040
! 4,11 0 041
" 7,11 0 042
# 9,10 0 043
sh "
$ 8,12,2 0 044
Do "
% 13,11 0 045
& 11,10 0 046
' 5,11 0 047
( 5,11,3 0 050
) 5,11,3 0 051
* 6,11 0 052
+ 9,8 0 053
, 4,2,1 0 054
\- 9,5 0 055
. 4,2 0 056
/ 4,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 5,8 0 072
; 5,8,1 0 073
< 8,7 0 074
= 9,6 0 075
eq "
> 8,7 0 076
? 9,11 0 077
@ 14,11,1 0 0100
at "
A 10,11 0 0101
B 10,11 0 0102
C 11,11 0 0103
D 11,11 0 0104
E 9,11 0 0105
F 9,11 0 0106
G 11,11 0 0107
H 10,11 0 0110
I 4,11 0 0111
J 8,11 0 0112
K 10,11 0 0113
L 8,11 0 0114
M 13,11 0 0115
N 11,11 0 0116
O 12,11 0 0117
P 10,11 0 0120
Q 12,11 0 0121
R 11,11 0 0122
S 10,11 0 0123
T 8,11 0 0124
U 11,11 0 0125
V 10,11 0 0126
W 14,11 0 0127
X 9,11 0 0130
Y 10,11 0 0131
Z 9,11 0 0132
[ 5,11,3 0 0133
lB "
\ 4,11 0 0134
rs "
] 5,11,3 0 0135
rB "
^ 8,11 0 0136
a^ "
ha "
_ 8,0,3 0 0137
` 5,11 0 0140
oq "
a 8,8 0 0141
b 9,11 0 0142
c 8,8 0 0143
d 9,11 0 0144
e 8,8 0 0145
f 4,11 0 0146
g 9,8,3 0 0147
h 9,11 0 0150
i 4,11 0 0151
j 4,11,3 0 0152
k 8,11 0 0153
l 4,11 0 0154
m 12,8 0 0155
n 9,8 0 0156
o 9,8 0 0157
p 9,8,3 0 0160
q 9,8,3 0 0161
r 6,8 0 0162
s 8,8 0 0163
t 5,10 0 0164
u 9,8 0 0165
v 8,8 0 0166
w 10,8 0 0167
x 7,8 0 0170
y 8,8,3 0 0171
z 6,8 0 0172
{ 6,11,3 0 0173
lC "
| 4,11,3 0 0174
or "
ba "
} 6,11,3 0 0175
rC "
~ 9,6 0 0176
a~ "
ap "
ti "
r! 4,8,3 0 0241
¡ "
ct 8,9,1 0 0242
¢ "
Po 8,11 0 0243
£ "
Cs 8,9 0 0244
¤ "
Ye 9,11 0 0245
¥ "
bb 4,11,3 0 0246
¦ "
sc 8,11,3 0 0247
§ "
ad 5,11 0 0250
¨ "
co 12,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 9,7 0 0253
« "
no 9,6 0 0254
¬ "
- 4,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 5,10 0 0257
¯ "
de 6,11 0 0260
° "
+- 9,9 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 5,11 0 0264
´ "
µ 9,8,3 0 0265
ps 8,11,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 4,11 0 0271
¹ "
Om 6,11 0 0272
º "
Fc 9,7 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 9,8,3 0 0277
¿ "
`A 10,14 0 0300
À "
'A 10,14 0 0301
Á "
^A 10,14 0 0302
 "
~A 10,14 0 0303
à "
:A 10,14 0 0304
Ä "
oA 10,14 0 0305
Å "
AE 15,11 0 0306
Æ "
,C 11,11,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,14 0 0313
Ë "
`I 4,14 0 0314
Ì "
'I 4,14 0 0315
Í "
^I 4,14 0 0316
Î "
:I 4,14 0 0317
Ï "
-D 11,11 0 0320
Ð "
~N 11,14 0 0321
Ñ "
`O 12,14 0 0322
Ò "
'O 12,14 0 0323
Ó "
^O 12,14 0 0324
Ô "
~O 12,14 0 0325
Õ "
:O 12,14 0 0326
Ö "
mu 9,8 0 0327
× "
/O 12,11 0 0330
Ø "
`U 11,14 0 0331
Ù "
'U 11,14 0 0332
Ú "
^U 11,14 0 0333
Û "
:U 11,14 0 0334
Ü "
'Y 10,14 0 0335
Ý "
TP 10,11 0 0336
Þ "
ss 8,11 0 0337
ß "
`a 8,11 0 0340
à "
'a 8,11 0 0341
á "
^a 8,11 0 0342
â "
~a 8,11 0 0343
ã "
:a 8,11 0 0344
ä "
oa 8,11 0 0345
å "
ae 13,8 0 0346
æ "
,c 9,8,3 0 0347
ç "
`e 8,11 0 0350
è "
'e 8,11 0 0351
é "
^e 8,11 0 0352
ê "
:e 8,11 0 0353
ë "
`i 4,11 0 0354
ì "
'i 4,11 0 0355
í "
^i 4,11 0 0356
î "
:i 4,11 0 0357
ï "
Sd 9,11 0 0360
ð "
~n 9,11 0 0361
ñ "
`o 9,11 0 0362
ò "
'o 9,11 0 0363
ó "
^o 9,11 0 0364
ô "
~o 9,11 0 0365
õ "
:o 9,11 0 0366
ö "
di 9,8 0 0367
÷ "
/o 9,8 0 0370
ø "
`u 9,11 0 0371
ù "
'u 9,11 0 0372
ú "
^u 9,11 0 0373
û "
:u 9,11 0 0374
ü "
'y 8,11,3 0 0375
ý "
Tp 9,11,3 0 0376
þ "
:y 8,11,3 0 0377
ÿ "

306
contrib/groff/devhtml/HBI Normal file
View File

@ -0,0 +1,306 @@
name HBI
spacewidth 4
charset
--- 4,1 0 040
! 5,11 0 041
" 7,11 0 042
# 10,10 0 043
sh "
$ 8,12,1 0 044
Do "
% 13,11 0 045
& 11,10 0 046
' 5,11 0 047
( 5,11,3 0 050
) 6,11,3 0 051
* 6,11 0 052
+ 9,8 0 053
, 4,2,2 0 054
\- 9,5 0 055
. 4,2 0 056
/ 4,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 5,8 0 072
; 5,8,2 0 073
< 8,7 0 074
= 9,6 0 075
eq "
> 9,7 0 076
? 9,11 0 077
@ 14,11,2 0 0100
at "
A 9,11 0 0101
B 10,11 0 0102
C 11,11 0 0103
D 11,11 0 0104
E 9,11 0 0105
F 8,11 0 0106
G 11,11 0 0107
H 10,11 0 0110
I 4,11 0 0111
J 8,11 0 0112
K 10,11 0 0113
L 8,11 0 0114
M 13,11 0 0115
N 11,11 0 0116
O 12,11 0 0117
P 10,11 0 0120
Q 12,11 0 0121
R 10,11 0 0122
S 10,11 0 0123
T 8,11 0 0124
U 11,11 0 0125
V 10,11 0 0126
W 14,11 0 0127
X 9,11 0 0130
Y 10,11 0 0131
Z 9,11 0 0132
[ 5,11,3 0 0133
lB "
\ 6,11 0 0134
rs "
] 5,11,3 0 0135
rB "
^ 8,11 0 0136
a^ "
ha "
_ 8,0,3 0 0137
` 5,11 0 0140
oq "
a 8,8 0 0141
b 9,11 0 0142
c 8,8 0 0143
d 9,11 0 0144
e 8,8 0 0145
f 5,11 0 0146
g 9,8,3 0 0147
h 9,11 0 0150
i 4,11 0 0151
j 4,11,3 0 0152
k 8,11 0 0153
l 4,11 0 0154
m 12,8 0 0155
n 9,8 0 0156
o 8,8 0 0157
p 9,8,3 0 0160
q 9,8,3 0 0161
r 6,8 0 0162
s 8,8 0 0163
t 5,10 0 0164
u 9,8 0 0165
v 8,8 0 0166
w 11,8 0 0167
x 7,8 0 0170
y 7,8,3 0 0171
z 6,8 0 0172
{ 6,11,3 0 0173
lC "
| 4,11,3 0 0174
or "
ba "
} 6,11,3 0 0175
rC "
~ 9,6 0 0176
a~ "
ap "
ti "
r! 5,8,3 0 0241
¡ "
ct 8,9,1 0 0242
¢ "
Po 9,11 0 0243
£ "
Cs 9,8 0 0244
¤ "
Ye 9,11 0 0245
¥ "
bb 4,11,3 0 0246
¦ "
sc 9,11,3 0 0247
§ "
ad 5,11 0 0250
¨ "
co 12,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 11,7 0 0253
« "
no 9,6 0 0254
¬ "
- 5,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 5,11 0 0257
¯ "
de 6,11 0 0260
° "
+- 9,9 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 5,11 0 0264
´ "
µ 9,8,3 0 0265
ps 8,11,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,1,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 6,11 0 0272
º "
Fc 11,7 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 13,11 0 0276
¾ "
r? 8,8,3 0 0277
¿ "
`A 9,14 0 0300
À "
'A 9,14 0 0301
Á "
^A 9,14 0 0302
 "
~A 9,14 0 0303
à "
:A 9,14 0 0304
Ä "
oA 9,14 0 0305
Å "
AE 14,11 0 0306
Æ "
,C 11,11,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,14 0 0313
Ë "
`I 4,14 0 0314
Ì "
'I 4,14 0 0315
Í "
^I 4,14 0 0316
Î "
:I 4,14 0 0317
Ï "
-D 11,11 0 0320
Ð "
~N 11,14 0 0321
Ñ "
`O 12,14 0 0322
Ò "
'O 12,14 0 0323
Ó "
^O 12,14 0 0324
Ô "
~O 12,14 0 0325
Õ "
:O 12,14 0 0326
Ö "
mu 9,8 0 0327
× "
/O 12,11 0 0330
Ø "
`U 11,14 0 0331
Ù "
'U 11,14 0 0332
Ú "
^U 11,14 0 0333
Û "
:U 11,14 0 0334
Ü "
'Y 10,14 0 0335
Ý "
TP 10,11 0 0336
Þ "
ss 9,11 0 0337
ß "
`a 8,11 0 0340
à "
'a 8,11 0 0341
á "
^a 8,11 0 0342
â "
~a 8,11 0 0343
ã "
:a 8,11 0 0344
ä "
oa 8,11 0 0345
å "
ae 13,8 0 0346
æ "
,c 8,8,3 0 0347
ç "
`e 8,11 0 0350
è "
'e 8,11 0 0351
é "
^e 8,11 0 0352
ê "
:e 8,11 0 0353
ë "
`i 4,11 0 0354
ì "
'i 4,11 0 0355
í "
^i 4,11 0 0356
î "
:i 4,11 0 0357
ï "
Sd 8,11 0 0360
ð "
~n 9,11 0 0361
ñ "
`o 8,11 0 0362
ò "
'o 8,11 0 0363
ó "
^o 8,11 0 0364
ô "
~o 8,11 0 0365
õ "
:o 8,11 0 0366
ö "
di 9,8 0 0367
÷ "
/o 8,8 0 0370
ø "
`u 9,11 0 0371
ù "
'u 9,11 0 0372
ú "
^u 9,11 0 0373
û "
:u 9,11 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 9,11,3 0 0376
þ "
:y 7,11,3 0 0377
ÿ "

306
contrib/groff/devhtml/HI Normal file
View File

@ -0,0 +1,306 @@
name HI
spacewidth 4
charset
--- 4,1 0 040
! 4,11 0 041
" 5,11 0 042
# 9,10 0 043
sh "
$ 8,12,2 0 044
Do "
% 12,11 0 045
& 10,10 0 046
' 3,11 0 047
( 5,11,3 0 050
) 5,11,3 0 051
* 8,11 0 052
+ 9,8 0 053
, 3,2,2 0 054
\- 9,5 0 055
. 3,2 0 056
/ 4,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 4,8 0 072
; 4,8,2 0 073
< 9,7 0 074
= 9,6 0 075
eq "
> 9,7 0 076
? 8,11 0 077
@ 13,11,1 0 0100
at "
A 11,11 0 0101
B 10,11 0 0102
C 10,11 0 0103
D 10,11 0 0104
E 9,11 0 0105
F 9,11 0 0106
G 11,11 0 0107
H 11,11 0 0110
I 5,11 0 0111
J 9,11 0 0112
K 10,11 0 0113
L 8,11 0 0114
M 14,11 0 0115
N 11,11 0 0116
O 11,11 0 0117
P 9,11 0 0120
Q 11,11 0 0121
R 10,11 0 0122
S 9,11 0 0123
T 8,11 0 0124
U 11,11 0 0125
V 11,11 0 0126
W 14,11 0 0127
X 10,11 0 0130
Y 9,11 0 0131
Z 9,11 0 0132
[ 5,11,3 0 0133
lB "
\ 6,11 0 0134
rs "
] 5,11,3 0 0135
rB "
^ 7,11 0 0136
a^ "
ha "
_ 8,0,3 0 0137
` 3,11 0 0140
oq "
a 8,8 0 0141
b 8,11 0 0142
c 7,8 0 0143
d 8,11 0 0144
e 8,8 0 0145
f 4,11 0 0146
g 8,8,3 0 0147
h 8,11 0 0150
i 4,11 0 0151
j 3,11,3 0 0152
k 7,11 0 0153
l 3,11 0 0154
m 11,8 0 0155
n 8,8 0 0156
o 8,8 0 0157
p 8,8,3 0 0160
q 8,8,3 0 0161
r 5,8 0 0162
s 7,8 0 0163
t 4,10 0 0164
u 8,8 0 0165
v 7,8 0 0166
w 10,8 0 0167
x 7,8 0 0170
y 7,8,3 0 0171
z 7,8 0 0172
{ 5,11,3 0 0173
lC "
| 4,11,3 0 0174
or "
ba "
} 5,11,3 0 0175
rC "
~ 8,6 0 0176
a~ "
ap "
ti "
r! 4,8,3 0 0241
¡ "
ct 8,9,1 0 0242
¢ "
Po 9,11 0 0243
£ "
Cs 8,8 0 0244
¤ "
Ye 9,11 0 0245
¥ "
bb 4,11,3 0 0246
¦ "
sc 8,11,3 0 0247
§ "
ad 5,10 0 0250
¨ "
co 12,11 0 0251
© "
Of 5,11 0 0252
ª "
Fo 8,6 0 0253
« "
no 9,6 0 0254
¬ "
- 5,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 4,10 0 0257
¯ "
de 6,11 0 0260
° "
+- 9,9 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 4,11 0 0264
´ "
µ 8,8,3 0 0265
ps 8,11,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 3,0,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 5,11 0 0272
º "
Fc 8,6 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 8,8,3 0 0277
¿ "
`A 11,14 0 0300
À "
'A 11,14 0 0301
Á "
^A 11,14 0 0302
 "
~A 11,14 0 0303
à "
:A 11,13 0 0304
Ä "
oA 11,14 0 0305
Å "
AE 15,11 0 0306
Æ "
,C 10,11,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,13 0 0313
Ë "
`I 5,14 0 0314
Ì "
'I 5,14 0 0315
Í "
^I 5,14 0 0316
Î "
:I 5,13 0 0317
Ï "
-D 10,11 0 0320
Ð "
~N 11,14 0 0321
Ñ "
`O 11,14 0 0322
Ò "
'O 11,14 0 0323
Ó "
^O 11,14 0 0324
Ô "
~O 11,14 0 0325
Õ "
:O 11,13 0 0326
Ö "
mu 9,8 0 0327
× "
/O 11,11 0 0330
Ø "
`U 11,14 0 0331
Ù "
'U 11,14 0 0332
Ú "
^U 11,14 0 0333
Û "
:U 11,13 0 0334
Ü "
'Y 9,14 0 0335
Ý "
TP 9,11 0 0336
Þ "
ss 8,11 0 0337
ß "
`a 8,11 0 0340
à "
'a 8,11 0 0341
á "
^a 8,11 0 0342
â "
~a 8,11 0 0343
ã "
:a 8,11 0 0344
ä "
oa 8,11 0 0345
å "
ae 12,8 0 0346
æ "
,c 7,8,3 0 0347
ç "
`e 8,11 0 0350
è "
'e 8,11 0 0351
é "
^e 8,11 0 0352
ê "
:e 8,11 0 0353
ë "
`i 3,11 0 0354
ì "
'i 3,11 0 0355
í "
^i 3,11 0 0356
î "
:i 3,11 0 0357
ï "
Sd 8,11 0 0360
ð "
~n 8,11 0 0361
ñ "
`o 8,11 0 0362
ò "
'o 8,11 0 0363
ó "
^o 8,11 0 0364
ô "
~o 8,11 0 0365
õ "
:o 8,11 0 0366
ö "
di 9,8 0 0367
÷ "
/o 8,9,1 0 0370
ø "
`u 8,11 0 0371
ù "
'u 8,11 0 0372
ú "
^u 8,11 0 0373
û "
:u 8,11 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 8,11,3 0 0376
þ "
:y 7,11,3 0 0377
ÿ "

306
contrib/groff/devhtml/HR Normal file
View File

@ -0,0 +1,306 @@
name HR
spacewidth 4
charset
--- 4,1 0 040
! 4,11 0 041
" 5,11 0 042
# 8,10 0 043
sh "
$ 8,12,2 0 044
Do "
% 12,11 0 045
& 10,10 0 046
' 3,11 0 047
( 5,11,3 0 050
) 5,11,3 0 051
* 7,11 0 052
+ 9,8 0 053
, 3,2,2 0 054
\- 9,5 0 055
. 3,2 0 056
/ 4,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 3,8 0 072
; 4,8,2 0 073
< 8,7 0 074
= 9,6 0 075
eq "
> 8,7 0 076
? 8,11 0 077
@ 13,11,1 0 0100
at "
A 9,11 0 0101
B 9,11 0 0102
C 10,11 0 0103
D 10,11 0 0104
E 9,11 0 0105
F 8,11 0 0106
G 11,11 0 0107
H 10,11 0 0110
I 4,11 0 0111
J 7,11 0 0112
K 9,11 0 0113
L 8,11 0 0114
M 12,11 0 0115
N 10,11 0 0116
O 11,11 0 0117
P 9,11 0 0120
Q 11,11 0 0121
R 10,11 0 0122
S 9,11 0 0123
T 9,11 0 0124
U 10,11 0 0125
V 9,11 0 0126
W 13,11 0 0127
X 9,11 0 0130
Y 9,11 0 0131
Z 9,11 0 0132
[ 4,11,3 0 0133
lB "
\ 4,11 0 0134
rs "
] 4,11,3 0 0135
rB "
^ 7,11 0 0136
a^ "
ha "
_ 8,0,3 0 0137
` 3,11 0 0140
oq "
a 8,8 0 0141
b 7,11 0 0142
c 7,8 0 0143
d 8,11 0 0144
e 8,8 0 0145
f 4,11 0 0146
g 8,8,3 0 0147
h 8,11 0 0150
i 3,11 0 0151
j 3,11,3 0 0152
k 7,11 0 0153
l 3,11 0 0154
m 11,8 0 0155
n 8,8 0 0156
o 8,8 0 0157
p 8,8,3 0 0160
q 8,8,3 0 0161
r 5,8 0 0162
s 7,8 0 0163
t 4,10 0 0164
u 7,8 0 0165
v 7,8 0 0166
w 10,8 0 0167
x 7,8 0 0170
y 7,8,3 0 0171
z 7,8 0 0172
{ 5,11,3 0 0173
lC "
| 3,11,3 0 0174
or "
ba "
} 5,11,3 0 0175
rC "
~ 8,6 0 0176
a~ "
ap "
ti "
r! 4,8,3 0 0241
¡ "
ct 8,9,1 0 0242
¢ "
Po 8,11 0 0243
£ "
Cs 8,8 0 0244
¤ "
Ye 7,11 0 0245
¥ "
bb 3,11,3 0 0246
¦ "
sc 8,11,3 0 0247
§ "
ad 5,10 0 0250
¨ "
co 12,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 8,7 0 0253
« "
no 9,6 0 0254
¬ "
- 4,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 4,10 0 0257
¯ "
de 6,11 0 0260
° "
+- 9,9 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 5,11 0 0264
´ "
µ 8,8,3 0 0265
ps 8,11,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 6,11 0 0272
º "
Fc 8,7 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 8,8,3 0 0277
¿ "
`A 9,14 0 0300
À "
'A 9,14 0 0301
Á "
^A 9,14 0 0302
 "
~A 9,13 0 0303
à "
:A 9,14 0 0304
Ä "
oA 9,14 0 0305
Å "
AE 14,11 0 0306
Æ "
,C 10,11,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,13 0 0313
Ë "
`I 4,14 0 0314
Ì "
'I 4,14 0 0315
Í "
^I 4,14 0 0316
Î "
:I 4,13 0 0317
Ï "
-D 10,11 0 0320
Ð "
~N 10,14 0 0321
Ñ "
`O 11,14 0 0322
Ò "
'O 11,14 0 0323
Ó "
^O 11,14 0 0324
Ô "
~O 11,14 0 0325
Õ "
:O 11,13 0 0326
Ö "
mu 9,8 0 0327
× "
/O 11,11 0 0330
Ø "
`U 10,14 0 0331
Ù "
'U 10,14 0 0332
Ú "
^U 10,14 0 0333
Û "
:U 10,13 0 0334
Ü "
'Y 9,14 0 0335
Ý "
TP 9,11 0 0336
Þ "
ss 7,11 0 0337
ß "
`a 8,11 0 0340
à "
'a 8,11 0 0341
á "
^a 8,11 0 0342
â "
~a 8,11 0 0343
ã "
:a 8,11 0 0344
ä "
oa 8,12 0 0345
å "
ae 13,8 0 0346
æ "
,c 8,8,3 0 0347
ç "
`e 8,11 0 0350
è "
'e 8,11 0 0351
é "
^e 8,11 0 0352
ê "
:e 8,11 0 0353
ë "
`i 3,11 0 0354
ì "
'i 3,11 0 0355
í "
^i 3,11 0 0356
î "
:i 3,11 0 0357
ï "
Sd 8,11 0 0360
ð "
~n 8,11 0 0361
ñ "
`o 8,11 0 0362
ò "
'o 8,11 0 0363
ó "
^o 8,11 0 0364
ô "
~o 8,11 0 0365
õ "
:o 8,11 0 0366
ö "
di 9,8 0 0367
÷ "
/o 8,8 0 0370
ø "
`u 8,11 0 0371
ù "
'u 8,11 0 0372
ú "
^u 8,11 0 0373
û "
:u 8,11 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 8,11,3 0 0376
þ "
:y 7,10,3 0 0377
ÿ "

View File

@ -0,0 +1,2 @@
DEV=html
DEVFILES=DESC TR TI TB TBI CR CI CB CBI HR HI HB HBI NR NI NB NBI S

306
contrib/groff/devhtml/NB Normal file
View File

@ -0,0 +1,306 @@
name NB
spacewidth 11
charset
--- 11,1 0 040
! 4,11 0 041
" 5,11 0 042
# 8,10 0 043
sh "
$ 8,12,1 0 044
Do "
% 13,11 0 045
& 13,11 0 046
' 4,11 0 047
( 5,11,2 0 050
) 5,11,2 0 051
* 6,11 0 052
+ 8,8 0 053
, 4,3,2 0 054
\- 8,5 0 055
. 4,3 0 056
/ 5,11 0 057
sl "
0 8,11 0 060
1 6,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 4,7 0 072
; 4,7,2 0 073
< 8,8 0 074
= 8,6 0 075
eq "
> 8,8 0 076
? 7,11 0 077
@ 14,11 0 0100
at "
A 11,11 0 0101
B 10,11 0 0102
C 11,11 0 0103
D 12,11 0 0104
E 10,11 0 0105
F 10,11 0 0106
G 12,11 0 0107
H 12,11 0 0110
I 7,11 0 0111
J 9,11 0 0112
K 12,11 0 0113
L 10,11 0 0114
M 14,11 0 0115
N 12,11 0 0116
O 12,11 0 0117
P 10,11 0 0120
Q 12,11,3 0 0121
R 12,11 0 0122
S 10,11 0 0123
T 11,11 0 0124
U 12,11 0 0125
V 11,11 0 0126
W 14,11 0 0127
X 12,11 0 0130
Y 11,11 0 0131
Z 9,11 0 0132
[ 5,11,2 0 0133
lB "
\ 7,11 0 0134
rs "
] 5,11,2 0 0135
rB "
^ 8,11 0 0136
a^ "
ha "
_ 7,0,2 0 0137
` 4,11 0 0140
oq "
a 9,7 0 0141
b 10,11 0 0142
c 8,7 0 0143
d 10,11 0 0144
e 9,7 0 0145
f 6,11 0 0146
g 8,8,3 0 0147
h 10,11 0 0150
i 5,10 0 0151
j 5,10,3 0 0152
k 9,11 0 0153
l 5,11 0 0154
m 15,7 0 0155
n 10,7 0 0156
o 9,7 0 0157
p 10,7,3 0 0160
q 9,7,3 0 0161
r 7,7 0 0162
s 7,7 0 0163
t 6,10 0 0164
u 10,7 0 0165
v 7,7 0 0166
w 12,7 0 0167
x 9,7 0 0170
y 7,7,3 0 0171
z 7,7 0 0172
{ 6,11,2 0 0173
lC "
| 8,11 0 0174
or "
ba "
} 6,11,2 0 0175
rC "
~ 8,6 0 0176
a~ "
ap "
ti "
r! 5,8,3 0 0241
¡ "
ct 8,8,1 0 0242
¢ "
Po 9,11 0 0243
£ "
Cs 9,10 0 0244
¤ "
Ye 11,11 0 0245
¥ "
bb 8,11 0 0246
¦ "
sc 7,11,2 0 0247
§ "
ad 7,10 0 0250
¨ "
co 12,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 8,6 0 0253
« "
no 8,6 0 0254
¬ "
- 5,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 7,9 0 0257
¯ "
de 6,11 0 0260
° "
+- 8,8 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 6,11 0 0264
´ "
µ 10,7,3 0 0265
ps 10,11 0 0266
¶ "
md 5,6 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 6,11 0 0272
º "
Fc 8,6 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 7,8,3 0 0277
¿ "
`A 11,15 0 0300
À "
'A 11,15 0 0301
Á "
^A 11,15 0 0302
 "
~A 11,14 0 0303
à "
:A 11,14 0 0304
Ä "
oA 11,15 0 0305
Å "
AE 15,11 0 0306
Æ "
,C 11,11,3 0 0307
Ç "
`E 10,15 0 0310
È "
'E 10,15 0 0311
É "
^E 10,15 0 0312
Ê "
:E 10,14 0 0313
Ë "
`I 7,15 0 0314
Ì "
'I 7,15 0 0315
Í "
^I 7,15 0 0316
Î "
:I 7,14 0 0317
Ï "
-D 12,11 0 0320
Ð "
~N 12,14 0 0321
Ñ "
`O 12,15 0 0322
Ò "
'O 12,15 0 0323
Ó "
^O 12,15 0 0324
Ô "
~O 12,14 0 0325
Õ "
:O 12,14 0 0326
Ö "
mu 8,8 0 0327
× "
/O 12,11 0 0330
Ø "
`U 12,15 0 0331
Ù "
'U 12,15 0 0332
Ú "
^U 12,15 0 0333
Û "
:U 12,14 0 0334
Ü "
'Y 11,14 0 0335
Ý "
TP 10,11 0 0336
Þ "
ss 9,11 0 0337
ß "
`a 9,11 0 0340
à "
'a 9,11 0 0341
á "
^a 9,11 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,10 0 0344
ä "
oa 9,11 0 0345
å "
ae 14,7 0 0346
æ "
,c 8,7,3 0 0347
ç "
`e 9,11 0 0350
è "
'e 9,11 0 0351
é "
^e 9,11 0 0352
ê "
:e 9,10 0 0353
ë "
`i 5,11 0 0354
ì "
'i 5,11 0 0355
í "
^i 5,11 0 0356
î "
:i 5,10 0 0357
ï "
Sd 9,11 0 0360
ð "
~n 10,10 0 0361
ñ "
`o 9,11 0 0362
ò "
'o 9,11 0 0363
ó "
^o 9,11 0 0364
ô "
~o 9,10 0 0365
õ "
:o 9,10 0 0366
ö "
di 8,8 0 0367
÷ "
/o 9,8,1 0 0370
ø "
`u 10,11 0 0371
ù "
'u 10,11 0 0372
ú "
^u 10,11 0 0373
û "
:u 10,10 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 10,11,3 0 0376
þ "
:y 7,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/NBI Normal file
View File

@ -0,0 +1,306 @@
name NBI
spacewidth 4
charset
--- 4,1 0 040
! 5,11 0 041
" 6,11 0 042
# 8,10 0 043
sh "
$ 8,12,1 0 044
Do "
% 13,11,1 0 045
& 13,11 0 046
' 4,11 0 047
( 5,11,2 0 050
) 6,11,2 0 051
* 7,11 0 052
+ 8,8 0 053
, 4,2,3 0 054
\- 8,5 0 055
. 4,2 0 056
/ 5,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 4,7 0 072
; 5,7,3 0 073
< 9,9 0 074
= 9,7 0 075
eq "
> 9,9 0 076
? 7,11 0 077
@ 13,11 0 0100
at "
A 11,11 0 0101
B 10,11 0 0102
C 11,11 0 0103
D 12,11 0 0104
E 10,11 0 0105
F 10,11 0 0106
G 11,11 0 0107
H 12,11 0 0110
I 6,11 0 0111
J 8,11 0 0112
K 12,11 0 0113
L 10,11 0 0114
M 15,11 0 0115
N 13,11 0 0116
O 12,11 0 0117
P 11,11 0 0120
Q 12,11,2 0 0121
R 12,11 0 0122
S 10,11 0 0123
T 11,11 0 0124
U 12,11 0 0125
V 11,11 0 0126
W 15,11 0 0127
X 11,11 0 0130
Y 9,11 0 0131
Z 10,11 0 0132
[ 7,11,2 0 0133
lB "
\ 9,11 0 0134
rs "
] 7,11,2 0 0135
rB "
^ 8,11 0 0136
a^ "
ha "
_ 9,0,2 0 0137
` 4,11 0 0140
oq "
a 10,7 0 0141
b 8,11 0 0142
c 8,7 0 0143
d 10,11 0 0144
e 8,7 0 0145
f 5,11,3 0 0146
g 8,9,3 0 0147
h 10,11 0 0150
i 5,10 0 0151
j 4,10,3 0 0152
k 9,11 0 0153
l 5,11 0 0154
m 15,7 0 0155
n 10,7 0 0156
o 8,7 0 0157
p 8,7,3 0 0160
q 9,7,3 0 0161
r 7,7 0 0162
s 8,7 0 0163
t 5,9 0 0164
u 10,7 0 0165
v 8,7 0 0166
w 13,7 0 0167
x 9,7 0 0170
y 9,7,3 0 0171
z 9,7 0 0172
{ 6,11,2 0 0173
lC "
| 9,11 0 0174
or "
ba "
} 6,11,2 0 0175
rC "
~ 11,6 0 0176
a~ "
ap "
ti "
r! 5,8,3 0 0241
¡ "
ct 8,8,1 0 0242
¢ "
Po 10,11 0 0243
£ "
Cs 8,9 0 0244
¤ "
Ye 10,11 0 0245
¥ "
bb 8,11 0 0246
¦ "
sc 9,11,2 0 0247
§ "
ad 6,10 0 0250
¨ "
co 12,11 0 0251
© "
Of 8,11 0 0252
ª "
Fo 10,7 0 0253
« "
no 9,7 0 0254
¬ "
- 5,5 0 055
hy "
­ "
rg 12,11 0 0256
® "
a- 6,9 0 0257
¯ "
de 6,11 0 0260
° "
+- 8,8 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 5,11 0 0264
´ "
µ 10,7,3 0 0265
ps 9,11 0 0266
¶ "
md 5,6 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 8,11 0 0272
º "
Fc 10,7 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 7,8,3 0 0277
¿ "
`A 11,15 0 0300
À "
'A 11,15 0 0301
Á "
^A 11,15 0 0302
 "
~A 11,14 0 0303
à "
:A 11,14 0 0304
Ä "
oA 11,15 0 0305
Å "
AE 14,11 0 0306
Æ "
,C 11,11,3 0 0307
Ç "
`E 10,15 0 0310
È "
'E 10,15 0 0311
É "
^E 10,15 0 0312
Ê "
:E 10,14 0 0313
Ë "
`I 6,15 0 0314
Ì "
'I 6,15 0 0315
Í "
^I 6,15 0 0316
Î "
:I 6,14 0 0317
Ï "
-D 12,11 0 0320
Ð "
~N 13,14 0 0321
Ñ "
`O 12,15 0 0322
Ò "
'O 12,15 0 0323
Ó "
^O 12,15 0 0324
Ô "
~O 12,14 0 0325
Õ "
:O 12,14 0 0326
Ö "
mu 8,8 0 0327
× "
/O 12,11 0 0330
Ø "
`U 12,15 0 0331
Ù "
'U 12,15 0 0332
Ú "
^U 12,15 0 0333
Û "
:U 12,14 0 0334
Ü "
'Y 9,15 0 0335
Ý "
TP 11,11 0 0336
Þ "
ss 10,11,3 0 0337
ß "
`a 10,11 0 0340
à "
'a 10,11 0 0341
á "
^a 10,11 0 0342
â "
~a 10,10 0 0343
ã "
:a 10,10 0 0344
ä "
oa 10,11 0 0345
å "
ae 13,7 0 0346
æ "
,c 8,7,3 0 0347
ç "
`e 8,11 0 0350
è "
'e 8,11 0 0351
é "
^e 8,11 0 0352
ê "
:e 8,10 0 0353
ë "
`i 5,11 0 0354
ì "
'i 5,11 0 0355
í "
^i 5,11 0 0356
î "
:i 5,10 0 0357
ï "
Sd 8,11 0 0360
ð "
~n 10,10 0 0361
ñ "
`o 8,11 0 0362
ò "
'o 8,11 0 0363
ó "
^o 8,11 0 0364
ô "
~o 8,10 0 0365
õ "
:o 8,10 0 0366
ö "
di 8,8 0 0367
÷ "
/o 8,7 0 0370
ø "
`u 10,11 0 0371
ù "
'u 10,11 0 0372
ú "
^u 10,11 0 0373
û "
:u 10,10 0 0374
ü "
'y 9,11,3 0 0375
ý "
Tp 8,11,3 0 0376
þ "
:y 9,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/NI Normal file
View File

@ -0,0 +1,306 @@
name NI
spacewidth 4
charset
--- 4,1 0 040
! 5,11 0 041
" 6,11 0 042
# 11,10 0 043
sh "
$ 8,12,1 0 044
Do "
% 12,11,1 0 045
& 11,11 0 046
' 4,11 0 047
( 5,11,2 0 050
) 5,11,2 0 051
* 6,11 0 052
+ 8,8 0 053
, 4,2,2 0 054
\- 9,5 0 055
. 4,2 0 056
/ 9,11,3 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 4,7 0 072
; 4,7,2 0 073
< 9,8 0 074
= 8,6 0 075
eq "
> 9,8 0 076
? 6,11 0 077
@ 12,11 0 0100
at "
A 11,11 0 0101
B 9,11 0 0102
C 10,11 0 0103
D 11,11 0 0104
E 9,11 0 0105
F 8,11 0 0106
G 10,11 0 0107
H 11,11 0 0110
I 7,11 0 0111
J 8,11 0 0112
K 10,11 0 0113
L 9,11 0 0114
M 14,11 0 0115
N 12,11 0 0116
O 10,11 0 0117
P 10,11 0 0120
Q 10,11,2 0 0121
R 11,11 0 0122
S 10,11 0 0123
T 10,11 0 0124
U 12,11 0 0125
V 10,11 0 0126
W 13,11 0 0127
X 10,11 0 0130
Y 9,11 0 0131
Z 10,11 0 0132
[ 6,11,2 0 0133
lB "
\ 8,11 0 0134
rs "
] 6,11,2 0 0135
rB "
^ 6,11 0 0136
a^ "
ha "
_ 7,0,2 0 0137
` 4,11 0 0140
oq "
a 9,7 0 0141
b 7,11 0 0142
c 6,7 0 0143
d 9,11 0 0144
e 6,7 0 0145
f 5,11,3 0 0146
g 7,8,3 0 0147
h 9,11 0 0150
i 4,11 0 0151
j 4,11,3 0 0152
k 8,11 0 0153
l 4,11 0 0154
m 14,7 0 0155
n 9,7 0 0156
o 7,7 0 0157
p 7,7,3 0 0160
q 8,7,3 0 0161
r 7,7 0 0162
s 7,7 0 0163
t 5,9 0 0164
u 9,7 0 0165
v 7,7 0 0166
w 11,7 0 0167
x 8,7 0 0170
y 7,7,3 0 0171
z 8,7 0 0172
{ 6,11,2 0 0173
lC "
| 9,11 0 0174
or "
ba "
} 6,11,2 0 0175
rC "
~ 9,6 0 0176
a~ "
ap "
ti "
r! 4,8,3 0 0241
¡ "
ct 8,9,2 0 0242
¢ "
Po 9,11 0 0243
£ "
Cs 8,9 0 0244
¤ "
Ye 9,11 0 0245
¥ "
bb 8,11 0 0246
¦ "
sc 7,11,2 0 0247
§ "
ad 7,10 0 0250
¨ "
co 13,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 8,7 0 0253
« "
no 8,6 0 0254
¬ "
- 5,5 0 055
hy "
­ "
rg 13,11 0 0256
® "
a- 6,9 0 0257
¯ "
de 6,11 0 0260
° "
+- 8,8 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 4,11 0 0264
´ "
µ 9,7,3 0 0265
ps 9,11 0 0266
¶ "
md 5,6 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 6,11 0 0272
º "
Fc 8,7 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 6,8,3 0 0277
¿ "
`A 11,14 0 0300
À "
'A 11,14 0 0301
Á "
^A 11,14 0 0302
 "
~A 11,14 0 0303
à "
:A 11,14 0 0304
Ä "
oA 11,14 0 0305
Å "
AE 14,11 0 0306
Æ "
,C 10,11,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,14 0 0313
Ë "
`I 7,14 0 0314
Ì "
'I 7,14 0 0315
Í "
^I 7,14 0 0316
Î "
:I 7,14 0 0317
Ï "
-D 11,11 0 0320
Ð "
~N 12,14 0 0321
Ñ "
`O 10,14 0 0322
Ò "
'O 10,14 0 0323
Ó "
^O 10,14 0 0324
Ô "
~O 10,14 0 0325
Õ "
:O 10,14 0 0326
Ö "
mu 8,8 0 0327
× "
/O 10,11 0 0330
Ø "
`U 12,14 0 0331
Ù "
'U 12,14 0 0332
Ú "
^U 12,14 0 0333
Û "
:U 12,14 0 0334
Ü "
'Y 9,14 0 0335
Ý "
TP 10,11 0 0336
Þ "
ss 8,11,3 0 0337
ß "
`a 9,11 0 0340
à "
'a 9,11 0 0341
á "
^a 9,11 0 0342
â "
~a 9,10 0 0343
ã "
:a 9,10 0 0344
ä "
oa 9,11 0 0345
å "
ae 10,7 0 0346
æ "
,c 6,7,3 0 0347
ç "
`e 6,11 0 0350
è "
'e 6,11 0 0351
é "
^e 6,11 0 0352
ê "
:e 6,10 0 0353
ë "
`i 4,11 0 0354
ì "
'i 4,11 0 0355
í "
^i 4,11 0 0356
î "
:i 4,10 0 0357
ï "
Sd 7,11 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 7,11 0 0362
ò "
'o 7,11 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,10 0 0365
õ "
:o 7,10 0 0366
ö "
di 8,8 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 9,11 0 0371
ù "
'u 9,11 0 0372
ú "
^u 9,11 0 0373
û "
:u 9,10 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 7,11,3 0 0376
þ "
:y 7,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/NR Normal file
View File

@ -0,0 +1,306 @@
name NR
spacewidth 4
charset
--- 4,1 0 040
! 3,11 0 041
" 5,11 0 042
# 8,11 0 043
sh "
$ 8,12,2 0 044
Do "
% 12,11 0 045
& 13,11 0 046
' 4,11 0 047
( 5,11,2 0 050
) 6,11,2 0 051
* 7,11 0 052
+ 9,7 0 053
, 4,2,2 0 054
\- 9,4 0 055
. 4,2 0 056
/ 4,11 0 057
sl "
0 8,11 0 060
1 8,11 0 061
2 8,11 0 062
3 8,11 0 063
4 8,11 0 064
5 8,11 0 065
6 8,11 0 066
7 8,11 0 067
8 8,11 0 070
9 8,11 0 071
: 4,7 0 072
; 4,7,2 0 073
< 10,7 0 074
= 9,6 0 075
eq "
> 10,7 0 076
? 6,11 0 077
@ 13,11 0 0100
at "
A 10,11 0 0101
B 10,11 0 0102
C 11,11 0 0103
D 11,11 0 0104
E 10,11 0 0105
F 10,11 0 0106
G 11,11 0 0107
H 12,11 0 0110
I 6,11 0 0111
J 7,11 0 0112
K 11,11 0 0113
L 10,11 0 0114
M 16,11 0 0115
N 13,11 0 0116
O 11,11 0 0117
P 10,11 0 0120
Q 11,11,2 0 0121
R 11,11 0 0122
S 8,11 0 0123
T 10,11 0 0124
U 13,11 0 0125
V 10,11 0 0126
W 16,11 0 0127
X 13,11 0 0130
Y 10,11 0 0131
Z 9,11 0 0132
[ 4,11,2 0 0133
lB "
\ 8,11 0 0134
rs "
] 4,11,2 0 0135
rB "
^ 7,11 0 0136
a^ "
ha "
_ 7,0,2 0 0137
` 4,11 0 0140
oq "
a 8,7 0 0141
b 7,11 0 0142
c 7,7 0 0143
d 8,11 0 0144
e 7,7 0 0145
f 5,11 0 0146
g 8,7,3 0 0147
h 9,11 0 0150
i 4,10 0 0151
j 4,10,3 0 0152
k 9,11 0 0153
l 4,11 0 0154
m 14,7 0 0155
n 9,7 0 0156
o 7,7 0 0157
p 8,7,3 0 0160
q 7,7,3 0 0161
r 7,7 0 0162
s 6,7 0 0163
t 5,9 0 0164
u 9,7 0 0165
v 8,7 0 0166
w 12,7 0 0167
x 8,7 0 0170
y 8,7,3 0 0171
z 7,7 0 0172
{ 4,11,2 0 0173
lC "
| 9,11 0 0174
or "
ba "
} 5,11,2 0 0175
rC "
~ 9,5 0 0176
a~ "
ap "
ti "
r! 4,8,3 0 0241
¡ "
ct 8,9,2 0 0242
¢ "
Po 8,11 0 0243
£ "
Cs 8,9 0 0244
¤ "
Ye 8,11 0 0245
¥ "
bb 9,11 0 0246
¦ "
sc 7,11,2 0 0247
§ "
ad 6,10 0 0250
¨ "
co 14,11 0 0251
© "
Of 6,11 0 0252
ª "
Fo 7,6 0 0253
« "
no 9,5 0 0254
¬ "
- 5,4 0 055
hy "
­ "
rg 14,11 0 0256
® "
a- 5,9 0 0257
¯ "
de 6,11 0 0260
° "
+- 9,7 0 0261
± "
S2 5,11 0 0262
² "
S3 5,11 0 0263
³ "
aa 5,11 0 0264
´ "
µ 9,7,3 0 0265
ps 9,11,2 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,1,3 0 0270
¸ "
S1 5,11 0 0271
¹ "
Om 5,11 0 0272
º "
Fc 7,6 0 0273
» "
14 12,11 0 0274
¼ "
12 12,11 0 0275
½ "
34 12,11 0 0276
¾ "
r? 6,8,3 0 0277
¿ "
`A 10,14 0 0300
À "
'A 10,14 0 0301
Á "
^A 10,14 0 0302
 "
~A 10,14 0 0303
à "
:A 10,13 0 0304
Ä "
oA 10,14 0 0305
Å "
AE 15,11 0 0306
Æ "
,C 11,11,3 0 0307
Ç "
`E 10,14 0 0310
È "
'E 10,14 0 0311
É "
^E 10,14 0 0312
Ê "
:E 10,14 0 0313
Ë "
`I 6,14 0 0314
Ì "
'I 6,14 0 0315
Í "
^I 6,14 0 0316
Î "
:I 6,14 0 0317
Ï "
-D 11,11 0 0320
Ð "
~N 13,14 0 0321
Ñ "
`O 11,14 0 0322
Ò "
'O 11,14 0 0323
Ó "
^O 11,14 0 0324
Ô "
~O 11,14 0 0325
Õ "
:O 11,14 0 0326
Ö "
mu 9,7 0 0327
× "
/O 11,11 0 0330
Ø "
`U 13,14 0 0331
Ù "
'U 13,14 0 0332
Ú "
^U 13,14 0 0333
Û "
:U 13,14 0 0334
Ü "
'Y 10,14 0 0335
Ý "
TP 10,11 0 0336
Þ "
ss 8,11 0 0337
ß "
`a 8,11 0 0340
à "
'a 8,11 0 0341
á "
^a 8,11 0 0342
â "
~a 8,10 0 0343
ã "
:a 8,10 0 0344
ä "
oa 8,11 0 0345
å "
ae 12,7 0 0346
æ "
,c 7,7,3 0 0347
ç "
`e 7,11 0 0350
è "
'e 7,11 0 0351
é "
^e 7,11 0 0352
ê "
:e 7,10 0 0353
ë "
`i 4,11 0 0354
ì "
'i 4,11 0 0355
í "
^i 4,11 0 0356
î "
:i 4,10 0 0357
ï "
Sd 7,11 0 0360
ð "
~n 9,10 0 0361
ñ "
`o 7,11 0 0362
ò "
'o 7,11 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,10 0 0365
õ "
:o 7,10 0 0366
ö "
di 9,7 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 9,11 0 0371
ù "
'u 9,11 0 0372
ú "
^u 9,11 0 0373
û "
:u 9,10 0 0374
ü "
'y 8,11,3 0 0375
ý "
Tp 8,11,3 0 0376
þ "
:y 8,10,3 0 0377
ÿ "

226
contrib/groff/devhtml/S Normal file
View File

@ -0,0 +1,226 @@
name S
special
spacewidth 4
charset
--- 4,1 0 040
! 5,10 0 041
fa 9,10 0 042
# 7,10 0 043
sh "
te 8,10 0 044
% 12,10 0 045
& 11,10 0 046
st 6,7 0 047
( 5,10,3 0 050
) 5,10,3 0 051
** 7,8 0 052
+ 8,7 0 053
pl "
, 3,2,2 0 054
\- 8,4 0 055
mi "
. 3,2 0 056
/ 4,10 0 057
sl "
0 7,10 0 060
1 7,10 0 061
2 7,10 0 062
3 7,10 0 063
4 7,10 0 064
5 7,10 0 065
6 7,10 0 066
7 7,10 0 067
8 7,10 0 070
9 7,10 0 071
: 4,7 0 072
; 4,7,2 0 073
< 8,7 0 074
= 8,5 0 075
eq "
> 8,7 0 076
? 6,10 0 077
=~ 8,7 0 0100
*A 11,10 0 0101
*B 9,10 0 0102
*X 11,10 0 0103
*D 9,10 0 0104
*E 9,10 0 0105
*F 11,10 0 0106
*G 9,10 0 0107
*Y 11,10 0 0110
*I 5,10 0 0111
+h 9,10 0 0112
*K 10,10 0 0113
*L 10,10 0 0114
*M 13,10 0 0115
*N 11,10 0 0116
*O 10,10 0 0117
*P 11,10 0 0120
*H 10,10 0 0121
*R 8,10 0 0122
*S 9,10 0 0123
*T 9,10 0 0124
--- 9,10 0 0125
ts 7,7,3 0 0126
*W 11,10 0 0127
*C 9,10 0 0130
*Q 11,10 0 0131
*Z 9,10 0 0132
[ 5,10,3 0 0133
lB "
tf 10,7 0 0134
3d "
] 5,10,3 0 0135
rB "
pp 10,10 0 0136
_ 7,0,3 0 0137
radicalex 7,12 0 0140
*a 9,7 0 0141
*b 8,11,3 0 0142
*x 8,7,3 0 0143
*d 7,11 0 0144
*e 6,7 0 0145
*f 9,10,3 0 0146
*g 6,7,3 0 0147
*y 8,7,3 0 0150
*i 5,7 0 0151
+f 9,7,3 0 0152
*k 8,7 0 0153
*l 8,10 0 0154
*m 8,7,2 0 0155
µ "
*n 8,7 0 0156
*o 8,7 0 0157
*p 8,7 0 0160
*h 7,10 0 0161
*r 8,7,3 0 0162
*s 8,7 0 0163
*t 6,7 0 0164
*u 8,7 0 0165
+p 11,8 0 0166
*w 11,7 0 0167
*c 7,12,3 0 0170
*q 9,7,3 0 0171
*z 7,11,3 0 0172
lC 7,10,3 0 0173
{ "
ba 3,10,3 0 0174
or "
| "
rC 7,10,3 0 0175
} "
ap 8,5 0 0176
*U 9,10 0 0241
fm 4,10 0 0242
<= 8,9 0 0243
f/ 4,10 0 0244
if 10,6 0 0245
Fn 7,10,3 0 0246
CL 11,7 0 0247
DI 11,7 0 0250
HE 11,7 0 0251
SP 11,7 0 0252
<> 15,7 0 0253
<- 14,7 0 0254
ua 9,12,3 0 0255
arrowverttp "
-> 14,7 0 0256
da 9,12,3 0 0257
arrowvertbt "
de 6,10 0 0260
° "
+- 8,9 0 0261
± "
sd 6,10 0 0262
>= 8,9 0 0263
mu 8,7 0 0264
× "
pt 10,6 0 0265
pd 7,11 0 0266
bu 7,6 0 0267
di 8,7 0 0270
÷ "
!= 8,7 0 0271
== 8,6 0 0272
~= 8,7 0 0273
~~ "
--- 15,2 0 0274
arrowvertex 9,12,3 0 0275
an 15,4 0 0276
CR 10,9 0 0277
Ah 12,10 0 0300
Im 10,11,1 0 0301
Re 12,11 0 0302
wp 12,9,3 0 0303
c* 11,9 0 0304
c+ 11,9 0 0305
es 12,11 0 0306
ca 10,7 0 0307
cu 10,7 0 0310
sp 10,7 0 0311
ip 10,7,2 0 0312
--- 10,8,1 0 0313
sb 10,7 0 0314
ib 10,7,2 0 0315
mo 10,7 0 0316
nm 10,8,1 0 0317
/_ 11,10 0 0320
gr 10,11 0 0321
rg 12,10 0 0322
co 12,10 0 0323
tm 11,10 0 0324
--- 12,11,1 0 0325
sr 8,12 0 0326
md 4,5 0 0327
no 10,5 0 0330
¬ "
AN 9,7 0 0331
OR 9,7 0 0332
hA 15,7 0 0333
lA 14,7 0 0334
uA 9,12 0 0335
rA 14,7 0 0336
dA 9,12 0 0337
lz 7,11 0 0340
la 5,12,3 0 0341
--- 12,10 0 0342
--- 12,10 0 0343
--- 11,10 0 0344
--- 10,11,1 0 0345
parenlefttp 6,12,3 0 0346
parenleftex 6,12,3 0 0347
parenleftbt 6,12,3 0 0350
bracketlefttp 6,12,3 0 0351
lc "
bracketleftex 6,12,3 0 0352
bracketleftbt 6,12,3 0 0353
lf "
bracelefttp 7,12,3 0 0354
lt "
braceleftmid 7,12,3 0 0355
lk "
braceleftbt 7,12,3 0 0356
lb "
bracerightex 7,12,3 0 0357
braceleftex "
bv "
--- 12,12 0 0360
ra 5,12,3 0 0361
is 4,12,1 0 0362
--- 10,12,3 0 0363
--- 10,12,3 0 0364
--- 10,12,3 0 0365
parenrighttp 6,12,3 0 0366
parenrightex 6,12,3 0 0367
parenrightbt 6,12,3 0 0370
bracketrighttp 6,12,3 0 0371
rc "
bracketrightex 6,12,3 0 0372
bracketrightbt 6,12,3 0 0373
rf "
bracerighttp 7,12,3 0 0374
rt "
bracerightmid 7,12,3 0 0375
rk "
bracerightbt 7,12,3 0 0376
rb "

306
contrib/groff/devhtml/TB Normal file
View File

@ -0,0 +1,306 @@
name TB
spacewidth 3
charset
--- 3,1 0 040
! 4,10 0 041
" 7,10 0 042
# 7,10 0 043
sh "
$ 7,11,1 0 044
Do "
% 14,10 0 045
& 12,10 0 046
' 4,10 0 047
( 5,10,3 0 050
) 5,10,3 0 051
* 7,10 0 052
+ 8,7 0 053
, 3,2,2 0 054
\- 9,4 0 055
. 3,2 0 056
/ 4,10 0 057
sl "
0 7,10 0 060
1 7,10 0 061
2 7,10 0 062
3 7,10 0 063
4 7,10 0 064
5 7,10 0 065
6 7,10 0 066
7 7,10 0 067
8 7,10 0 070
9 7,10 0 071
: 4,7 0 072
; 4,7,2 0 073
< 8,7 0 074
= 8,5 0 075
eq "
> 8,7 0 076
? 7,10 0 077
@ 14,10,2 0 0100
at "
A 10,10 0 0101
B 9,10 0 0102
C 10,10 0 0103
D 10,10 0 0104
E 9,10 0 0105
F 8,10 0 0106
G 11,10 0 0107
H 11,10 0 0110
I 5,10 0 0111
J 7,10,1 0 0112
K 11,10 0 0113
L 9,10 0 0114
M 13,10 0 0115
N 10,10 0 0116
O 11,10 0 0117
P 9,10 0 0120
Q 11,10,3 0 0121
R 10,10 0 0122
S 8,10 0 0123
T 9,10 0 0124
U 10,10 0 0125
V 10,10 0 0126
W 14,10 0 0127
X 10,10 0 0130
Y 10,10 0 0131
Z 9,10 0 0132
[ 5,10,3 0 0133
lB "
\ 4,10 0 0134
rs "
] 5,10,3 0 0135
rB "
^ 8,10 0 0136
a^ "
ha "
_ 7,0,3 0 0137
` 4,10 0 0140
oq "
a 7,7 0 0141
b 8,10 0 0142
c 6,7 0 0143
d 7,10 0 0144
e 6,7 0 0145
f 5,10 0 0146
g 7,7,3 0 0147
h 8,10 0 0150
i 4,10 0 0151
j 4,10,3 0 0152
k 8,10 0 0153
l 4,10 0 0154
m 12,7 0 0155
n 8,7 0 0156
o 7,7 0 0157
p 8,7,3 0 0160
q 7,7,3 0 0161
r 6,7 0 0162
s 6,7 0 0163
t 5,9 0 0164
u 7,7 0 0165
v 7,7 0 0166
w 10,7 0 0167
x 7,7 0 0170
y 7,7,3 0 0171
z 6,7 0 0172
{ 7,10,3 0 0173
lC "
| 3,10,2 0 0174
or "
ba "
} 7,10,3 0 0175
rC "
~ 8,7 0 0176
a~ "
ap "
ti "
r! 4,7,3 0 0241
¡ "
ct 7,9,2 0 0242
¢ "
Po 8,10 0 0243
£ "
Cs 8,8 0 0244
¤ "
Ye 8,10 0 0245
¥ "
bb 3,10,2 0 0246
¦ "
sc 7,10,2 0 0247
§ "
ad 5,10 0 0250
¨ "
co 12,10 0 0251
© "
Of 5,10 0 0252
ª "
Fo 9,6 0 0253
« "
no 9,5 0 0254
¬ "
- 4,4 0 055
hy "
­ "
rg 12,10 0 0256
® "
a- 5,9 0 0257
¯ "
de 6,10 0 0260
° "
+- 8,9 0 0261
± "
S2 4,10 0 0262
² "
S3 4,10 0 0263
³ "
aa 5,11 0 0264
´ "
µ 7,7,3 0 0265
ps 8,10,3 0 0266
¶ "
md 4,6 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 4,10 0 0271
¹ "
Om 5,10 0 0272
º "
Fc 9,6 0 0273
» "
14 10,10 0 0274
¼ "
12 10,10 0 0275
½ "
34 10,10 0 0276
¾ "
r? 7,7,3 0 0277
¿ "
`A 10,14 0 0300
À "
'A 10,14 0 0301
Á "
^A 10,14 0 0302
 "
~A 10,13 0 0303
à "
:A 10,13 0 0304
Ä "
oA 10,14 0 0305
Å "
AE 14,10 0 0306
Æ "
,C 10,10,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,13 0 0313
Ë "
`I 5,14 0 0314
Ì "
'I 5,14 0 0315
Í "
^I 5,14 0 0316
Î "
:I 5,13 0 0317
Ï "
-D 11,10 0 0320
Ð "
~N 10,13 0 0321
Ñ "
`O 11,14 0 0322
Ò "
'O 11,14 0 0323
Ó "
^O 11,14 0 0324
Ô "
~O 11,13 0 0325
Õ "
:O 11,13 0 0326
Ö "
mu 8,7 0 0327
× "
/O 11,11,1 0 0330
Ø "
`U 10,14 0 0331
Ù "
'U 10,14 0 0332
Ú "
^U 10,14 0 0333
Û "
:U 10,13 0 0334
Ü "
'Y 10,14 0 0335
Ý "
TP 9,10 0 0336
Þ "
ss 8,10 0 0337
ß "
`a 7,11 0 0340
à "
'a 7,11 0 0341
á "
^a 7,11 0 0342
â "
~a 7,10 0 0343
ã "
:a 7,10 0 0344
ä "
oa 7,11 0 0345
å "
ae 11,7 0 0346
æ "
,c 7,7,3 0 0347
ç "
`e 7,11 0 0350
è "
'e 7,11 0 0351
é "
^e 7,11 0 0352
ê "
:e 7,10 0 0353
ë "
`i 4,11 0 0354
ì "
'i 4,11 0 0355
í "
^i 4,11 0 0356
î "
:i 4,10 0 0357
ï "
Sd 7,10 0 0360
ð "
~n 8,10 0 0361
ñ "
`o 7,11 0 0362
ò "
'o 7,11 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,10 0 0365
õ "
:o 7,10 0 0366
ö "
di 8,7 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 7,11 0 0371
ù "
'u 7,11 0 0372
ú "
^u 7,11 0 0373
û "
:u 7,10 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 8,10,3 0 0376
þ "
:y 7,10,3 0 0377
ÿ "

306
contrib/groff/devhtml/TBI Normal file
View File

@ -0,0 +1,306 @@
name TBI
spacewidth 3
charset
--- 3,1 0 040
! 7,10 0 041
" 7,10 0 042
# 8,10 0 043
sh "
$ 7,11,1 0 044
Do "
% 14,10 0 045
& 10,10 0 046
' 5,10 0 047
( 6,10,3 0 050
) 6,10,3 0 051
* 7,10 0 052
+ 9,7 0 053
, 4,2,2 0 054
\- 9,4 0 055
. 3,2 0 056
/ 6,10 0 057
sl "
0 7,10 0 060
1 7,10 0 061
2 7,10 0 062
3 7,10 0 063
4 7,10 0 064
5 7,10 0 065
6 7,10 0 066
7 7,10 0 067
8 7,10 0 070
9 7,10 0 071
: 5,7 0 072
; 4,7,2 0 073
< 8,6 0 074
= 10,5 0 075
eq "
> 8,6 0 076
? 8,10 0 077
@ 15,10,2 0 0100
at "
A 9,10 0 0101
B 9,10 0 0102
C 9,10 0 0103
D 10,10 0 0104
E 10,10 0 0105
F 9,10 0 0106
G 10,10 0 0107
H 11,10 0 0110
I 5,10 0 0111
J 7,10,1 0 0112
K 11,10 0 0113
L 9,10 0 0114
M 13,10 0 0115
N 11,10 0 0116
O 10,10 0 0117
P 9,10 0 0120
Q 10,10,3 0 0121
R 10,10 0 0122
S 8,10 0 0123
T 10,10 0 0124
U 10,10 0 0125
V 10,10 0 0126
W 13,10 0 0127
X 9,10 0 0130
Y 8,10 0 0131
Z 8,10 0 0132
[ 6,10,3 0 0133
lB "
\ 6,10 0 0134
rs "
] 5,10,3 0 0135
rB "
^ 8,10 0 0136
a^ "
ha "
_ 7,0,2 0 0137
` 5,10 0 0140
oq "
a 8,7 0 0141
b 7,10 0 0142
c 6,7 0 0143
d 7,10 0 0144
e 7,7 0 0145
f 5,10,3 0 0146
g 6,7,3 0 0147
h 8,10 0 0150
i 4,10 0 0151
j 4,10,3 0 0152
k 7,10 0 0153
l 4,10 0 0154
m 11,7 0 0155
n 8,7 0 0156
o 7,7 0 0157
p 7,7,3 0 0160
q 7,7,3 0 0161
r 6,7 0 0162
s 6,7 0 0163
t 4,9 0 0164
u 7,7 0 0165
v 6,7 0 0166
w 9,7 0 0167
x 6,7 0 0170
y 6,7,3 0 0171
z 6,7 0 0172
{ 7,10,3 0 0173
lC "
| 4,10 0 0174
or "
ba "
} 7,10,3 0 0175
rC "
~ 10,5 0 0176
a~ "
ap "
ti "
r! 7,7,3 0 0241
¡ "
ct 7,8,1 0 0242
¢ "
Po 7,10 0 0243
£ "
Cs 8,8 0 0244
¤ "
Ye 7,10 0 0245
¥ "
bb 4,10 0 0246
¦ "
sc 8,10,3 0 0247
§ "
ad 6,9 0 0250
¨ "
co 12,10 0 0251
© "
Of 6,10 0 0252
ª "
Fo 8,6 0 0253
« "
no 9,5 0 0254
¬ "
- 5,4 0 055
hy "
­ "
rg 12,10 0 0256
® "
a- 6,9 0 0257
¯ "
de 6,10 0 0260
° "
+- 9,9 0 0261
± "
S2 4,10 0 0262
² "
S3 4,10 0 0263
³ "
aa 6,10 0 0264
´ "
µ 7,7,3 0 0265
ps 8,10,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 4,10 0 0271
¹ "
Om 6,10 0 0272
º "
Fc 8,6 0 0273
» "
14 10,10 0 0274
¼ "
12 10,10 0 0275
½ "
34 10,10 0 0276
¾ "
r? 8,7,3 0 0277
¿ "
`A 9,13 0 0300
À "
'A 9,13 0 0301
Á "
^A 9,13 0 0302
 "
~A 9,13 0 0303
à "
:A 9,13 0 0304
Ä "
oA 9,13 0 0305
Å "
AE 14,10 0 0306
Æ "
,C 9,10,3 0 0307
Ç "
`E 10,13 0 0310
È "
'E 10,13 0 0311
É "
^E 10,13 0 0312
Ê "
:E 10,13 0 0313
Ë "
`I 5,13 0 0314
Ì "
'I 5,13 0 0315
Í "
^I 5,13 0 0316
Î "
:I 5,13 0 0317
Ï "
-D 10,10 0 0320
Ð "
~N 11,13 0 0321
Ñ "
`O 10,13 0 0322
Ò "
'O 10,13 0 0323
Ó "
^O 10,13 0 0324
Ô "
~O 10,13 0 0325
Õ "
:O 10,13 0 0326
Ö "
mu 9,7 0 0327
× "
/O 10,11,1 0 0330
Ø "
`U 10,13 0 0331
Ù "
'U 10,13 0 0332
Ú "
^U 10,13 0 0333
Û "
:U 10,13 0 0334
Ü "
'Y 8,13 0 0335
Ý "
TP 9,10 0 0336
Þ "
ss 7,10,3 0 0337
ß "
`a 8,10 0 0340
à "
'a 8,10 0 0341
á "
^a 8,11 0 0342
â "
~a 8,10 0 0343
ã "
:a 8,10 0 0344
ä "
oa 8,11 0 0345
å "
ae 11,7 0 0346
æ "
,c 6,7,3 0 0347
ç "
`e 7,10 0 0350
è "
'e 7,10 0 0351
é "
^e 7,11 0 0352
ê "
:e 7,10 0 0353
ë "
`i 4,10 0 0354
ì "
'i 4,10 0 0355
í "
^i 4,11 0 0356
î "
:i 4,10 0 0357
ï "
Sd 7,10 0 0360
ð "
~n 8,10 0 0361
ñ "
`o 7,10 0 0362
ò "
'o 7,10 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,10 0 0365
õ "
:o 7,10 0 0366
ö "
di 9,7 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 7,10 0 0371
ù "
'u 7,10 0 0372
ú "
^u 7,11 0 0373
û "
:u 7,10 0 0374
ü "
'y 6,10,2 0 0375
ý "
Tp 7,10,3 0 0376
þ "
:y 6,10,2 0 0377
ÿ "

306
contrib/groff/devhtml/TI Normal file
View File

@ -0,0 +1,306 @@
name TI
spacewidth 3
charset
--- 3,1 0 040
! 5,10 0 041
" 6,10 0 042
# 7,10 0 043
sh "
$ 7,11,1 0 044
Do "
% 12,10 0 045
& 11,10 0 046
' 5,10 0 047
( 5,10,3 0 050
) 5,10,3 0 051
* 7,10 0 052
+ 10,7 0 053
, 4,2,1 0 054
\- 9,4 0 055
. 3,2 0 056
/ 4,10 0 057
sl "
0 7,10 0 060
1 7,10 0 061
2 7,10 0 062
3 7,10 0 063
4 7,10 0 064
5 7,10 0 065
6 7,10 0 066
7 7,10 0 067
8 7,10 0 070
9 7,10 0 071
: 4,7 0 072
; 4,7,1 0 073
< 10,7,1 0 074
= 10,5 0 075
eq "
> 10,7,1 0 076
? 7,10 0 077
@ 13,10,3 0 0100
at "
A 9,10 0 0101
B 8,10 0 0102
C 9,10 0 0103
D 10,10 0 0104
E 9,10 0 0105
F 9,10 0 0106
G 10,10 0 0107
H 10,10 0 0110
I 5,10 0 0111
J 6,10 0 0112
K 10,10 0 0113
L 8,10 0 0114
M 12,10 0 0115
N 11,10 0 0116
O 10,10 0 0117
P 9,10 0 0120
Q 10,10,3 0 0121
R 9,10 0 0122
S 7,10 0 0123
T 8,10 0 0124
U 10,10 0 0125
V 9,10 0 0126
W 11,10 0 0127
X 9,10 0 0130
Y 8,10 0 0131
Z 8,10 0 0132
[ 6,10,3 0 0133
lB "
\ 4,10 0 0134
rs "
] 6,10,3 0 0135
rB "
^ 6,10 0 0136
a^ "
ha "
_ 7,0,4 0 0137
` 5,10 0 0140
oq "
a 7,7 0 0141
b 7,10 0 0142
c 6,7 0 0143
d 7,10 0 0144
e 7,7 0 0145
f 5,10,3 0 0146
g 6,7,3 0 0147
h 7,10 0 0150
i 4,10 0 0151
j 4,10,3 0 0152
k 7,10 0 0153
l 4,10 0 0154
m 10,7 0 0155
n 7,7 0 0156
o 7,7 0 0157
p 7,7,3 0 0160
q 7,7,3 0 0161
r 5,7 0 0162
s 6,7 0 0163
t 5,9 0 0164
u 7,7 0 0165
v 6,7 0 0166
w 9,7 0 0167
x 7,7 0 0170
y 7,7,3 0 0171
z 6,7 0 0172
{ 6,10,3 0 0173
lC "
| 4,10,3 0 0174
or "
ba "
} 6,10,3 0 0175
rC "
~ 8,5 0 0176
a~ "
ap "
ti "
r! 6,7,3 0 0241
¡ "
ct 7,9,2 0 0242
¢ "
Po 7,10 0 0243
£ "
Cs 7,8 0 0244
¤ "
Ye 7,10 0 0245
¥ "
bb 4,10,3 0 0246
¦ "
sc 7,11,2 0 0247
§ "
ad 5,10 0 0250
¨ "
co 12,10 0 0251
© "
Of 5,10 0 0252
ª "
Fo 7,6 0 0253
« "
no 9,6 0 0254
¬ "
- 5,4 0 055
hy "
­ "
rg 12,10 0 0256
® "
a- 5,10 0 0257
¯ "
de 6,10 0 0260
° "
+- 10,9 0 0261
± "
S2 4,10 0 0262
² "
S3 4,10 0 0263
³ "
aa 4,10 0 0264
´ "
µ 7,7,3 0 0265
ps 8,10,3 0 0266
¶ "
md 4,4 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 4,10 0 0271
¹ "
Om 5,10 0 0272
º "
Fc 7,6 0 0273
» "
14 10,10 0 0274
¼ "
12 10,10 0 0275
½ "
34 10,10 0 0276
¾ "
r? 7,7,3 0 0277
¿ "
`A 9,13 0 0300
À "
'A 9,13 0 0301
Á "
^A 9,13 0 0302
 "
~A 9,13 0 0303
à "
:A 9,12 0 0304
Ä "
oA 9,13 0 0305
Å "
AE 13,10 0 0306
Æ "
,C 9,10,3 0 0307
Ç "
`E 9,13 0 0310
È "
'E 9,13 0 0311
É "
^E 9,13 0 0312
Ê "
:E 9,12 0 0313
Ë "
`I 5,13 0 0314
Ì "
'I 5,13 0 0315
Í "
^I 5,13 0 0316
Î "
:I 5,12 0 0317
Ï "
-D 10,10 0 0320
Ð "
~N 11,13 0 0321
Ñ "
`O 10,13 0 0322
Ò "
'O 10,13 0 0323
Ó "
^O 10,13 0 0324
Ô "
~O 10,13 0 0325
Õ "
:O 10,12 0 0326
Ö "
mu 10,7 0 0327
× "
/O 10,11,1 0 0330
Ø "
`U 10,13 0 0331
Ù "
'U 10,13 0 0332
Ú "
^U 10,13 0 0333
Û "
:U 10,12 0 0334
Ü "
'Y 8,13 0 0335
Ý "
TP 9,10 0 0336
Þ "
ss 7,10,3 0 0337
ß "
`a 7,10 0 0340
à "
'a 7,10 0 0341
á "
^a 7,11 0 0342
â "
~a 7,10 0 0343
ã "
:a 7,9 0 0344
ä "
oa 7,10 0 0345
å "
ae 10,7 0 0346
æ "
,c 6,7,3 0 0347
ç "
`e 7,10 0 0350
è "
'e 7,10 0 0351
é "
^e 7,11 0 0352
ê "
:e 7,9 0 0353
ë "
`i 4,10 0 0354
ì "
'i 4,10 0 0355
í "
^i 4,11 0 0356
î "
:i 4,9 0 0357
ï "
Sd 7,10 0 0360
ð "
~n 7,10 0 0361
ñ "
`o 7,10 0 0362
ò "
'o 7,10 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,10 0 0365
õ "
:o 7,9 0 0366
ö "
di 10,7 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 7,10 0 0371
ù "
'u 7,10 0 0372
ú "
^u 7,11 0 0373
û "
:u 7,9 0 0374
ü "
'y 7,10,3 0 0375
ý "
Tp 7,10,3 0 0376
þ "
:y 7,9,3 0 0377
ÿ "

306
contrib/groff/devhtml/TR Normal file
View File

@ -0,0 +1,306 @@
name TR
spacewidth 3
charset
--- 3,1 0 040
! 5,10 0 041
" 6,10 0 042
# 7,10 0 043
sh "
$ 7,11,1 0 044
Do "
% 12,10 0 045
& 11,10 0 046
' 4,10 0 047
( 5,10,3 0 050
) 5,10,3 0 051
* 7,10 0 052
+ 8,7 0 053
, 4,1,2 0 054
\- 9,4 0 055
. 4,1 0 056
/ 4,10,2 0 057
sl "
0 7,10 0 060
1 7,10 0 061
2 7,10 0 062
3 7,10 0 063
4 7,10 0 064
5 7,10 0 065
6 7,10 0 066
7 7,10 0 067
8 7,10 0 070
9 7,10 0 071
: 4,7 0 072
; 4,7,2 0 073
< 8,7 0 074
= 8,5 0 075
eq "
> 8,7 0 076
? 6,10 0 077
@ 13,10,2 0 0100
at "
A 11,10 0 0101
B 9,10 0 0102
C 10,10 0 0103
D 10,10 0 0104
E 9,10 0 0105
F 8,10 0 0106
G 11,10 0 0107
H 10,10 0 0110
I 5,10 0 0111
J 6,10 0 0112
K 10,10 0 0113
L 9,10 0 0114
M 13,10 0 0115
N 11,10 0 0116
O 10,10 0 0117
P 8,10 0 0120
Q 10,10,3 0 0121
R 9,10 0 0122
S 8,10 0 0123
T 9,10 0 0124
U 10,10 0 0125
V 9,10 0 0126
W 13,10 0 0127
X 10,10 0 0130
Y 9,10 0 0131
Z 8,10 0 0132
[ 5,10,3 0 0133
lB "
\ 4,10 0 0134
rs "
] 5,10,3 0 0135
rB "
^ 7,10 0 0136
a^ "
ha "
_ 7,0,3 0 0137
` 4,10 0 0140
oq "
a 7,7 0 0141
b 7,10 0 0142
c 7,7 0 0143
d 7,10 0 0144
e 7,7 0 0145
f 4,10 0 0146
g 7,7,3 0 0147
h 7,10 0 0150
i 3,10 0 0151
j 4,10,3 0 0152
k 7,10 0 0153
l 3,10 0 0154
m 11,7 0 0155
n 7,7 0 0156
o 7,7 0 0157
p 7,7,3 0 0160
q 7,7,3 0 0161
r 5,7 0 0162
s 6,7 0 0163
t 4,8 0 0164
u 7,7 0 0165
v 7,7 0 0166
w 11,7 0 0167
x 7,7 0 0170
y 7,7,3 0 0171
z 6,7 0 0172
{ 7,10,3 0 0173
lC "
| 3,10 0 0174
or "
ba "
} 7,10,3 0 0175
rC "
~ 8,5 0 0176
a~ "
ap "
ti "
r! 5,7,3 0 0241
¡ "
ct 7,8,1 0 0242
¢ "
Po 8,10 0 0243
£ "
Cs 7,8 0 0244
¤ "
Ye 7,10 0 0245
¥ "
bb 3,10 0 0246
¦ "
sc 7,10,3 0 0247
§ "
ad 5,10 0 0250
¨ "
co 12,10 0 0251
© "
Of 4,10 0 0252
ª "
Fo 7,6 0 0253
« "
no 9,6 0 0254
¬ "
- 4,4 0 055
hy "
­ "
rg 12,10 0 0256
® "
a- 4,9 0 0257
¯ "
de 6,10 0 0260
° "
+- 8,7 0 0261
± "
S2 4,10 0 0262
² "
S3 4,10 0 0263
³ "
aa 5,11 0 0264
´ "
µ 7,7,3 0 0265
ps 7,10,3 0 0266
¶ "
md 4,5 0 0267
· "
ac 5,0,3 0 0270
¸ "
S1 4,10 0 0271
¹ "
Om 5,10 0 0272
º "
Fc 7,6 0 0273
» "
14 10,10 0 0274
¼ "
12 10,10 0 0275
½ "
34 10,10 0 0276
¾ "
r? 6,7,3 0 0277
¿ "
`A 11,14 0 0300
À "
'A 11,14 0 0301
Á "
^A 11,14 0 0302
 "
~A 11,14 0 0303
à "
:A 11,13 0 0304
Ä "
oA 11,14 0 0305
Å "
AE 13,10 0 0306
Æ "
,C 10,10,3 0 0307
Ç "
`E 9,14 0 0310
È "
'E 9,14 0 0311
É "
^E 9,14 0 0312
Ê "
:E 9,13 0 0313
Ë "
`I 5,14 0 0314
Ì "
'I 5,14 0 0315
Í "
^I 5,14 0 0316
Î "
:I 5,13 0 0317
Ï "
-D 10,10 0 0320
Ð "
~N 11,14 0 0321
Ñ "
`O 10,14 0 0322
Ò "
'O 10,14 0 0323
Ó "
^O 10,14 0 0324
Ô "
~O 10,14 0 0325
Õ "
:O 10,13 0 0326
Ö "
mu 8,7 0 0327
× "
/O 10,11,1 0 0330
Ø "
`U 10,14 0 0331
Ù "
'U 10,14 0 0332
Ú "
^U 10,14 0 0333
Û "
:U 10,13 0 0334
Ü "
'Y 9,14 0 0335
Ý "
TP 8,10 0 0336
Þ "
ss 7,10 0 0337
ß "
`a 7,11 0 0340
à "
'a 7,11 0 0341
á "
^a 7,11 0 0342
â "
~a 7,11 0 0343
ã "
:a 7,10 0 0344
ä "
oa 7,11 0 0345
å "
ae 11,7 0 0346
æ "
,c 7,7,3 0 0347
ç "
`e 7,11 0 0350
è "
'e 7,11 0 0351
é "
^e 7,11 0 0352
ê "
:e 7,10 0 0353
ë "
`i 3,11 0 0354
ì "
'i 3,11 0 0355
í "
^i 3,11 0 0356
î "
:i 3,10 0 0357
ï "
Sd 7,10 0 0360
ð "
~n 7,11 0 0361
ñ "
`o 7,11 0 0362
ò "
'o 7,11 0 0363
ó "
^o 7,11 0 0364
ô "
~o 7,11 0 0365
õ "
:o 7,10 0 0366
ö "
di 8,7 0 0367
÷ "
/o 7,8,1 0 0370
ø "
`u 7,11 0 0371
ù "
'u 7,11 0 0372
ú "
^u 7,11 0 0373
û "
:u 7,10 0 0374
ü "
'y 7,11,3 0 0375
ý "
Tp 7,10,3 0 0376
þ "
:y 7,10,3 0 0377
ÿ "

View File

@ -1,5 +1,5 @@
DEV=lj4
LJ4RES=300
LJ4RES=600
LJ4PRINT=$(PSPRINT)
DEVFILES=DESC \
ALBB ALBR \

View File

@ -20,15 +20,15 @@
FFLAG=-F..
TROFF=../troff/troff -M../tmac $(FFLAG)
GROPS=../grops/grops $(FFLAG)
DOCS=meref.PS meintro.PS pic.PS
DOCS=meref.ps meintro.ps pic.ps
MEMACROS=../macros/tmac.e
SOELIM=../soelim/soelim
all: $(DOCS)
.SUFFIXES: .tr .me .ms .PS .dit
.SUFFIXES: .tr .me .ms .ps .dit
.dit.PS:
.dit.ps:
$(GROPS) $< >$@
.me.dit:
@ -39,18 +39,24 @@ all: $(DOCS)
.tr.dit:
$(TROFF) -Tps $< >$@
meref.PS: meref.dit
meintro.PS: meintro.dit
meref.ps: meref.dit
meintro.ps: meintro.dit
# This production must use -p -e -t so pic/eqn processing is done
pic.PS: pic.ms
sed $< -e "s;@VERSION@;`cat ../VERSION`;" \
pic.ps: pic.ms
sed -e "s;@VERSION@;`cat ../VERSION`;" $< \
| ../groff/groff -p -e -t -Tps $(FFLAG) -ms >$@
pic.html: pic.ms
sed -e "s;@VERSION@;`cat ../VERSION`;" $< \
| ../groff/groff -p -e -t -Thtml $(FFLAG) -ms -mhtml >$@
install:
clean:
-rm -f *.PS *.dit core
-rm -f *.ps *.html *.png *.gif *.dit core
-rm -f *.aux *.cp *.cps *.cv *.cn *.dvi *.fn *.fns *.ky *.kys \
*.log *.op *.pg *.pgs *.ps *.toc *.tp *.tps *.tr *.vr *.vrs
distclean: clean

File diff suppressed because it is too large Load Diff

View File

@ -1825,8 +1825,10 @@ or
(the same,
but as an ordinal number;
for example, \*(mo is \n(mo),
.NR (y4
(the current year),
and
.NR (yr
.NR (y2
(the last two digits of the current year).
.TL
.ST (lq
@ -2184,7 +2186,9 @@ NAME TYPE DESCRIPTION
\&.xp M print index
\en(xs R index entry prespace
\en(xu R index undent (from right margin)
\en(yr R\(sc year (last two digits only)
\en(y2 R year (last two digits only)
\en(y4 R year (all digits)
\en(yr R\(sc year minus 1900
\en(zs R floating keep pre/post space
\e{ F\(sc begin conditional group
\e| F\(sc 1/6 em narrow space

View File

@ -10,7 +10,7 @@
.\" This document was written for free use and redistribution by
.\" Eric S. Raymond <esr@thyrsus.com> in August 1995.
.\"
.\" $Id: pic.ms,v 1.27 1997/07/03 17:35:39 esr Exp $
.\" $Id: pic.ms,v 1.2 1999/12/04 08:57:07 wlemb Exp $
.\"
.\" Set a proper TeX
.ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
@ -299,7 +299,8 @@ possible to set a global style variable \fBscale\fP that changes the
unit. Setting \fBscale = 2.54\fP will effectively change the internal
unit to centimeters (all other size variable valuess will be scaled
correspondingly).
.NH 2 Default Sizes of Objects
.NH 2
Default Sizes of Objects
.PP
Here are the default sizes for \fBpic\fP objects:
.RS

View File

@ -159,7 +159,7 @@ int list_box::compute_metrics(int style)
have_simple = list.p[i]->is_simple();
if (have_simple) {
printf(".nr " WIDTH_FORMAT " +\\w" DELIMITER_CHAR, uid);
for (int i = 0; i < list.len; i++)
for (i = 0; i < list.len; i++)
if (list.p[i]->is_simple())
list.p[i]->output();
printf(DELIMITER_CHAR "\n");
@ -187,7 +187,7 @@ void list_box::compute_sublist_width(int n)
have_simple = list.p[i]->is_simple();
if (have_simple) {
printf("+\\w" DELIMITER_CHAR);
for (int i = 0; i < n; i++)
for (i = 0; i < n; i++)
if (list.p[i]->is_simple())
list.p[i]->output();
printf(DELIMITER_CHAR);

View File

@ -78,6 +78,7 @@ void do_file(FILE *fp, const char *filename)
&& linebuf[2] == 'Q'
&& (linebuf[3] == ' ' || linebuf[3] == '\n' || compatible_flag)) {
put_string(linebuf, stdout);
put_string(".if '\\*(.T'html' \\X(graphic-start(\\c\n", stdout);
int start_lineno = current_lineno + 1;
str.clear();
for (;;) {
@ -107,6 +108,7 @@ void do_file(FILE *fp, const char *filename)
}
restore_compatibility();
printf(".lf %d\n", current_lineno);
put_string(".if '\\*(.T'html' \\X(graphic-end(\\c\n", stdout);
put_string(linebuf, stdout);
}
else if (start_delim != '\0' && linebuf.search(start_delim) >= 0
@ -163,6 +165,7 @@ static int inline_equation(FILE *fp, string &linebuf, string &str)
ptr = &linebuf[0];
}
str += '\0';
put_string(".if '\\*(.T'html' \\X(graphic-start(\\c\n", stdout);
init_lex(str.contents(), current_filename, start_lineno);
yyparse();
start = delim_search(ptr, start_delim);
@ -177,6 +180,7 @@ static int inline_equation(FILE *fp, string &linebuf, string &str)
printf(".lf %d\n", current_lineno);
output_string();
restore_compatibility();
put_string(".if '\\*(.T'html' \\X(graphic-end(\\c\n", stdout);
printf(".lf %d\n", current_lineno + 1);
return 1;
}

View File

@ -166,7 +166,7 @@ public:
font *make_font(const char *);
void begin_page(int);
void end_page(int);
void set_char(int, font *, const environment *, int w);
void set_char(int, font *, const environment *, int w, const char *name);
void special(char *arg, const environment *env);
void end_of_line();
void draw(int code, int *p, int np, const environment *env);
@ -299,7 +299,7 @@ int scale(int x, int z)
}
void dvi_printer::set_char(int index, font *f, const environment *env, int w)
void dvi_printer::set_char(int index, font *f, const environment *env, int w, const char *name)
{
int code = f->get_code(index);
if (env->size != cur_point_size || f != cur_font) {

View File

@ -107,13 +107,14 @@ int main(int argc, char **argv)
int zflag = 0;
int iflag = 0;
int Xflag = 0;
int safer_flag = 1;
int opt;
const char *command_prefix = getenv("GROFF_COMMAND_PREFIX");
if (!command_prefix)
command_prefix = PROG_PREFIX;
commands[TROFF_INDEX].set_name(command_prefix, "troff");
while ((opt = getopt(argc, argv,
"itpeRsSzavVhblCENXZF:m:T:f:w:W:M:d:r:n:o:P:L:"))
"abCd:eEf:F:hiI:lL:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ"))
!= EOF) {
char buf[3];
buf[0] = '-';
@ -123,6 +124,10 @@ int main(int argc, char **argv)
case 'i':
iflag = 1;
break;
case 'I':
commands[SOELIM_INDEX].set_name(command_prefix, "soelim");
commands[SOELIM_INDEX].append_arg(buf, optarg);
break;
case 't':
commands[TBL_INDEX].set_name(command_prefix, "tbl");
break;
@ -170,8 +175,10 @@ int main(int argc, char **argv)
commands[TROFF_INDEX].append_arg(buf);
break;
case 'S':
commands[PIC_INDEX].append_arg(buf);
commands[TROFF_INDEX].insert_arg("-msafer");
safer_flag = 1;
break;
case 'U':
safer_flag = 0;
break;
case 'T':
if (strcmp(optarg, "Xps") == 0) {
@ -223,6 +230,12 @@ int main(int argc, char **argv)
break;
}
}
if (safer_flag) {
commands[PIC_INDEX].append_arg("-S");
commands[TROFF_INDEX].insert_arg("-msafer");
} else {
commands[TROFF_INDEX].insert_arg("-U");
}
font::set_unknown_desc_command_handler(handle_unknown_desc_command);
if (!font::load_desc())
fatal("invalid device `%1'", device);
@ -534,8 +547,8 @@ char **possible_command::get_argv()
void synopsis()
{
fprintf(stderr,
"usage: %s [-abehilpstvzCENRSVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
" [-Wname] [ -Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg] [-Larg]\n"
"usage: %s [-abehilpstvzCENRSUVXZ] [-Fdir] [-mname] [-Tdev] [-ffam] [-wname]\n"
" [-Wname] [-Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg] [-Larg]\n"
" [files...]\n",
program_name);
}
@ -575,7 +588,8 @@ void help()
"-Parg\tpass arg to the postprocessor\n"
"-Larg\tpass arg to the spooler\n"
"-N\tdon't allow newlines within eqn delimiters\n"
"-S\tenable safer mode\n"
"-S\tenable safer mode (the default)\n"
"-U\tenable unsafe mode\n"
"\n",
stderr);
exit(0);

View File

@ -0,0 +1,104 @@
1999-12-21 Werner LEMBERG <wl@gnu.org>
* grohtml.man: Fixed copyright year.
1999-12-15 Gaius Mulley <gaius@glam.ac.uk>
* html.cc: Some other fixes.
1999-12-13 Gaius Mulley <gaius@glam.ac.uk>
* html.cc (main): Added new option `-x' to help debugging tables.
1999-12-11 Gaius Mulley <gaius@glam.ac.uk>
* html.cc: Fixed image position bugs. However, three major bugs
remain: Firstly, grohtml sometimes miscalculates the end of an
html table resulting in text which appears twice. Secondly,
equation numbers are not handled correctly. Thirdly, equation
macros and pic macros can confuse grohtml; this can be seen by
nested `graphic-start's -- I believe the best method to solve this
is to detect .EQ, .EN, .TS, .TE, .PS, .PE sequences in troff and
add the graphic-start special character at this point.
* grohtml.man: Minor fixes.
1999-11-29 Gaius Mulley <gaius@glam.ac.uk>
* design.ms: More updates; added some basic introductional
information.
* html.cc: Fixed more bugs mainly in the table handling code.
Making the code terminate a table at the correct position.
Indented .IPs appear to work now. Region ends also correctly
terminate tables.
1999-11-16 Gaius Mulley <gaius@glam.ac.uk>
* design.ms, grohtml.man: Updated.
* html.cc, ordered_list.h: Fixed many bugs in the table handling
code. Reverted the -t switch so that table handling code is used
by default and users must turn it off with -t.
Manual page generation using `groff -Thtml -man' is much better
due in large part to the table code and minor alterations in
tmac.an.
1999-10-30 Gaius Mulley <gaius@glam.ac.uk>
* implemented auto formatting and introduced html table
code. Fixed several text handling bugs and grohtml will
detect centered lines - an offshoot of the html table code.
* reverted meaning of grohtml's `-a' switch: using -a means that
output will be preformatted.
1999-10-05 Gaius Mulley <gaius@glam.ac.uk>
* Introduced command line options -r to determine the resolution
of generated images, -I to determine the format of images
generated.
* Fixed many bugs to do with superscripts, subscripts,
indentation, font changes, and extraneous spaces.
* Fixed bug in determining the range of polygons and splines.
* Updated the manual page to reflect the new options.
* The default image type is png format, however this will only
work if you have a gs with a png output device. If you don't have
a gs with this ability you can either reconfigure html to generate
gif images by default (alter a #define in html.cc). Or
alternatively you can use the -Igif option.
1999-09-27 Werner LEMBERG <wl@gnu.org>
* html.cc (move_horizontal): Fonts have changed one character too
late.
1999-09-26 Werner LEMBERG <wl@gnu.org>
* grohtml.man: Minor cosmetic fixes.
1999-09-25 Gaius Mulley <gaius@glam.ac.uk>
* grohtml.man, html.cc: Rewrite of the html text component. Basic
font faces supported together with font types. Superscript and
subscript have also been implemented. Temporarily removed the
-P-a switch on grohtml as it is not working (never worked). This
is the next `to do'. Added a simple macro tmac.arkup which
contains simple html features. This macro needs further work.
Arc, spline, polygon fill have all been added and arc max/min xy
limits are calculated, the same needs to be done for spline. Many
bugs have been fixed regarding basic html text.
* design.ms: New file describing how html.cc works.
Aug 1999
Initial release, very basic html text generated, quite ugly text
is generated according to many reports :-) Equations, tables,
pictures generate gif files via gs and ppmquant, ppmtogif, grops.

View File

@ -0,0 +1,3 @@
html.o: html.cc ordered_list.h ../include/driver.h ../include/errarg.h \
../include/error.h ../include/font.h ../include/printer.h \
../include/lib.h

View File

@ -0,0 +1,6 @@
PROG=grohtml
MAN1=grohtml.n
XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=html.o
CCSRCS=html.cc

View File

@ -0,0 +1,156 @@
.nr PS 12
.nr VS 14
.LP
.TL
Design of grohtml
.sp 1i
.SH
What is grohtml
.LP
Grohtml is a back end for groff which generates html.
The aim of grohtml is to produce respectible html given
fairly typical groff input.
.SH
Limitations of grohtml
.LP
Although basic text can be translated
in a straightforward fashion there are some areas where grohtml
has to try and guess text relationship. In particular whenever
grohtml encounters text tables and indented paragraphs or
two column mode it will try and utilize the html table construct
to preserve columns. Grohtml also attempts to work out which
lines should be automatically formatted by the browser.
Ultimately in trying to make reasonable guesses most of the time
it will make mistakes occasionally.
.PP
Tbl, pic, eqn's are also generated using images which may be
considered a limitation.
.SH
Overview of html.cc
.LP
This file briefly provides an overview of how html.cc operates.
The html device driver works as follows:
.IP (i) .5i
firstly it creates a linked list of all words on a page.
.IP (ii) .5i
it runs through the page and finds the left most margin. Later
on when generating the page it removes the margin.
.IP (iii) .5i
scans a page and builds two kinds of regions ascii text and graphical.
The graphical regions consist of tbl's, eqn's, pic's
(basically anything that cannot be textually displayed).
It will scan through a page to find lines (such as footer etc)
and places these into tiny graphical regions. Certain fonts
also are treated as a graphical region - as html has no easy
equivalent. For example Greek math symbols.
.LP
Finally all graphical regions are translated into png files and
all text regions into html text.
.PP
To give grohtml a sporting chance of accuratly deciding which
is a graphical region and which is text, the front end programs
tbl, eqn, pic have all been tweeked to encapsulate pictures, tables
and equations with the following lines:
.sp
.nf
\f[CR]\&.if '\\*(.T'html' \\X(graphic-start(\c
\&.if '\\*(.T'html' \\X(graphic-end(\c
\fP
.fi
.sp
these appear to grohtml as:
.sp
.nf
\f[CR]\&x X graphic-start
\&...
\&x X graphic-end\fP
.fi
.sp
.LP
In addition to graphic-start and graphic-end there are two
other "special characters" which are used.
.sp
\f[CR]\&x X index:N\fP
.sp
where N is a number. The purpose of this sequence is to stop
devhtml from automatically producing links to headings which
have a header level >N.
The line:
.sp
\f[CR]\&x X html:STRING\fR
.sp
.LP
allows a STRING to be passed through to the output file with
no processing whatsoever. Ie it allows users to include html
commands, via macro, such as:
.sp
\f[CR]\&.URL "Latest Emacs" "ftp://somewonderful.gnu.software"\fP
.sp
.LP
Where the URL macro bundles the info into STRING above.
For more info consult: \f[CR]tmac/tmac.arkup\fP.
.PP
While scanning through a page the html device copies headings and titles
into a list of links which are later written to the beginning
of the html document.
.SH
Table handling code
.LP
Provided that the -t option is not present when grohtml is run the grohtml
driver will attempt to find textual tables and generate html tables.
This allows .RS and .RE commands to operate with auto formatting. It also
should grohtml to process .2C correctly. However, the table handling code
has to examine the troff output and \fIguess\fR when a table starts and
finishes. It is well to know the limitations of this approach as it
sometimes makes the wrong decision.
.LP
Here are some of the rules that grohtml uses for terminating a html table:
.LP
.IP "(i)" .5i
A table will be terminated when grohtml finds line which is all in bold
font (it believes that this is a header which is outside of a table).
This might be considered incorrect behaviour especially if you use .2C
which generates a heading on the left column when the corresponding
right row is blank.
.IP "(ii)" .5i
A table is terminated when grohtml sees that the complete line is
has been spanned by words. Ie no gaps exist.
.IP "(nb)" .5i
the documentation about these rules is particularly incomplete and needs finishing
when time prevails.
.SH
To do
.LP
.IP (i) .5i
finish working out the max and min x, y, extents for splines.
.IP (ii) .5i
check and test thoroughly all the character descriptions in devhtml
(originally taken from devX100)
.IP (iii) .5i
improve tmac.arkup
.IP (vi) .5i
also improve documentation.
.IP (v) .5i
fix the bugs which are exposed by Eric Raymonds pic guide,
\fBMaking Pictures With GNU PIC\fR. It appears that grohtml becomes confused
about which sections of the document are text and which sections need
to be rendered as an image.
.IP (vi) .5i
it would be nice to modularise the source. A natural division might be
to extract the table handling code from html.cc into table.cc.
The table.cc could be expanded to recognise output from tbl and try
and generate html tables with lines/rules/boxes. The code as it stands
should cope with very simple plain text tables. But of course at present
it does not get a chance to do this because the output of gtbl is
bracketed by \fCgraphic-start\fR and \fCgraphic-end\fR.
.IP (vii) .5i
introduce anti aliasing for the images as mentioned by Werner.
.SH
Dependencies
.LP
Grohtml is dependent upon grops, gs which are invoked to
generate all png files. Png files are generated whenever a table, picture,
equation or line is encountered.

View File

@ -0,0 +1,173 @@
.ig \"-*- nroff -*-
Copyright (C) 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
..
.\" Like TP, but if specified indent is more than half
.\" the current line-length - indent, use the default indent.
.de Tp
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
.TH GROHTML @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
grohtml \- html driver for groff
.SH SYNOPSIS
.B grohtml
[
.B \-atvdgm?
] [
.BI \-F dir
] [
.BI \-I imagetype
] [
.BI \-r resolution
] [
.IR files \|.\|.\|.
]
.SH DESCRIPTION
.B grohtml
translates the output of GNU
.B troff
to html.
Normally
.B grohtml
should be invoked by using the groff command with a
.B \-Thtml
option.
If no files are given,
.B grohtml
will read the standard input.
A filename of
.B \-
will also cause
.B grohtml
to read the standard input.
Html output is written to the standard output.
When
.B grohtml
is run by
.B groff
options can be passed to
.B grohtml
using the
.B groff
.B \-P
option.
.SH OPTIONS
.TP
.B \-a
force
.B grohtml
to generate html line breaks in the same position as troff dictates.
Without this option
.B grohtml
generates text in paragraphs which is formatted by the html browser.
.TP
.B \-d
turn on internal debugging.
.TP
.B \-g
tell
.B grohtml
not to try and guess titles and headings.
By using this flag together with the -m and -a flag
.B grohtml
will treat the html browser as a printer, not as a formatter.
.TP
.B \-m
leave margins alone.
.B grohtml
will not remove left margins.
.TP
.B \-t
forbids
.B grohtml
from generating html tables when implementing indentation and tabular text.
.B grohtml
can implement .IP by tables or html indents.
However if .2C is used it can only be sensibly converted to html using a
table structure.
As a few known bugs still exist with the html table code this option is
present to supress execution of this development code.
The default in
.B grohtml
is that html tables are generated when appropriate.
.TP
.BI \-F dir
Search the directory
.IB dir /dev name
for font and device description files;
.I name
is the name of the device, usually
.BR html .
.TP
.BI \-I imagetype
select the type of image generated when grohtml encounters an equation,
table, or picture.
By default this is png256.
Legal image types are: gif and any of the png formats which are supported by
ghostscript gs(1).
.TP
.BI \-r resolution
select the resolution for all images.
By default this is 80 pixels per inch.
Example: -r100 indicates 100 pixels per inch.
.TP
.B \-v
Print the version number.
.TP
.B \-?
Display usage.
.SH USAGE
There are styles called
.BR R ,
.BR I ,
.BR B ,
and
.B BI
mounted at font positions 1 to 4.
It is advisable to invoke groff with the -mhtml macro set, which turns off
headers, footers, and hyphenation; additionally, it will right justify text.
.SH DEPENDENCIES
.B grohtml
is dependent upon grops and gs.
If
.B grohtml
has been configured to generate gif files then it is further dependent upon,
ppmtogif, and ppmquant.
However if it has been configured to generate png files (the default) then
it is dependent upon gs having a png output device.
Images are generated whenever a table, picture, equation or line is
encountered.
.SH BUGS
This is still very alpha.
At least three major bugs remain:
Firstly,
.B grohtml
sometimes miscalculates the end of an html table resulting in text which
appears twice.
Secondly equation numbers are not handled correctly.
Thirdly equation macros and pic macros can confuse
.BR grohtml .
.SH "SEE ALSO"
.BR afmtodit (@MAN1EXT@),
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
.BR psbb (@MAN1EXT@),
.BR groff_out (@MAN5EXT@),
.BR groff_font (@MAN5EXT@),
.BR groff_char (@MAN7EXT@)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
// -*- C++ -*-
/* Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
This file is part of groff.
groff is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.
groff is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with groff; see the file COPYING. If not, write to the Free Software
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
class simple_output {
public:
simple_output(FILE *, int max_line_length);
simple_output &put_string(const char *, int);
simple_output &put_string(const char *s);
simple_output &html_write_string(const char *s);
simple_output &put_translated_char (const char *s);
simple_output &put_translated_string(const char *s);
simple_output &put_number(int);
simple_output &put_float(double);
simple_output &put_symbol(const char *);
simple_output &put_literal_symbol(const char *);
simple_output &set_fixed_point(int);
simple_output &simple_comment(const char *);
simple_output &begin_comment(const char *);
simple_output &comment_arg(const char *);
simple_output &end_comment();
simple_output &set_file(FILE *);
simple_output &include_file(FILE *);
simple_output &copy_file(FILE *);
simple_output &end_line();
simple_output &put_delimiter(char);
simple_output &special(const char *);
FILE *get_file();
private:
FILE *fp;
int col;
int max_line_length; // not including newline
int need_space;
int fixed_point;
};
inline FILE *simple_output::get_file()
{
return fp;
}

View File

@ -0,0 +1,193 @@
/*
* Copyright (C) 1999 Free Software Foundation, Inc.
*
* Ordered list, a template module for simple ordered list manipulation.
*
* Gaius Mulley (gaius@glam.ac.uk)
*/
template <class T> class list_element
{
public:
list_element *right;
list_element *left;
list_element (T *in);
T *data;
};
template <class T> class ordered_list
{
private:
list_element<T> *head;
list_element<T> *tail;
list_element<T> *ptr;
public:
ordered_list (void);
~ ordered_list (void);
void add (T* in);
void sub_move_right (void);
void move_right (void);
void move_left (void);
int is_empty (void);
int is_equal_to_tail (void);
int is_equal_to_head (void);
void start_from_head (void);
void start_from_tail (void);
T *move_right_get_data (void);
T *move_left_get_data (void);
T *get_data (void);
};
template <class T> ordered_list<T>::ordered_list()
: head(0), tail(0), ptr(0)
{
}
template <class T> ordered_list<T>::~ordered_list()
{
list_element<T> *temp=head;
do {
temp = head;
if (temp != 0) {
head = head->right;
delete temp;
}
} while ((head != 0) && (head != tail));
}
template <class T> list_element<T>::list_element(T *in)
: right(0), left(0)
{
data = in;
}
template <class T> void ordered_list<T>::add(T *in)
{
list_element<T> *t = new list_element<T>(in); // create a new list element with data field initialized
list_element<T> *last;
if (in == 0) {
fatal("cannot add NULL to ordered list");
}
if (head == 0) {
head = t;
tail = t;
t->left = t;
t->right = t;
} else {
last = tail;
while ((last != head) && (in->is_less(in, last->data))) {
last = last->left;
}
if (in->is_less(in, last->data)) {
t->right = last;
last->left->right = t;
t->left = last->left;
last->left = t;
// now check for a new head
if (last == head) {
head = t;
}
} else {
// add t onto beyond last
t->right = last->right;
t->left = last;
last->right->left = t;
last->right = t;
// now check for a new tail
if (last == tail) {
tail = t;
}
}
}
}
template <class T> void ordered_list<T>::sub_move_right (void)
{
list_element<T> *t=ptr->right;
if (head == tail) {
head = 0;
if (tail != 0) {
delete tail;
}
tail = 0;
ptr = 0;
} else {
if (head == ptr) {
head = head->right;
}
if (tail == ptr) {
tail = tail->left;
}
ptr->left->right = ptr->right;
ptr->right->left = ptr->left;
ptr=t;
}
}
template <class T> void ordered_list<T>::start_from_head (void)
{
ptr = head;
}
template <class T> void ordered_list<T>::start_from_tail (void)
{
ptr = tail;
}
template <class T> int ordered_list<T>::is_empty (void)
{
return( head == 0 );
}
template <class T> int ordered_list<T>::is_equal_to_tail (void)
{
return( ptr == tail );
}
template <class T> int ordered_list<T>::is_equal_to_head (void)
{
return( ptr == head );
}
template <class T> void ordered_list<T>::move_left (void)
{
ptr = ptr->left;
}
template <class T> void ordered_list<T>::move_right (void)
{
ptr = ptr->right;
}
template <class T> T* ordered_list<T>::get_data (void)
{
return( ptr->data );
}
template <class T> T* ordered_list<T>::move_right_get_data (void)
{
ptr = ptr->right;
if (ptr == head) {
return( 0 );
} else {
return( ptr->data );
}
}
template <class T> T* ordered_list<T>::move_left_get_data (void)
{
ptr = ptr->left;
if (ptr == tail) {
return( 0 );
} else {
return( ptr->data );
}
}

View File

@ -1,5 +1,5 @@
.ig \"-*- nroff -*-
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
Copyright (C) 1994, 1995, 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@ -30,6 +30,10 @@ grolj4 \- groff driver for HP Laserjet 4 family
[
.B \-lv
] [
.B \-d
[\c
.IR n ]
] [
.BI \-c n
] [
.BI \-p paper_size
@ -68,6 +72,12 @@ copies of each page.
.B \-l
Print the document with a landscape orientation.
.TP
.BI "\-d [" n ]
Use duplex mode
.IR n :
1\ is long-side binding; 2\ is short-side binding;
default is\ 1.
.TP
.BI \-p size
Set the paper size to
.IR size ,

View File

@ -23,8 +23,6 @@ TODO
option to use beziers for circle/ellipse/arc
option to use lines for spline (for LJ3)
duplex option
duplex short/long edge options
left/top offset registration
output bin selection option
paper source option
@ -56,6 +54,7 @@ static struct {
static int paper_size = -1;
static int landscape_flag = 0;
static int duplex_flag = 0;
// An upper limit on the paper size in centipoints,
// used for setting HPGL picture frame.
@ -157,7 +156,7 @@ class lj4_printer : public printer {
public:
lj4_printer();
~lj4_printer();
void set_char(int, font *, const environment *, int);
void set_char(int, font *, const environment *, int, const char *name);
void draw(int code, int *p, int np, const environment *env);
void begin_page(int);
void end_page(int page_length);
@ -233,6 +232,8 @@ lj4_printer::lj4_printer()
else
x_offset = paper_table[paper_size].x_offset_portrait;
x_offset = (x_offset * font::res) / 300;
if (duplex_flag)
printf("\033&l%dS", duplex_flag);
}
lj4_printer::~lj4_printer()
@ -261,7 +262,7 @@ int is_unprintable(unsigned char c)
return c < 32 && (c == 0 || (7 <= c && c <= 15) || c == 27);
}
void lj4_printer::set_char(int index, font *f, const environment *env, int w)
void lj4_printer::set_char(int index, font *f, const environment *env, int w, const char *name)
{
int code = f->get_code(index);
@ -602,11 +603,29 @@ int main(int argc, char **argv)
setbuf(stderr, stderr_buf);
font::set_unknown_desc_command_handler(handle_unknown_desc_command);
int c;
while ((c = getopt(argc, argv, "F:p:lvw:c:")) != EOF)
extern int optopt, optind;
while ((c = getopt(argc, argv, ":F:p:d:lvw:c:")) != EOF)
switch(c) {
case 'l':
landscape_flag = 1;
break;
case ':':
if (optopt == 'd') {
fprintf(stderr, "duplex assumed to be long-side\n");
duplex_flag = 1;
} else
fprintf(stderr, "option -%c requires an operand\n", optopt);
fflush(stderr);
break;
case 'd':
if (!isdigit(*optarg)) // this ugly hack prevents -d without
optind--; // args from messing up the arg list
duplex_flag = atoi(optarg);
if (duplex_flag != 1 && duplex_flag != 2) {
fprintf(stderr, "odd value for duplex; assumed to be long-side\n");
duplex_flag = 1;
}
break;
case 'p':
{
int n = lookup_paper_size(optarg);
@ -669,7 +688,8 @@ int main(int argc, char **argv)
static void usage()
{
fprintf(stderr,
"usage: %s [-lv] [-c n] [-p paper_size] [-w n] [-F dir] [files ...]\n",
"usage: %s [-lv] [-d [n]] [-c n] [-p paper_size]\n"
" [-w n] [-F dir] [files ...]\n",
program_name);
exit(1);
}

View File

@ -502,7 +502,7 @@ class ps_printer : public printer {
public:
ps_printer();
~ps_printer();
void set_char(int i, font *f, const environment *env, int w);
void set_char(int i, font *f, const environment *env, int w, const char *name);
void draw(int code, int *p, int np, const environment *env);
void begin_page(int);
void end_page(int);
@ -565,7 +565,7 @@ int ps_printer::set_encoding_index(ps_font *f)
return f->encoding_index = next_encoding_index++;
}
void ps_printer::set_char(int i, font *f, const environment *env, int w)
void ps_printer::set_char(int i, font *f, const environment *env, int w, const char *name)
{
if (i == space_char_index || invis_count > 0)
return;

View File

@ -962,7 +962,7 @@ void resource_manager::process_file(int rank, FILE *fp, const char *filename,
had_language_level_comment = 1;
}
else {
for (int i = 0; i < NHEADER_COMMENTS; i++)
for (i = 0; i < NHEADER_COMMENTS; i++)
if (matches_comment(buf, header_comment_table[i])) {
interesting = 1;
break;

View File

@ -144,7 +144,7 @@ class tty_printer : public printer {
public:
tty_printer();
~tty_printer();
void set_char(int, font *, const environment *, int);
void set_char(int, font *, const environment *, int, const char *name);
void draw(int code, int *p, int np, const environment *env);
void begin_page(int) { }
void end_page(int page_length);
@ -164,7 +164,7 @@ tty_printer::~tty_printer()
a_delete lines;
}
void tty_printer::set_char(int i, font *f, const environment *env, int w)
void tty_printer::set_char(int i, font *f, const environment *env, int w, const char *name)
{
if (w != font::hor)
fatal("width of character not equal to horizontal resolution");

View File

@ -46,6 +46,8 @@ public:
void set_special_char(const char *nm, const environment *env,
int *widthp = 0);
void set_numbered_char(int n, const environment *env, int *widthp = 0);
int set_char_and_width(const char *nm, const environment *env,
int *widthp, font **f);
virtual void draw(int code, int *p, int np, const environment *env);
virtual void begin_page(int) = 0;
virtual void end_page(int page_length) = 0;
@ -55,12 +57,20 @@ public:
static int adjust_arc_center(const int *, double *);
protected:
font_pointer_list *font_list;
// information about named characters
int is_char_named;
int is_named_set;
char named_command;
const char *named_char_s;
int named_char_n;
private:
font **font_table;
int nfonts;
font *find_font(const char *);
virtual void set_char(int index, font *f, const environment *env,
int w) = 0;
int w, const char *name) = 0;
};
printer *make_printer();

View File

@ -291,6 +291,8 @@ void do_file(const char *filename)
if (np > 0)
env.hpos += p[0];
}
else if (c == 'f' || c == 't')
;
else {
int i;
for (i = 0; i < np/2; i++) {

View File

@ -108,41 +108,63 @@ void printer::draw(int, int *, int, const environment *)
void printer::set_ascii_char(unsigned char c, const environment *env,
int *widthp)
{
char buf[2];
char buf[2];
int w;
font *f;
buf[0] = c;
buf[1] = '\0';
set_special_char(buf, env, widthp);
int i = set_char_and_width(buf, env, &w, &f);
set_char(i, f, env, w, 0);
if (widthp) {
*widthp = w;
}
}
void printer::set_special_char(const char *nm, const environment *env,
int *widthp)
int *widthp)
{
font *f;
int w;
int i = set_char_and_width(nm, env, &w, &f);
if (i != -1) {
set_char(i, f, env, w, nm);
if (widthp) {
*widthp = w;
}
}
}
int printer::set_char_and_width(const char *nm, const environment *env,
int *widthp, font **f)
{
int i = font::name_to_index(nm);
int fn = env->fontno;
if (fn < 0 || fn >= nfonts) {
error("bad font position `%1'", fn);
return;
return(-1);
}
font *f = font_table[fn];
if (f == 0) {
*f = font_table[fn];
if (*f == 0) {
error("no font mounted at `%1'", fn);
return;
return(-1);
}
if (!f->contains(i)) {
if (!(*f)->contains(i)) {
if (nm[0] != '\0' && nm[1] == '\0')
error("font `%1' does not contain ascii character `%2'",
f->get_name(),
(*f)->get_name(),
nm[0]);
else
error("font `%1' does not contain special character `%2'",
f->get_name(),
(*f)->get_name(),
nm);
return;
return(-1);
}
int w = f->get_width(i, env->size);
int w = (*f)->get_width(i, env->size);
if (widthp)
*widthp = w;
set_char(i, f, env, w);
return( i );
}
void printer::set_numbered_char(int num, const environment *env, int *widthp)
@ -167,7 +189,7 @@ void printer::set_numbered_char(int num, const environment *env, int *widthp)
int w = f->get_width(i, env->size);
if (widthp)
*widthp = w;
set_char(i, f, env, w);
set_char(i, f, env, w, 0);
}
// This utility function adjusts the specified center of the

View File

@ -43,8 +43,7 @@ extern char **environ;
/* Put STRING, which is of the form "NAME=VALUE", in the environment. */
int putenv(string)
char *string;
int putenv(const char *string)
{
char *name_end = strchr(string, '=');
SIZE_T size;

View File

@ -21,8 +21,12 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define INT_DIGITS 19 /* enough for 64 bit integer */
#ifndef HAVE_SYS_NERR
extern int sys_nerr;
#endif
#ifndef HAVE_SYS_ERRLIST
extern char *sys_errlist[];
#endif
char *strerror(n)
int n;

View File

@ -270,7 +270,7 @@ void string::clear()
int string::search(char c) const
{
char *p = (char *)memchr(ptr, c, len);
char *p = ptr ? (char *)memchr(ptr, c, len) : NULL;
return p ? p - ptr : -1;
}

View File

@ -1,3 +1,114 @@
Mon Mar 15 22:22:42 1999 Jörgen Hägg (jh at axis.com)
* OK, let's release this as a beta, 1.33 will be better. :-)
* version 1.32
* fixed .el-error
* Added number variable Hss
* Changed Hps1 and Hps2 to units
* added hd*h1-text to be used in user defined macro TP.
* -U needed for SETR (I really need 'mv', 'echo', 'rm'
and 'test' builtin!)
* Rewritten the reference system, SETR now prints to stderr
if the number register Qrf > 0. Store in the filename
that is the argument to .INITR
The old behaviour is returned if number register Initr > 0.
* Fixed bug with List of XXXX, long lines messed up the result.
* added number register H1dot.
* added string variable H1txt
* added string variable Tcst
* added number register Dsp.
* added alias APPX for user-defined appendix title.
* added string variable Apptxt
* added H1h for use in TP in headers
* added macro EPIC
* added macro PIC (safe replacement for PSPIC)
* fixed Hps-bug, should be 1, not 1v.
* fixed bug with APPSK, variable not set.
Wed Feb 4 15:46:04 1998 Jörgen Hägg (jh at axis.se)
* version 1.31
* .LI will now honor a space mark.
* Another fix for .AU to let it be used without arguments.
* uninitialized eq*label fixed
Fri Sep 6 07:13:07 1996 Jörgen Hägg (jh at axis.se)
* version 1.30
* This is more like a beta-release, bugs might pop up. :-)
* last line in TOC was not correctly terminated (missing .br)
* changed the indentation for displays, it will now
indent to the current indent, not the one at the definition
of the display.
* Equation marks should now work better, indentation also.
* included these bug fixes from Larry Jones:
* The documentation for the argument to .AS was incorrect for MT 4.
* \*(EM should be a double-dash for nroff.
* \nS is in points, not units.
* If \nO isn't set, the default page offset should be .75i for nroff
and .963i for troff.
* .S D should set the point size to \nS, not 10.
* .S was setting the vertical spacing based on the old point size
instead of the new point size.
* Got rid of a spurrious .br that prevented run-in headings from
working.
* Reset the .SP counters in pg@header so that spacing on one page
won't affect spacing on subsequent pages.
* Allow .AU and .AF with no arguments (real mm does, even though it
isn't documented).
* Do .init@reset first thing to initialize the default environment.
* For MT 4, the title should be 4 points larger than the default size,
not 12 point.
* The cover environment needs to be initialized.
* Printing the abstract on the first page needs to be controlled by
the .AS argument.
* Heading eject should be suppressed if the heading immediately
follows the first page stuff (title, author, etc.).
* support for table of contents numbering style (.nr Oc)
* changes the troff empty line height from .25v to .5v
* fixed section page numbering
* fixed a really nasty bug in footnotes that could cause you
to lose the page footer completely if the very first
footnote on the page occurred at just the wrong place
Wed May 15 07:39:32 1996 Jörgen Hägg (jh at axis.se)
* version 1.29
* Syntax and scaling errror fixed, (thanks to Frazer Williams)
* DF/DE will now do a line-break before printing the display.
* Updated the manual for TB,FG,EX and EC.
* Added support for the ms- (and mgs-)macro .IX
* Added indexmacro IX, INITI, IND and INDP, support for
TXIND, TYIND and TZIND.
* PGFORM will now always really reset to the default
values for unspecified arguments.
* Floating displays tested and repaired, it should
now (finanlly) work exactly as the original (I hope :-).
* Should now set year correctly even after 2000.
* Stupid bug in PGNH fixed.
* Corrected line length for figure caption (FG and friends)
Mon Apr 24 07:37:52 1995 Jörgen Hägg (jh at axis.se)
* version 1.28
* Added AVL (AV without date)
* Fixed nroff scaling for W and L.
* Added support for register E and roman/bold
for all Subject/Date/From strings.
* Added support for register C (1-4), (for DRAFTs and other types)
* Will protest if not used with groff.
* Change of the internal number registers @ps and @vs, they
are now in units, and is set in the new macros .@ps and .@vs.
@ps and @vs is now corrected to the real point and vertical size.
* Macro EQ has now correct pointsize.
* Figures should now get the right page number in the index.
* User-defined macros can now be defined for list of
figures, tables, equations and exhibits (T{X,Y}{FG,TB,EC,EX}.
* Space may be omitted between prefix and mark in automatic lists (.AL)
See .LI
Tue Jan 10 07:51:37 1995 Jörgen Hägg (jh at axis.se)
* version 1.27

View File

@ -0,0 +1,66 @@
#
# $Id: Makefile.sim,v 1.32 1999/09/03 05:33:14 jh Exp $
#
# To install mgm separately as tmac.gm:
# make -f Makefile.sub tmacdir=/usr/local/lib/groff/tmac srcdir=. \
# INSTALL_DATA='install -m 644' tmac_m=gm install
#
# or as tmac.m:
#
# tmacdir is the destination for your groff/tmac-directory, srcdir is
# this directory and INSTALL_DATA is the command to install a file with.
# If you dont have 'install': use 'cp'.
# change this to whatever you like
tmacdir=/usr/local/lib/groff/tmac
#tmac_m = gm
tmac_m = m
indexdir = xx
install = install -m 644
# Do not change anything below this line
srcdir = .
version = 1.32
mdate = 1999-09-03
.SUFFIXES: .n .man
all:
install: groff_mm.n groff_mmse.n
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) install
uninstall: groff_mm.n groff_mmse.n
$(MAKE) -f Makefile.sub tmacdir=$(tmacdir) srcdir=$(srcdir) \
INSTALL_DATA='$(install)' tmac_m=$(tmac_m) uninstall_sub
.man.n:
@echo Making $@ from $<
@-rm -f $@
@sed -e "s;@HYPHENFILE@;$(hyphenfile);g" \
-e "s;@FONTDIR@;$(fontdir);g" \
-e "s;@FONTPATH@;$(fontpath);g" \
-e "s;@MACRODIR@;$(tmacdir);g" \
-e "s;@MACROPATH@;$(tmacpath);g" \
-e "s;@DEVICE@;$(DEVICE);g" \
-e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \
-e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \
-e "s;@INDEX_SUFFIX@;$(indexext);g" \
-e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \
-e "s;@MAN1EXT@;$(man1ext);g" \
-e "s;@MAN5EXT@;$(man5ext);g" \
-e "s;@MAN7EXT@;$(man7ext);g" \
-e "s;@TMAC_S@;$(tmac_s);g" \
-e "s;@TMAC_M@;$(tmac_m);g" \
-e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
-e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
-e "s;@VERSION@;$(version);g" \
-e "s;@MDATE@;$(mdate);g" \
-e "s;@g@;$(g);g" \
-e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
$< >$@

View File

@ -1,5 +1,5 @@
#
# $Id: Makefile.sub,v 1.27 1995/04/24 05:37:46 jh Exp $
# $Id: Makefile.sub,v 1.32 1999/09/03 05:33:12 jh Exp $
#
MAN7=groff_mm.n groff_mmse.n
FILES=0.MT 5.MT 4.MT ms.cov se_ms.cov
@ -20,10 +20,10 @@ install_mm: install_m
install_m:
-test -d $(tmacdir) || mkdir $(tmacdir)
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
$(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m_prefix)m
@sed -e "s;^.mso tmac.m;.mso $(tmac_m_prefix)m;g" $(srcdir)/tmac.mse \
> $(tmacdir)/tmac.$(tmac_m_prefix)mse
-rm -f $(tmacdir)/tmac.$(tmac_m)
$(INSTALL_DATA) $(srcdir)/tmac.m $(tmacdir)/tmac.$(tmac_m)
@sed -e "s;^.mso tmac.m;.mso $(tmac_m);g" $(srcdir)/tmac.mse \
> $(tmacdir)/tmac.$(tmac_m)se
@ -32,6 +32,6 @@ uninstall_sub:
-for f in $(LOCALE); do \
test -s $(tmacdir)/mm/$$f || rm -f $(tmacdir)/mm/$$f; \
done
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)m
-rm -f $(tmacdir)/tmac.$(tmac_m_prefix)mse
-rm -f $(tmacdir)/tmac.$(tmac_m)
-rm -f $(tmacdir)/tmac.$(tmac_m)se
-rmdir $(tmacdir)/mm

View File

@ -13,7 +13,8 @@ of tmac.m) and the version of groff.
Any new ideas or improvements are welcome.
Newest version is available with anonymous FTP
at ftp.efd.lth.se [130.235.48.11], as pub/groff/mm<something>.Z
at ftp://ftp.efd.lth.se/pub/groff/mm<something>.gz
or ftp://ftp.axis.se/pub/groff/mm<something>.gz
You can install mgm as a separate package without the configure in groff
with the following command:

View File

@ -1,22 +1,5 @@
.ig \"-*- nroff -*-
Copyright (C) 1991-1995 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
..
.\" $Id: groff_mm.man,v 1.27 1995/04/24 05:37:46 jh Exp $
.\"
.\" $Id: groff_mm.man,v 1.32 1999/09/03 05:33:12 jh Exp $
.\"
.de T2
.ne 2v
@ -35,7 +18,7 @@ the original English.
groff_mm \- groff mm macros
.SH SYNOPSIS
.B groff
.B \-m@TMAC_M_PREFIX@m
.B \-m@TMAC_M@
[
.IR options .\|.\|.
]
@ -55,16 +38,9 @@ the macros OK and PM is not implemented.
.B \(bu
groff mm does not support cut marks
.LP
\fBm@TMAC_M_PREFIX@m\fP is intended to be international. Therefore it is
\fBm@TMAC_M@\fP is intended to be international. Therefore it is
possible to write short national macrofiles which change all
english text to the preferred language. Use \fBm@TMAC_M_PREFIX@mse\fP as an example.
.LP
New macros: \fBAPP\fP, \fBAPPSK\fP, \fBB1\fP, \fBB2\fP, \fBBVL\fP,
\fBCOVER\fP, \fBCOVEND\fP, \fBGETHN\fP, \fBGETPN\fP, \fBGETR\fP,
\fBGETST\fP, \fBINITR\fP, \fBMC\fP, \fBMOVE\fP, \fBMULB\fP,
\fBMULN\fP, \fBMULE\fP, \fBPGFORM\fP, \fBPGNH\fP, \fBSETR\fP,
\fBTAB\fP, \fBVERBON\fP, \fBVERBOFF\fP.
.LP
english text to the preferred language. Use \fBm@TMAC_M@se\fP as an example.
.\"########################################################################
.LP
A file called \fBlocale\fP or \fIlang\fP\fB_locale\fP is read
@ -123,6 +99,12 @@ Set the format with \fBaf\fP:
.LP
\fBMacros:\fP
.TP
.B ")E level text"
Adds \fBtext\fP (heading-text) to the table of contents
with \fBlevel\fP either 0
or between 1-7. See also \fB.H\fP. This macro is used for customized
table of contents.
.TP
.B "1C [1]"
Begin one column processing. An \fB1\fP as argument disables the page-break.
Use wide footnotes, small footnotes may be overprinted.
@ -166,6 +148,7 @@ variable \fBAph\fP is non-zero. This is the default.
The appendix always appear in the 'List of contents' with correct
pagenumber. The name \fIAPPENDIX\fP can be changed by setting
the string \fBApp\fP to the desired text.
The string \fBApptxt\fP contains the current appendix text.
.TP
.B "APPSK name pages text"
Same as \fB.APP\fP, but the pagenr is incremented with \fIpages\fP.
@ -179,14 +162,14 @@ Argument \fIarg\fP controls where the abstract is printed.
.T2 Arg
Placement
.T2 0
Abstract will be printed on page 1 and con the cover sheet if
Abstract will be printed on page 1 and on the cover sheet if
used in the released-paper style (\fBMT 4\fP), otherwise
it will be printed on page 1 without a cover sheet.
.T2 1
Abstract will only be printed on page 1 (\fBMT 4\fP only).
Abstract will only be printed on the cover sheet (\fBMT 4\fP only).
.T2 2
Abstract will be printed only on the cover sheet. The cover sheet
is printed without need for \fBCS\fP.
Abstract will be printed only on the cover sheet (other than \fBMT 4\fP only).
The cover sheet is printed without need for \fBCS\fP.
.in
Abstract is not printed at all in external letters (\fBMT 5\fP).
The \fIindent\fP controls the indentation of both margins, otherwise
@ -200,7 +183,7 @@ Sets the text above the abstract text.
Authors title. \fBAT\fP must appear just after each \fBAU\fP.
The title will show up after the name in the signature block.
.TP
.B "AU name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]"
.B "AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]"
Author information, specifies the author of the memo or paper, and
will be printed on the cover sheet and on other similar places.
\fBAU\fP must appear before \fBTL\fP. The author information
@ -212,6 +195,9 @@ Approval signature, generates an approval line with place for
signature and date. The string \fBAPPROVED:\fP can be changed
with variable \fBLetapp\fP, and the string \fBDate\fP in \fBLetdate\fP.
.TP
.B "AVL [name]"
Letter signature, generates a line with place for signature.
.TP
.B "B [bold-text [prev-font-tex [bold...]]]"
Begin boldface
No limit on the number of arguments.
@ -409,12 +395,19 @@ change the numbering.
It is possible to use \fB.af\fP to change the format of the number.
If number register \fBOf\fP is 1, then the format of title
will use a dash instead of a dot after the number.
.br
The string \fBLe\fP controls the title of the
List of Equations, default is \fILIST OF EQUATIONS\fP.
The List of Equations will only be printed if number register \fBLe\fP
is 1, default 0.
The string \fBLiec\fP contains the word \fIEquation\fP, wich
is printed before the number.
If \fIrefname\fP is used, then the equationnumber is saved with
If \fIrefname\fP is used, then the equation number is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.br
Special handling of the title will occur if
\fBEC\fP is used inside \fBDS\fP/\fBDE\fP, it will not be
affected by the format of \fBDS\fP.
.TP
.B "EF [arg]"
Even-page footer, printed just above the normal page footer
@ -443,6 +436,14 @@ Argument from \fBEF\fP.
Argument from \fBOF\fP.
.in
.TP
.B "EPIC width height [name]"
\fBEPIC\fP draws a box with the given \fIwidth\fP and \fIheight\fP, it will
also print the text \fIname\fP or a default string if
\fIname\fP is not specified..
This is used to include external pictures, just give the size
of the picture.
See \fBPIC\fP
.TP
.B "EQ [label]"
Equation start.
\fBEQ\fP/\fBEN\fP are the delimiters for equations written for \fBeqn\fP.
@ -453,14 +454,20 @@ number register \fBEq\fP is 1. Then the label will appear at the
left margin.
.TP
.B "EX [title [override [flag [refname]]]]"
Exhibit title, arguments are the same as for \fBEC\fP
Exhibit title, arguments are the same as for \fBEC\fP.
\fBEX\fP uses the number register \fBEx\fP as counter.
The string \fBLx\fP controls the title of the
List of Exhibits, default is \fILIST OF EXHIBITS\fP.
The List of Exhibits will only be printed if number register \fBLx\fP
is 1, default 1.
The string \fBLiex\fP contains the word \fIExhibit\fP, wich
is printed before the number.
If \fIrefname\fP is used, then the exhibitnumber is saved with
If \fIrefname\fP is used, then the exhibit number is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.br
Special handling of the title will occur if
\fBEX\fP is used inside \fBDS\fP/\fBDE\fP, it will not be
affected by the format of \fBDS\fP.
.TP
.B "FC [closing]"
Prints \fIYours\ very\ truly,\fP as a formal closing of a letter or
@ -493,15 +500,26 @@ justification (ljust).
.fi
.DT
Argument greater than or equal to 11 is considered as arg 0.
Default for m@TMAC_M_PREFIX@mm is 10.
Default for m@TMAC_M@m is 10.
.TP
.B FE
Footnote end.
.TP
.B "FG [title [override [flag [refname]]]]"
Figure title.
If \fIrefname\fP is used, then the figurenumber is saved with
Figure title, arguments are the same as for \fBEC\fP.
\fBFG\fP uses the number register \fBFg\fP as counter.
The string \fBLf\fP controls the title of the
List of Figures, default is \fILIST OF FIGURES\fP.
The List of Figures will only be printed if number register \fBLf\fP
is 1, default 1.
The string \fBLifg\fP contains the word \fIFigure\fP, wich
is printed before the number.
If \fIrefname\fP is used, then the figure number is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
.br
Special handling of the title will occur if
\fBFG\fP is used inside \fBDS\fP/\fBDE\fP, it will not be
affected by the format of \fBDS\fP.
.TP
.B "FS [label]"
Footnote start.
@ -751,6 +769,52 @@ See \fBI\fP.
.TP
.B IE
Ends the address-specification after \fPIA\fP.
.TP
.B "INITI filename [type]"
Initialize the new index system, sets the filename to collect
index lines in with \fBIND\fP. Argument \fItype\fP selects
teh type of index, page number, header marks or both.
The default is \fIN\fP.
.sp
\fBtype\fP
.in +.5i
.T2 N
Page numbers
.T2 H
Header marks
.T2 B
Both page numbers and header marks, tab separated
.in
.TP
.B "IND arg1 [arg2 [...]]"
\fBIND\fP writes a line in the index file selected by \fBINITI\fP
with all arguments and the page number or header mark separated by tabs.
.in +.5i
\fBExamples\fP
.br
arg1\etpage number
.br
arg1\etarg2\etpage number
.br
arg1\etheader mark
.br
arg1\etpage number\etheader mark
.in
.TP
.B "INDP"
\fBINDP\fP prints the index by running the command specified
by string variable \fBIndcmd\fP, normally \fIsort\ -t\et\fP.
\fBINDP\fP reads the output from the command to form
the index, normally in two columns (can be changed by defining \fBTYIND\fP).
The index is printed with string variable \fBIndex\fP as header,
default is \fBINDEX\fP. One-column processing is
returned after the list. \fBINDP\fP will call the
user-defined macros \fBTXIND\fP, \fBTYIND\fP and \fBTZIND\fP if defined.
\fBTXIND\fP is called before printing \fBINDEX\fP, \fBTYIND\fP
is called instead of printing \fBINDEX\fP. \fBTZIND\fP is called
after the printing and should take care of restoring to normal
operation again.
.TP
.B "INITR filename"
Initialize the refencemacros. References will be written to
@ -758,6 +822,7 @@ Initialize the refencemacros. References will be written to
The first looks for references and the second includes them.
\fBINITR\fP can be used several times, but it is only the first
occurrence of \fBINITR\fP that is active.
Option \fB-U\fP might be needed if \fBunsafe\fP-errors occur.
See also \fBSETR\fP, \fBGETPN\fP and \fBGETHN\fP.
.TP
.B "IR [italic-text [roman-text [italic-text [...]]]"
@ -828,7 +893,12 @@ List item precedes every item in a list. Without argument \fBLS\fP
will print the mark determined by the current list type. By giving
\fBLI\fP one argument, it will use that as the mark instead.
Two arguments to \fBLI\fP will make \fImark\fP a prefix to
the current mark. A zero length \fImark\fP will make a hanging
the current mark.
There will be no separating space between the prefix
and the mark if the second argument is \fB2\fP instead of \fB1\fP.
This behaviour can also be achieved by setting number register
\fBLimsp\fP to zero.
A zero length \fImark\fP will make a hanging
indent instead.
.sp
A blank line is normally printed before the list item. This behaviour
@ -1060,6 +1130,9 @@ to reset everything after a \fBMOVE\fP.
A line-break is done unless the fourth argument is given.
This can be used to avoid the pagenumber on the first page while setting
new width and length.
(It seems as if this macro sometimes doesn't work too well.
Use the command line arguments
to change linelength, pagelength and pageoffset instead. Sorry.)
.TP
.B PGNH
No header is printed on the next page. Used to get rid off
@ -1067,9 +1140,16 @@ the header in letters or other special texts
This macro must be used before any text to inhibit the pageheader
on the first page.
.TP
.B PIC [-L] [-C] [-R] [-I n] filename [width [height]]
\fBPIC\fP includes a Postscript file in the document.
The macro depends on \fBmgm_ref\fP and \fBINITR\fP.
\fB-L\fP, \fB-C\fP, \fB-R\fP and \fB-I n\fP adjusts the picture
or indents it. The optionally \fIwidth\fP and \fIheight\fP
can also be given to resize the picture.
.TP
.B PE
Picture end.
Ends a picture for \fB@g@pic\fP, see the manual for \fB@g@pic\fP.
Ends a picture for \fB@TMAC_M@pic\fP, see the manual for \fB@TMAC_M@pic\fP.
.TP
.B "PF [arg]"
Page footer.
@ -1216,9 +1296,18 @@ to avoid this.
reset tabs to every 5n. Normally used to reset any previous tabpositions.
.TP
.B "TB [title [override [flag [refname]]]]"
Table title.
If \fIrefname\fP is used, then the tablenumber is saved with
\&\fB.SETR\fP, and can be retrieved with \fB.GETST\fP \fIrefname\fP.
Table title, arguments are the same as for \fBEC\fP.
\fBTB\fP uses the number register \fBTb\fP as counter.
The string \fBLt\fP controls the title of the
List of Tables, default is \fILIST OF TABLES\fP.
The List of Tables will only be printed if number register \fBLt\fP
is 1, default 1.
The string \fBLitb\fP contains the word \fITABLE\fP, wich
is printed before the number.
.br
Special handling of the title will occur if
\fBTB\fP is used inside \fBDS\fP/\fBDE\fP, it will not be
affected by the format of \fBDS\fP.
.TP
.B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]"
Table of contents.
@ -1239,9 +1328,13 @@ The rest of the arguments will be printed, centered, before the
table of contents.
.sp
The user-defined macros \fBTX\fP and \fBTY\fP are used if \fBTC\fP is called
with at most four arguments. \fBRX\fP is called before the printing
with at most four arguments. \fBTX\fP is called before the printing
of \fICONTENTS\fP, and \fBTY\fP is called instead of printing \fICONTENTS\fP.
.sp
Equivalent macros can be defined for list of figures, tables, equations
and excibits by defining \fBTXxx\fP or \fBTYxx\fP, where \fBxx\fP
is \fBFg\fP, \fBTB\fP, \fBEC\fP or \fBEX\fP.
.sp
String \fBCi\fP can be set to control the indentations for each heading-level.
It must be scaled, like \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP.
The indentation is normally controlled by the maxlength of headings
@ -1372,14 +1465,21 @@ Floating displays does not generate line break.
.LP
.\"########################################################################
.LP
.B "Strings used in m@TMAC_M_PREFIX@m:"
.B "Strings used in m@TMAC_M@:"
.TP
.B App
A string containing the word "APPENDIX".
.TP
.B Apptxt
.TP
The current appendix text.
.B "EM"
Em dash string
.TP
.B H1txt
Will be updated by \fB.H\fP and \fB.HU\fP to the current heading text.
Also updated in table of contents & friends.
.TP
.B HF
Fontlist for headings, normally "2 2 2 2 2 2 2".
Nonnumeric fontnames may also be used.
@ -1388,6 +1488,12 @@ Nonnumeric fontnames may also be used.
Pointsize list for headings. Normally "0 0 0 0 0 0 0" which is the same as
"10 10 10 10 10 10 10".
.TP
.B Index
.TP
Contains \fIINDEX\fP.
.B Indcmd
.TP
Contains the index command, \fIsort\ -t\et\fP.
.B Lifg
String containing \fIFigure\fP.
.TP
@ -1480,6 +1586,22 @@ String containing "See chapter \e\e*[Qrfh], page \e\en[Qrfp].".
.B Rp
Contains "REFERENCES".
.TP
.B Tcst
Contains current status of table of contents and list of XXXX.
Empty outside \fB.TC\fP.
Useful in user-defined macros like \fB.TP\fP.
.nf
.ta 1.5i
\fBValue Meaning\fP
co Table of contents
fg List of figures
tb List of tables
ec List of equations
ex List of exhibits
ap Appendix
.fi
.ta
.TP
.B Tm
Contains \e(tm, trade mark.
.TP
@ -1487,7 +1609,7 @@ Contains \e(tm, trade mark.
Argument to \fB.nm\fP in \fB.VERBON\fP, default: \fB1\fP.
.\"-----------------------------------
.LP
.B "Number variables used in m@TMAC_M_PREFIX@m:"
.B "Number variables used in m@TMAC_M@:"
.TP
.B Aph
Print an appendix-page for every new appendix
@ -1508,11 +1630,15 @@ gives information about the progress of formatting, default 0.
.B De
Eject after floating display is output [0:1], default 0.
.TP
.B Dsp
Controls the space output before and after static displays
if defined. Otherwise is the value of Lsp used.
.TP
.B Df
Floating keep output [0:5], default 5.
.TP
.B Ds
space before and after display if == 1 [0:1], default 1.
\fBLsp\fP space before and after display if == 1 [0:1], default 1.
.TP
.B Ej
Eject page, default 0.
@ -1526,6 +1652,13 @@ Footnote spacing, default 1.
.B "H1-H7"
Heading counters
.TP
.B H1dot
Append a dot after the level one heading number if > 0. Default is 1.
.TP
.B H1h
.TP
Copy of number register \fBH1\fP, but it is incremented
just before the page break. Useful in user defined header macros.
.B Hb
Heading break level [0:7], default 2.
.TP
@ -1550,15 +1683,19 @@ The real amount of lines is controlled by the variables \fBHps1\fP and
.TP
.B Hps1
This is the number of lines preceding \fB.H\fP when the heading-level
is greater than \fBHps\fP. Value is in units, normally 0.5v.
is greater than \fBHps\fP. Value is in units, normally 0.5.
.TP
.B Hps2
This is the number of lines preceding \fB.H\fP when the heading-level
is less than or equal to \fBHps\fP. Value is in units, normally 1v.
is less than or equal to \fBHps\fP. Value is in units, normally 1.
.TP
.B Hs
Heading space level [0:7], default 2.
.TP
.B Hss
This is the number of lines that follows \fB.H\fP when the heading-level
is less than or equal to \fBHs\fP. Value is in units, normally 1.
.TP
.B Ht
Heading numbering type, default 0.
0 -> multiple (1.1.1 ...)
@ -1586,6 +1723,13 @@ Default: Lf=1, Lt=1, Lx=1, Le=0.
.B Li
List indent, used by .AL, default 6.
.TP
.B Limsp
Flag for space between prefix and mark in automatic lists (.AL).
.br
0\ ==\ no space
.br
1\ ==\ space
.TP
.B Ls
List space, if current listlevel > Ls then no spacing will occur around lists.
Default 99.
@ -1714,7 +1858,7 @@ variable \fBlet*lo-\fP\fItype\fP.
Jörgen Hägg, Lund, Sweden <jh@axis.se>.
.SH FILES
.TP
.B @MACRODIR@/tmac.@TMAC_M_PREFIX@m
.B @MACRODIR@/tmac.@TMAC_M@
.TP
.B @TMAC_MDIR@/*.cov
.TP
@ -1729,4 +1873,4 @@ J
.BR @g@eqn (@MAN1EXT@)
.br
.BR mm (@MAN7EXT@)
.BR m@TMAC_M_PREFIX@mse (@MAN7EXT@)
.BR m@TMAC_M@se (@MAN7EXT@)

View File

@ -1,5 +1,5 @@
.\" -*- nroff -*-
.\" $Id: groff_mmse.man,v 1.27 1995/04/24 05:37:46 jh Exp $
.\"
.\" $Id: groff_mmse.man,v 1.32 1999/09/03 05:33:12 jh Exp $
.\" Skrivet av Jörgen Hägg, Lund, Sverige
.\"
.TH GROFF_MMSE @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
@ -7,7 +7,7 @@
groff_mmse \- svenska mm makro för groff
.SH SYNTAX
.B groff
.B \-m@TMAC_M_PREFIX@mse
.B \-m@TMAC_M@se
[
.IR flaggor .\|.\|.
]
@ -15,7 +15,7 @@ groff_mmse \- svenska mm makro f
.IR filer .\|.\|.
]
.SH BESKRIVNING
\fBm@TMAC_M_PREFIX@mse\fP är en svensk variant av \fBm@TMAC_M_PREFIX@m\fP. Alla texter
\fBm@TMAC_M@se\fP är en svensk variant av \fBm@TMAC_M@\fP. Alla texter
är översatta. En A4 sida får text som är 13 cm bred, 3.5 cm indragning
samt är 28.5 cm hög.
Det finns stöd för brevuppställning enligt svensk standard
@ -68,9 +68,9 @@ parenteser.
Om makrot \fB.TP\fP är definierat anropas det efter utskrift av brevhuvudet.
Där lägger man lämpligen in postadress och annat som brevfot.
.SH "SKRIVET AV"
Jörgen Hägg, Lund, Sweden <jh@axis.se>
Jörgen Hägg, Lund, Sweden <Jorgen.Hagg@axis.se>
.SH FILER
.B @MACRODIR@/tmac.@TMAC_M_PREFIX@mse
.B @MACRODIR@/tmac.@TMAC_M@se
.B @TMAC_MDIR@/se_*.cov
.SH "SE OCKSÅ"
.BR groff (@MAN1EXT@),
@ -79,4 +79,4 @@ J
.BR @g@pic (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@)
.br
.BR m@TMAC_M_PREFIX@m (@MAN7EXT@)
.BR m@TMAC_M@ (@MAN7EXT@)

View File

@ -1,5 +1,5 @@
.\"------------
.\" $Id: 0.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" $Id: 0.MT,v 1.32 1999/09/03 05:33:13 jh Exp $
.\" Cover sheet. Memorandum type 0-3 and "string".
.\"------------
.if !r Au .nr Au 1
@ -11,11 +11,11 @@ subject:
.sp -1.1
.S
.PGFORM
.B
.ft \\*[@sdf_font]
.ll 9c
.fi
.cov*title
.R
.ft
.ll
.nf
.if d cov*title-charge-case \fBCharge Case \\*[cov*title-charge-case]\fP
@ -32,7 +32,7 @@ subject:
.S
.sp -1
.in 0.8c
.B
.ft \\*[@sdf_font]
.nr cov*i 0 1
.while \\n+[cov*i]<=\\n[cov*au] \{\
. cov@print-au1 \\n[cov*i] 1
@ -45,17 +45,17 @@ subject:
. \}
. if \\n[cov*i]<\\n[cov*au] .SP 1
.\}
.R
.ft
.if r cov*mt-tm-max \{\
. SP 1
. nr cov*i 0 1
. B
. ft \\*[@sdf_font]
TM
. in 1.5c
. sp -1
. while \\n+[cov*i]<\\n[cov*mt-tm-max] \\*[cov*mt-tm!\\n[cov*i]]
. in
. R
. ft
.\}
.fi
.PGFORM
@ -83,7 +83,7 @@ TM
.S
.sp -1
.in 0.8c
.B "\\*[cov*new-date]"
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
.fi
.PGFORM

View File

@ -1,11 +1,11 @@
.\"------------
.\" $Id: 4.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" $Id: 4.MT,v 1.32 1999/09/03 05:33:13 jh Exp $
.\" Cover sheet. Memorandum type 4
.\"------------
.de cov@print-title
.if !d cov*title .@error title (.TL) not defined!
.MOVE 2.4c
.S 12
.S +4
.ad c
.fi
.B
@ -41,6 +41,7 @@
.SP 2
.if d cov*abstract \{\
. misc@ev-keep cov*ev
. init@reset
. if \\n[cov*abs-ind]>0 \{\
. in +\\n[cov*abs-ind]u
. ll -\\n[cov*abs-ind]u
@ -60,9 +61,19 @@
. cov@print-title
. cov@print-authors
. cov@print-firm
. cov@print-abstract
. if !\n[cov*abs-arg] .cov@print-abstract
. SP 3
. nr hd*cur-bline \n[nl]
. ds cov*mt-printed
. pg@enable-top-trap
. pg@enable-trap
.\}
.de CS
.pg@disable-top-trap
.SK
.cov@print-title
.cov@print-authors
.cov@print-firm
.cov@print-abstract
..

View File

@ -1,5 +1,5 @@
.\"------------
.\" $Id: 5.MT,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" $Id: 5.MT,v 1.32 1999/09/03 05:33:13 jh Exp $
.\" Cover sheet. Memorandum type 5
.\"------------
.nr cov*mt0-ind 1.1c
@ -18,7 +18,7 @@
.\"------------
.de cov@print-date
.rj 1
.B "\\*[cov*new-date]"
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
.br
..
.\"------------

View File

@ -1,5 +1,5 @@
.\"------------
.\" $Id: ms.cov,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" $Id: ms.cov,v 1.32 1999/09/03 05:33:13 jh Exp $
.\" Cover sheet. Mostly like ms cover.
.\"------------
.de cov@print-title
@ -62,7 +62,7 @@
.\"------------
.de cov@print-date
.SP 2
\\*[cov*new-date]
\f[\\*[@sdf_font]]\\*[cov*new-date]\fP
..
.\"-----------------
.de COVEND

View File

@ -1,3 +1,3 @@
.\" $Id: se_ms.cov,v 1.27 1995/04/24 05:37:50 jh Exp $
.\" $Id: se_ms.cov,v 1.32 1999/09/03 05:33:13 jh Exp $
.mso mm/ms.cov
.nr cur*abstract-ll 11c

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,11 @@
.\" $Id: tmac.mse,v 1.27 1995/04/24 05:37:46 jh Exp $
.\" $Id: tmac.mse,v 1.32 1999/09/03 05:33:12 jh Exp $
.\"
.\" swedish version of mm
.\" See tmac.m for version-information.
.mso tmac.m
.ds @language se
.mso tmac.m
.\"
.ds App Bilaga
.ds Lf Figurer
.ds Lt Tabeller
.ds Lx Uppställningar
@ -44,7 +45,7 @@
.ds Letns!4 Atts.
.ds Letns!5 Enc.
.ds Letns!6 Encs.
.ds Letns!7 Under separate cover
.ds Letns!7 Annat försättsblad
.ds Letns!8 Brev till
.ds Letns!9 Dokument till
.ds Letns!10 Kopia (med atts.) till
@ -65,8 +66,8 @@
.ds MO10 oktober
.ds MO11 november
.ds MO12 december
.ie \\n[yr]<50 .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] 20\\n[yr]
.el .ds cov*new-date \\n[dy] \\*[MO\\n[mo]] 19\\n[yr]
.nr cov*year 1900+\n[yr]
.ds cov*new-date \n[dy] \*[MO\n[mo]] \n[cov*year]
.nr pg*footer-size 4\" 1v+footer+even/odd footer+1v
.\"------------------------------------------------
.\" Dokumentnamn

View File

@ -3,3 +3,4 @@ MAN1=pfbtops.n
OBJS=pfbtops.o
CSRCS=pfbtops.c
XLIBS=$(LIBGROFF)
MLIB=$(LIBM)

View File

@ -29,7 +29,7 @@ int zero_length_line_flag = 0;
// Non-zero means we're using a groff driver.
int driver_extension_flag = 1;
int compatible_flag = 0;
int safer_flag = 0;
int safer_flag = 1;
int command_char = '.'; // the character that introduces lines
// that should be passed through tranparently
static int lf_flag = 1; // non-zero if we should attempt to understand
@ -518,7 +518,7 @@ int main(int argc, char **argv)
int whole_file_flag = 0;
int fig_flag = 0;
#endif
while ((opt = getopt(argc, argv, "T:CDStcvnxzpf")) != EOF)
while ((opt = getopt(argc, argv, "T:CDSUtcvnxzpf")) != EOF)
switch (opt) {
case 'C':
compatible_flag = 1;
@ -529,6 +529,9 @@ int main(int argc, char **argv)
case 'S':
safer_flag = 1;
break;
case 'U':
safer_flag = 0;
break;
case 'f':
#ifdef FIG_SUPPORT
whole_file_flag++;

View File

@ -24,9 +24,11 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#include <errno.h>
#ifndef MATH_H_DECLARES_HYPOT
extern "C" {
double hypot(double, double);
}
#endif
#include "assert.h"
#include "cset.h"

View File

@ -1,5 +1,5 @@
.ig \"-*- nroff -*-
Copyright (C) 1989-1995 Free Software Foundation, Inc.
Copyright (C) 1989-1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@ -35,7 +35,7 @@ the original English.
.SH SYNOPSIS
.B @g@pic
[
.B \-nvC
.B \-nvCSU
]
[
.I filename
@ -45,7 +45,7 @@ the original English.
.B @g@pic
.B \-t
[
.B \-cvzC
.B \-cvzCSU
]
[
.I filename
@ -104,6 +104,11 @@ Safer mode; do not execute
.B sh
commands.
This can be useful when operating on untrustworthy input.
(enabled by default)
.TP
.B \-U
Unsafe mode; revert the default option
.BR \-S .
.TP
.B \-n
Don't use the groff extensions to the troff drawing commands.
@ -734,10 +739,11 @@ macros.
.br
Tpic: Pic for \*(tx
.br
AT&T Bell Laboratories, Computing Science Technical Report No.\ 116,
PIC \(em A Graphics Language for Typesetting.
(This can be obtained by sending a mail message to netlib@research.att.com
with a body of `send\ 116\ from\ research/cstr'.)
Brian W. Kernighan,
PIC \(em A Graphics Language for Typesetting (User Manual).
AT&T Bell Laboratories, Computing Science Technical Report No.\ 116
<URL:http://cm.bell-labs.com/cm/cs/cstr/116.ps.gz>
(revised May, 1991).
.SH BUGS
.LP
Input characters that are illegal for

View File

@ -30,11 +30,14 @@ extern void do_for(char *var, double from, double to,
int by_is_multiplicative, double by, char *body);
extern void do_lookahead();
#undef fmod
#undef rand
#ifndef HAVE_FMOD
extern "C" {
double fmod(double, double);
}
#endif
#undef rand
extern "C" {
int rand();
}

View File

@ -237,7 +237,8 @@ void tex_output::solid_arc(const position &cent, double rad,
milliinches(rad/scale),
milliinches(rad/scale),
-end_angle,
(-end_angle > -start_angle) ? M_PI * 2 - start_angle : -start_angle);
(-end_angle > -start_angle) ? (double)M_PI * 2 - start_angle
: -start_angle);
}
void tex_output::arc(const position &start, const position &cent,

View File

@ -272,6 +272,7 @@ void troff_output::start_picture(double sc,
printf(" %s\n", args);
else
putchar('\n');
printf(".if '\\*(.T'html' \\X(graphic-start(\n");
printf(".\\\" %g %g %g %g\n", ll.x, ll.y, ur.x, ur.y);
printf(".\\\" %.3fi %.3fi %.3fi %.3fi\n", 0.0, height, width, 0.0);
printf(".nr " FILL_REG " \\n(.u\n.nf\n");
@ -290,6 +291,7 @@ void troff_output::finish_picture()
printf(".if \\n(" FILL_REG " .fi\n");
printf(".br\n");
printf(".nr " EQN_NO_EXTRA_SPACE_REG " 0\n");
printf(".if '\\*(.T'html' \\X(graphic-end(\n");
// this is a little gross
set_location(current_filename, current_lineno);
fputs(flyback_flag ? ".PF\n" : ".PE\n", stdout);

View File

@ -513,7 +513,8 @@ static void do_file(const char *filename)
if ((flags & FORCE_LEFT_BRACKET) || !have_text)
pending_line += PRE_LABEL_MARKER;
pending_line += pre;
pending_line += LABEL_MARKER + lt;
char lm = LABEL_MARKER + lt;
pending_line += lm;
pending_line += post;
if ((flags & FORCE_RIGHT_BRACKET) || !have_text)
pending_line += POST_LABEL_MARKER;

View File

@ -29,23 +29,38 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "error.h"
#include "stringclass.h"
static int include_list_length;
static char **include_list;
int compatible_flag = 0;
extern int interpret_lf_args(const char *);
int do_file(const char *filename);
static void
include_path_append(char *path)
{
++include_list_length;
size_t nbytes = include_list_length * sizeof(include_list[0]);
include_list = (char **)realloc((void *)include_list, nbytes);
include_list[include_list_length - 1] = path;
}
void usage()
{
fprintf(stderr, "usage: %s [ -vC ] [ files ]\n", program_name);
fprintf(stderr, "usage: %s [ -vC ] [ -I file ] [ files ]\n", program_name);
exit(1);
}
int main(int argc, char **argv)
{
program_name = argv[0];
include_path_append(".");
int opt;
while ((opt = getopt(argc, argv, "vC")) != EOF)
while ((opt = getopt(argc, argv, "CI:v")) != EOF)
switch (opt) {
case 'v':
{
@ -57,6 +72,9 @@ int main(int argc, char **argv)
case 'C':
compatible_flag = 1;
break;
case 'I':
include_path_append(optarg);
break;
case '?':
usage();
break;
@ -125,9 +143,15 @@ void do_so(const char *line)
int do_file(const char *filename)
{
FILE *fp;
if (strcmp(filename, "-") == 0)
string whole_filename;
if (strcmp(filename, "-") == 0) {
fp = stdin;
else {
whole_filename = filename;
whole_filename += '\0';
}
else if (filename[0] == '/') {
whole_filename = filename;
whole_filename += '\0';
errno = 0;
fp = fopen(filename, "r");
if (fp == 0) {
@ -135,7 +159,34 @@ int do_file(const char *filename)
return 0;
}
}
current_filename = filename;
else {
size_t j;
for (j = 0; j < include_list_length; ++j)
{
char *path = include_list[j];
if (0 == strcmp(path, "."))
whole_filename = filename;
else
whole_filename = string(path) + "/" + filename;
whole_filename += '\0';
errno = 0;
fp = fopen(whole_filename.contents(), "r");
if (fp != 0)
break;
if (errno != ENOENT) {
error("can't open `%1': %2",
whole_filename.contents(), strerror(errno));
return 0;
}
}
if (j >= include_list_length)
{
errno = ENOENT;
error("can't open `%1': %2", filename, strerror(errno));
return 0;
}
}
current_filename = whole_filename.contents();
current_lineno = 1;
set_location();
enum { START, MIDDLE, HAD_DOT, HAD_s, HAD_so, HAD_l, HAD_lf } state = START;

View File

@ -1,5 +1,5 @@
.ig \"-*- nroff -*-
Copyright (C) 1989-1995 Free Software Foundation, Inc.
Copyright (C) 1989-1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@ -25,6 +25,9 @@ the original English.
.B \-Cv
]
[
.BI \-I dir
]
[
.IR files \|.\|.\|.\|
]
.SH DESCRIPTION
@ -53,6 +56,16 @@ Recognize
.B .so
even when followed by a character other than space or newline.
.TP
.BI \-I dir
This option may be used to specify a directory to search for
files (both those on the command line and those named in
.B \&.so
lines).
The current directory is always searched first.
This option may be specified more than once,
the directories will be searched in the order specified.
No directory search is performed for files specified using an absolute path.
.TP
.B \-v
Print the version number.
.SH "SEE ALSO"

View File

@ -229,12 +229,14 @@ void process_input_file(FILE *fp)
c = getc(fp);
}
putchar('\n');
printf(".if '\\*(.T'html' \\X(graphic-start(\n");
current_lineno++;
{
table_input input(fp);
process_table(input);
set_troff_location(current_filename, current_lineno);
if (input.ended()) {
printf(".if '\\*(.T'html' \\X(graphic-end(\n");
fputs(".TE", stdout);
while ((c = getc(fp)) != '\n') {
if (c == EOF) {
@ -383,12 +385,12 @@ options *process_options(table_input &in)
return opt;
char *p = &line[0];
for (;;) {
while (csspace(*p) || *p == ',')
while (!csalpha(*p) && *p != '\0')
p++;
if (*p == '\0')
break;
char *q = p;
while (*q != ' ' && *q != '\0' && *q != '\t' && *q != ',' && *q != '(')
while (csalpha(*q))
q++;
char *arg = 0;
if (*q != '(' && *q != '\0')

View File

@ -669,13 +669,13 @@ void block_entry::do_divert(int alphabetic, int ncols, const string *mw,
break;
if (i > end_col) {
// Every column spanned by this entry has a minimum width.
for (int i = start_col; i <= end_col; i++) {
if (i > start_col) {
for (int j = start_col; j <= end_col; j++) {
if (j > start_col) {
if (sep)
printfs("+%1n", as_string(sep[i - 1]));
printfs("+%1n", as_string(sep[j - 1]));
prints('+');
}
printfs("(n;%1)", mw[i]);
printfs("(n;%1)", mw[j]);
}
printfs(">?\\n[%1]u", span_width_reg(start_col, end_col));
}
@ -2651,13 +2651,13 @@ void table::do_row(int r)
" 0\n");
}
int printed_one = 0;
for (vertical_rule *p = vrule_list; p; p = p->next)
if (p->end_row == r) {
for (vertical_rule *vr = vrule_list; vr; vr = vr->next)
if (vr->end_row == r) {
if (!printed_one) {
prints("." REPEATED_VPT_MACRO " 0\n");
printed_one = 1;
}
p->print();
vr->print();
}
if (printed_one)
prints("." REPEATED_VPT_MACRO " 1\n");

View File

@ -829,7 +829,7 @@ int main(int argc, char **argv)
for (j = int(sizeof(m)/sizeof(m[0])) - 1; j > 0; j--)
if (m[j] != 0)
break;
for (int k = 1; k <= j; k++)
for (k = 1; k <= j; k++)
printf(",%d", m[k]*MULTIPLIER);
int type = 0;
if (m[2] > 0)

View File

@ -1,14 +1,15 @@
MAN7=groff_ms.n me.n msafer.n
MAN7=groff_ms.n groff_man.n groff_me.n groff_msafer.n \
groff_mdoc.n groff_mdoc.samples.n
NORMALFILES=tmac.andoc tmac.pic tmac.ps tmac.psnew tmac.psold tmac.pspic \
tmac.psatk tmac.dvi tmac.tty tmac.tty-char tmac.X tmac.Xps tmac.latin1 \
tmac.lj4 eqnrc troffrc tmac.safer
tmac.lj4 eqnrc troffrc tmac.safer tmac.html tmac.arkup
SPECIALFILES=tmac.an tmac.s
STRIPFILES=tmac.e tmac.doc tmac.doc.old
MDOCFILES=doc-common doc-ditroff doc-nroff doc-syms
mdocdir=$(tmacdir)/mdoc
CLEANADD=stamp-strip stamp-wrap tmac.e-s tmac.doc-s tmac.doc.old-s \
doc-common-s doc-ditroff-s doc-nroff-s doc-syms-s *-wrap
doc-common-s doc-ditroff-s doc-nroff-s doc-syms-s *-wrap
tmac_s_prefix=
tmac_an_prefix=
tmac_wrap=
@ -19,7 +20,7 @@ all: stamp-strip stamp-wrap
install_data: $(NORMALFILES) $(SPECIALFILES) stamp-wrap stamp-strip man.local
-test -d $(tmacdir) || mkdir $(tmacdir)
if test -n "$(tmac_wrap)"; then \
for m in $(tmac_wrap); do \
for m in ""$(tmac_wrap); do \
$(INSTALL_DATA) $$m-wrap $(tmacdir)/tmac.$$m; \
done; \
fi
@ -53,7 +54,7 @@ stamp-strip: $(STRIPFILES) $(MDOCFILES)
stamp-wrap:
if test -n "$(tmac_wrap)"; then \
for m in $(tmac_wrap); do \
for m in ""$(tmac_wrap); do \
rm -f $$m-wrap; \
echo .cp 1 >$$m-wrap; \
echo .so $(sys_tmac_prefix)$$m >>$$m-wrap; \
@ -63,7 +64,9 @@ stamp-wrap:
uninstall_sub:
-if test -n "$(tmac_wrap)"; then \
for m in $(tmac_wrap); do rm -f $(tmacdir)/tmac.$$m; done; \
for m in ""$(tmac_wrap); do \
rm -f $(tmacdir)/tmac.$$m; \
done; \
fi
-for f in $(NORMALFILES) $(STRIPFILES); do rm -f $(tmacdir)/$$f; done
-rm -f $(tmacdir)/tmac.$(tmac_s_prefix)s

View File

@ -0,0 +1,171 @@
.TH GROFF_MAN @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.
.SH NAME
.
groff_man \- groff `an' macros to support generation of man pages
.SH SYNOPSIS
.B groff
.B \-m@TMAC_AN_PREFIX@an
[
.IR options .\|.\|.
]
[
.IR files .\|.\|.
]
.
.SH DESCRIPTION
.
The
.B tmac.an
macros used to generate man pages with
.I groff
were written by James Clark.
This document provides a brief summary of the use of each macro in that
package.
.TP
.BI .TP " title section " [ extra1 "] [" extra2 "] [" extra3 ]
Sets the title of the man page to
.I title
and the section to
.IR section ,
which must take on a value between 1 and\ 8.
The value
.I section
may also have a string appended, e.g. `.pm', to indicate a specific
subsection of the man pages.
.TP
.BI .SH " text for a heading"
Sets up an unindented and unnumbered section heading.
Prints out all the text following `.SH' up to the end of the line in bold
face, with a size slightly smaller than that for indented section headings.
.TP
.BI .SS " text for a heading"
Sets up an indented section heading.
Prints out all the text following `.SS' up to the end of the line in bold
face, with a size slightly larger than that for unindented section headings.
.TP
.BI ".TP [" nnn ]
Sets up an indented paragraph.
The indentation is set to
.I nnn
if that argument is supplied.
The first line of text following this macro is interpreted as a string to be
printed flush-left, as it is appropriate for a label.
It is not interpreted as part of a paragraph, so there is no attempt to fill
the first line with text from the following input lines.
Nevertheless, if the label is not as wide as the indentation, then the
paragraph starts at the same line (but indented), continuing on the
following lines.
If the label is wider than the indentation, then the descriptive part of the
paragraph begins on the line following the label, entirely indented.
The `.TP' macro is the macro used for the explanations you are just reading.
.TP
.BR ".LP " or " .PP " or " .P"
These macros are mutual aliases.
Any of them causes a line break at the current position, followed by a
vertical space downwards by the amount that is set in the `PD' counter.
.TP
.BI ".IP [" designator "] [" nnn ]
Sets up an indented paragraph, using
.I designator
as a tag to mark its beginning.
The indentation is permanently set to
.I nnn
if that argument is supplied.
To set the indentation back to the previous level, one must call some other
macro that uses indented paragraphs, and explicitly provide it with the
value of the previous indentation.
.IP
For example, the following paragraphs were all set up with bullets as the
designator, using `.IP \\(bu 4':
.IP \(bu 4
`IP' is one of the three macros used in
.B tmac.an
to format lists.
.IP \(bu 4
`HP' is another.
This macro produces a paragraph with a left hanging indentation.
.IP \(bu 4
`TP' is another.
This macro produces an unindented label (given by the text on the first line
following `TP'), followed by an indented paragraph with appropriately
descriptive text.
.TP
.BI ".HP [" nnn ]
Sets up paragraphs with hanging left indentation.
The indentation is set to
.I nnn
if that argument is supplied.
The following pargraph illustrates the effect of this macro with the hanging
indentation set to\ 2:
.HP 2
This is a pagraph following an invocation of the `.HP' macro.
As you can see, it produces a paragraph where all lines but the first are
flushed right and are shorter than the preceding lines.
.
.SH "MACROS TO SET FONTS"
.
.TP
.BI .SM
Causes the text on the same line or the text on the next line to appear in a
font that is one point size smaller than the default font.
.TP
.BI .SB
Causes the text on the same line or the text on the next line to appear in
small boldface font.
.TP
.BI ".BI " text
Causes text on the same line to appear alternately in bold face and italic.
The text must be on the same line as the macro call.
Thus `.BI this word and that' would cause `this' and `and' to appear in bold
face, while `word' and `that' appear in italics.
.TP
.BI ".IB " text
Causes text to appear alternately in italic and bold face.
The text must be on the same line as the macro call.
.TP
.BI ".BR " text
Causes text on the same line to appear alternately in bold face and roman.
The text must be on the same line as the macro call.
.TP
.BI ".RB " text
Causes text on the same line to appear alternately in roman and bold face.
The text must be on the same line as the macro call.
.TP
.BI ".R " text
Causes text to appear in roman font.
If no text is present on the line where the macro is called, then the text
of the next line appears in roman.
This is the default font to which text is returned at the end of processing
of the other macros.
.TP
.BI ".B " text
Causes text to appear in bold face.
If no text is present on the line where the macro is called, then the text
of the next line appears in bold face.
.TP
.BI ".I " text
Causes text to appear in italic.
If no text is present on the line where the macro is called, then the text
of the next line appears in italic.
.
.SH "SEE ALSO"
.
Since the
.B tmac.an
macros consist of groups of
.I groff
requests, one can, in principle, supplement the functionality of the
.B tmac.an
macros with individual
.I groff
requests where necessary.
A complete list of these requests is available on the WWW at
.ce 1
http://www.cs.pdx.edu/~trent/gnu/groff/groff_toc.html
.
.SH AUTHOR
.
This manual page was originally written for the Debian GNU/Linux system by
Susan G. Kleinmann <sgk@debian.org>, corrected by Werner Lemberg
<wl@gnu.org>, and is now part of the GNU troff distribution.

View File

@ -0,0 +1,422 @@
.\" $NetBSD: mdoc.7,v 1.14 1999/08/30 00:41:28 ross Exp $
.\"
.\" Copyright (c) 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mdoc.7 8.2 (Berkeley) 12/30/93
.\"
.Dd November 24, 1997
.Os
.Dt MDOC 7
.Sh NAME
.Nm mdoc
.Nd quick reference guide for the
.Nm \-mdoc
macro package
.Sh SYNOPSIS
.Nm groff
.Fl m Ns Ar doc
.Ar files ...
.Sh DESCRIPTION
The
.Nm \-mdoc
package is a set of content-based and domain-based macros
used to format the
.Bx
man pages.
The macro names and their meanings are
listed below for quick reference; for
a detailed explanation on using the package,
see the tutorial sampler
.Xr mdoc.samples 7 .
.Pp
The macros are described in two groups, the first
includes the structural and physical page layout macros.
The second contains the manual and general text domain
macros which differentiate the
.Nm -\mdoc
package from other
.Xr troff
formatting packages.
.Sh PAGE STRUCTURE DOMAIN
.Ss Title Macros
To create a valid manual page, these three macros, in this order,
are required:
.Bl -tag -width "xxxx.Os OPERATINGxSYSTEM [version/release]" -compact
.It Li "\&.Dd " Ar "Month day, year"
Document date.
.It Li "\&.Dt " Ar "DOCUMENT_TITLE [section] [volume]"
Title, in upper case.
.It Li "\&.Os " Ar "OPERATING_SYSTEM [version/release]"
Operating system
.Pq Tn BSD .
.El
.Ss Page Layout Macros
Section headers, paragraph breaks, lists and displays.
.Bl -tag -width flag -compact
.It Li \&.Sh
Section Headers.
Valid headers, in the order of presentation:
.Bl -tag -width "RETURN VALUES" -compact
.It Ar NAME
Name section, should include the
.Ql \&.Nm
or
.Ql \&.Fn
and the
.Ql \&.Nd
macros.
.It Ar SYNOPSIS
Usage.
.It Ar DESCRIPTION
General description, should include
options and parameters.
.It Ar RETURN VALUES
Sections two and three function calls.
.It Ar ENVIRONMENT
Describe environment variables.
.It Ar FILES
Files associated with the subject.
.It Ar EXAMPLES
Examples and suggestions.
.It Ar DIAGNOSTICS
Normally used for section four device interface diagnostics.
.It Ar ERRORS
Sections two and three error and signal
handling.
.It Ar SEE ALSO
Cross references and citations.
.It Ar STANDARDS
Conformance to standards if applicable.
.It Ar HISTORY
If a standard is not applicable, the history
of the subject should be given.
.It Ar BUGS
Gotchas and caveats.
.It Ar SECURITY CONSIDERATIONS
Security issues to be aware of.
.It Ar other
Customized headers may be added at
the authors discretion.
.El
.It Li \&.Ss
Subsection Headers.
.It Li \&.Pp
Paragraph Break.
Vertical space (one line).
.It Li \&.D1
(D-one) Display-one
Indent and display one text line.
.It Li \&.Dl
(D-ell) Display-one literal.
Indent and display one line of literal text.
.It Li \&.Bd
Begin-display block.
Display options:
.Bl -tag -width "xoffset string " -compact
.It Fl ragged
Unjustified (ragged edges).
.It Fl filled
Filled, and if
.Xr troff 1 ,
also justified.
.It Fl unfilled
Unfilled, unjustified.
.It Fl literal
Literal text or code.
.It Fl file Ar name
Read in named
.Ar file
and display.
.It Fl offset Ar string
Offset display.
Acceptable
.Ar string
values:
.Bl -tag -width indent-two -compact
.It Ar left
Align block on left (default).
.It Ar center
Approximate center margin.
.It Ar indent
Six constant width spaces (a tab).
.It Ar indent-two
Two tabs.
.It Ar right
Left aligns block 2 inches from
right.
.It Ar xx Ns Cm n
Where
.Ar xx
is a number from
.No \&4 Ns Cm n
to
.No \&9\&9 Ns Cm n .
.It Ar Aa
Where
.Ar Aa
is a callable macro name.
.It Ar string
The width of
.Ar string
is used.
.El
.El
.It Li \&.Ed
End-display (matches \&.Bd).
.It Li \&.Bl
Begin-list.
Create lists or columns. Options:
.Bl -tag -width flag -compact
.It Em List-types
.Bl -column "xbullet " -compact
.It Fl bullet Ta "Bullet Item List"
.It Fl dash Ta "Dash Item List"
.It Fl hyphen Ta "(as per" Fl dash ")"
.It Fl item Ta "Unlabeled List"
.It Fl enum Ta "Enumerated List"
.It Fl tag Ta "Tag Labeled List"
.It Fl diag Ta "Diagnostic List"
.It Fl hang Ta "Hanging Labeled List"
.It Fl ohang Ta "Overhanging Labeled List"
.It Fl inset Ta "Inset or Run-on Labeled List"
.It Fl column Ta "Multiple Columns"
.El
.It Em List-parameters
.Bl -tag -width "xcompact " -compact
.It Fl offset
(All lists.) See
.Ql \&.Bd
begin-display above.
.It Fl width
.Pf ( Fl tag
and
.Fl hang
lists only.)
See
.Ql \&.Bd .
This parameter is effectively required for
.Fl tag
lists.
.It Fl compact
(All lists.)
Suppresses blank lines.
.El
.El
.It Li \&.El
End-list.
.It Li \&.It
List item.
.El
.Sh MANUAL AND GENERAL TEXT DOMAIN MACROS
The manual and general text domain macros are special in that
most of them are parsed for callable macros
for example:
.Bl -tag -width ".Op Fl s Ar filex" -offset indent
.It Li "\&.Op Fl s Ar file"
Produces
.Op Fl s Ar file
.El
.Pp
In this example, the option enclosure macro
.Ql \&.Op
is parsed, and calls the callable content macro
.Ql \&Fl
which operates on the argument
.Ql s
and then calls the callable content macro
.Ql \&Ar
which operates on the argument
.Ql file .
Some macros may be callable, but are not parsed and vice versa.
These macros are indicated in the
.Em parsed
and
.Em callable
columns below.
.Pp
Unless stated, manual domain macros share a common syntax:
.Pp
.Dl \&.Va argument [\ .\ ,\ ;\ :\ (\ )\ [\ ]\ argument \...\ ]
.Pp
.Sy Note :
Opening and closing
punctuation characters are only recognized as such if they are presented
one at a time.
The string
.Ql "),"
is not recognized as punctuation and will be output with a leading white
space and in what ever font the calling macro uses.
The
argument list
.Ql "] ) ,"
is recognized as three sequential closing punctuation characters
and a leading white space is not output between the characters
and the previous argument (if any).
The special meaning of a punctuation character may be escaped
with the string
.Ql \e& .
For example the following string,
.Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent
.It Li "\&.Ar file1\ , file2\ , file3\ )\ ."
Produces
.Ar file1 , file2 , file3 ) .
.El
.ne 1i
.Ss Manual Domain Macros
.Bl -column "Name" "Parsed" "Callable" -compact
.It Em Name Parsed Callable Description
.It Li \&Ad Ta Yes Ta Yes Ta Address. "(This macro may be deprecated.)"
.It Li \&Ar Ta Yes Ta Yes Ta "Command line argument."
.It Li \&Cd Ta \&No Ta \&No Ta "Configuration declaration (section four only)."
.It Li \&Cm Ta Yes Ta Yes Ta "Command line argument modifier."
.It Li \&Dv Ta Yes Ta Yes Ta "Defined variable (source code)."
.It Li \&Er Ta Yes Ta Yes Ta "Error number (source code)."
.It Li \&Ev Ta Yes Ta Yes Ta "Environment variable."
.It Li \&Fa Ta Yes Ta Yes Ta "Function argument."
.It Li \&Fd Ta \&No Ta \&No Ta "Function declaration."
.It Li \&Fl Ta Yes Ta Yes Ta "Command line flag."
.It Li \&Fn Ta Yes Ta Yes Ta "Function call (also .Fo and .Fc)."
.It Li \&Ic Ta Yes Ta Yes Ta "Interactive command."
.It Li \&Li Ta Yes Ta Yes Ta "Literal text."
.It Li \&Nm Ta Yes Ta Yes Ta "Command name."
.It Li \&Op Ta Yes Ta Yes Ta "Option (also .Oo and .Oc)."
.It Li \&Ot Ta Yes Ta Yes Ta "Old style function type (Fortran only)."
.It Li \&Pa Ta Yes Ta Yes Ta "Pathname or file name."
.It Li \&St Ta Yes Ta Yes Ta "Standards (-p1003.2, -p1003.1 or -ansiC)"
.It Li \&Va Ta Yes Ta Yes Ta "Variable name."
.It Li \&Vt Ta Yes Ta Yes Ta "Variable type (Fortran only)."
.It Li \&Xr Ta Yes Ta Yes Ta "Manual Page Cross Reference."
.El
.Ss General Text Domain Macros
.Bl -column "Name" "Parsed" "Callable" -compact
.It Em "Name Parsed Callable Description"
.It Li \&%A Ta Yes Ta \&No Ta "Reference author."
.It Li \&%B Ta Yes Ta Yes Ta "Reference book title."
.It Li \&%\&C Ta \&No Ta \&No Ta "Reference place of publishing (city)."
.It Li \&%\&D Ta \&No Ta \&No Ta "Reference date."
.It Li \&%J Ta Yes Ta Yes Ta "Reference journal title."
.It Li \&%N Ta \&No Ta \&No Ta "Reference issue number."
.It Li \&%\&O Ta \&No Ta \&No Ta "Reference optional information."
.It Li \&%P Ta \&No Ta \&No Ta "Reference page number(s)."
.It Li \&%R Ta \&No Ta \&No Ta "Reference report Name."
.It Li \&%T Ta Yes Ta Yes Ta "Reference article title."
.It Li \&%V Ta \&No Ta \&No Ta "Reference volume."
.It Li \&Ac Ta Yes Ta Yes Ta "Angle close quote."
.It Li \&Ao Ta Yes Ta Yes Ta "Angle open quote."
.It Li \&Ap Ta Yes Ta Yes Ta "Insert apostrophe; switch to .No mode "
.It Li \&Aq Ta Yes Ta Yes Ta "Angle quote."
.It Li \&At Ta \&No Ta \&No Ta Tn "AT&T UNIX."
.It Li \&Bc Ta Yes Ta Yes Ta "Bracket close quote."
.It Li \&Bf Ta \&No Ta \&No Ta "Begin font mode."
.It Li \&Bo Ta Yes Ta Yes Ta "Bracket open quote."
.It Li \&Bq Ta Yes Ta Yes Ta "Bracket quote."
.It Li \&Bx Ta Yes Ta Yes Ta "BSD" .
.It Li \&Db Ta \&No Ta \&No Ta "Debug (default is \\*qoff\\*q)."
.It Li \&Dc Ta Yes Ta Yes Ta "Double close quote."
.It Li \&Do Ta Yes Ta Yes Ta "Double open quote."
.It Li \&Dq Ta Yes Ta Yes Ta "Double quote."
.It Li \&Ec Ta Yes Ta Yes Ta "Enclose string close quote."
.It Li \&Ef Ta \&No Ta \&No Ta "End font mode."
.It Li \&Em Ta Yes Ta Yes Ta "Emphasis (traditional English)."
.It Li \&Eo Ta Yes Ta Yes Ta "Enclose string open quote."
.It Li \&Fx Ta \&No Ta \&No Ta "FreeBSD."
.It Li \&No Ta Yes Ta Yes Ta "Normal text (no-op)."
.It Li \&Ns Ta Yes Ta Yes Ta "No space."
.It Li \&Nx Ta \&No Ta \&No Ta "NetBSD."
.It Li \&Pc Ta Yes Ta Yes Ta "Parenthesis close quote."
.It Li \&Pf Ta Yes Ta \&No Ta "Prefix string."
.It Li \&Po Ta Yes Ta Yes Ta "Parenthesis open quote."
.It Li \&Pq Ta Yes Ta Yes Ta "Parentheses quote."
.It Li \&Qc Ta Yes Ta Yes Ta "Strait Double close quote."
.It Li \&Ql Ta Yes Ta Yes Ta "Quoted literal."
.It Li \&Qo Ta Yes Ta Yes Ta "Strait Double open quote."
.It Li \&Qq Ta Yes Ta Yes Ta "Strait Double quote."
.It Li \&Re Ta \&No Ta \&No Ta "Reference end."
.It Li \&Rs Ta \&No Ta \&No Ta "Reference start."
.It Li \&Sc Ta Yes Ta Yes Ta "Single close quote."
.It Li \&So Ta Yes Ta Yes Ta "Single open quote."
.It Li \&Sq Ta Yes Ta Yes Ta "Single quote."
.It Li \&Sm Ta \&No Ta \&No Ta "Space mode (default is \\*qon\\*q)."
.It Li \&Sx Ta Yes Ta Yes Ta "Section Cross Reference."
.It Li \&Sy Ta Yes Ta Yes Ta "Symbolic (traditional English)."
.It Li \&Tn Ta Yes Ta Yes Ta "Trade or type name (small Caps)."
.It Li \&Ux Ta Yes Ta Yes Ta "UNIX."
.It Li \&Xc Ta Yes Ta Yes Ta "Extend argument list close."
.It Li \&Xo Ta Yes Ta Yes Ta "Extend argument list open."
.El
.\" .It Sy \&Hf Ta \&No Ta \&No Ta "Include file with header"
.Pp
Macro names ending in
.Ql q
quote remaining items on the argument list.
Macro names ending in
.Ql o
begin a quote which may span more than one line of input and
are close quoted with the matching macro name ending in
.Ql c .
Enclosure macros may be nested and are limited to
eight arguments.
.Pp
Note: the extended argument list macros
.Pf ( Ql \&.Xo ,
.Ql \&.Xc )
and the function enclosure macros
.Pf ( Ql \&.Fo ,
.Ql \&.Fc )
are irregular.
The extended list macros are used when the number of macro arguments
would exceed the
.Xr troff
limitation of nine arguments.
.Sh CONFIGURATION
For site specific configuration of the macro package,
see the file
.Pa /usr/src/share/tmac/README .
.Sh FILES
.Bl -tag -width "tmac.doc-ditroff" -compact
.It Pa tmac.doc
Manual and general text domain macros.
.It Pa tmac.doc-common
Common structural macros and definitions.
.It Pa tmac.doc-nroff
Site dependent
.Xr nroff
style file.
.It Pa tmac.doc-ditroff
Site dependent
.Xr troff
style file.
.It Pa tmac.doc-syms
Special defines (such as the standards macro).
.El
.Sh SEE ALSO
.Xr mdoc.samples 7

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,274 @@
.\" Copyright (c) 1980 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms are permitted
.\" provided that the above copyright notice and this paragraph are
.\" duplicated in all such forms and that any documentation,
.\" advertising materials, and other materials related to such
.\" distribution and use acknowledge that the software was developed
.\" by the University of California, Berkeley. The name of the
.\" University may not be used to endorse or promote products derived
.\" from this software without specific prior written permission.
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" @(#)me.7 6.4 (Berkeley) 4/13/90
.\"
.\" Modified for groff by jjc@jclark.com
.hc %
.TH GROFF_ME @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.UC 3
.SH NAME
groff_me \- troff macros for formatting papers
.SH SYNOPSIS
.B "groff \-me"
[ options ]
file ...
.br
.B "troff \-me"
[ options ]
file ...
.SH DESCRIPTION
This manual page describes the GNU version of the \-me macros,
which is part of the groff document formatting system.
This version can be used with both GNU troff and Unix troff.
This package of
.I troff
macro definitions provides a canned formatting
facility for tech%nical papers in various formats.
.PP
The macro requests are defined below.
Many
.I troff
requests are unsafe in conjunction with
this package, however, these requests may be used with
impunity after the first .pp:
.nf
.IP
.ta \w'.sz +n 'u
\&.bp begin new page
\&.br break output line here
\&.sp n insert n spacing lines
\&.ls n (line spacing) n=1 single, n=2 double space
\&.na no alignment of right margin
\&.ce n center next n lines
\&.ul n underline next n lines
.fi
.PP
Output of the
.I pic,
.I eqn,
.I refer,
and
.I tbl
preprocessors
is acceptable as input.
.SH FILES
@MACRODIR@/tmac.e
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@)
.br
\-me Reference Manual, Eric P. Allman
.br
Writing Papers with Groff Using \-me
.tr &.
.SH REQUESTS
This list is incomplete;
see
.I "The \-me Reference Manual"
for interesting details.
.PP
.ta \w'.eh \'x\'y\'z\' 'u +\w'Initial 'u +\w'Cause 'u
.br
.di x
\ka
.br
.di
.in \nau
.ti 0
Request Initial Cause Explanation
.ti 0
Value Break
.br
.in \nau
.ti 0
\&.(c - yes Begin centered block
.ti 0
\&.(d - no Begin delayed text
.ti 0
\&.(f - no Begin footnote
.ti 0
\&.(l - yes Begin list
.ti 0
\&.(q - yes Begin major quote
.ti 0
\&.(x \fIx\fR - no Begin indexed item in index
.I x
.ti 0
\&.(z - no Begin floating keep
.ti 0
\&.)c - yes End centered block
.ti 0
\&.)d - yes End delayed text
.ti 0
\&.)f - yes End footnote
.ti 0
\&.)l - yes End list
.ti 0
\&.)q - yes End major quote
.ti 0
\&.)x - yes End index item
.ti 0
\&.)z - yes End floating keep
.ti 0
\&.++ \fIm H\fR - no Define paper section.
.I m
defines the part of the paper, and can be
.B C
(chapter),
.B A
(appendix),
.B P
(preliminary, e.g., abstract, table of contents, etc.),
.B B
(bibliography),
.B RC
(chapters renumbered from page one each chapter),
or
.B RA
(appendix renumbered from page one).
.ti 0
\&.+c \fIT\fR - yes Begin chapter (or appendix, etc., as
set by .++).
.I T
is the chapter title.
.ti 0
\&.1c 1 yes One column format on a new page.
.ti 0
\&.2c 1 yes Two column format.
.ti 0
\&.EN - yes Space after equation
produced by
.I eqn
or
.IR neqn .
.ti 0
\&.EQ \fIx y\fR - yes Precede equation; break out and
add space.
Equation number is
.IR y .
The optional argument \fIx\fR
may be
.I I
to indent equation (default),
.I L
to left-adjust the equation, or
.I C
to center the equation.
.ti 0
\&.GE - yes End \fIgremlin\fP picture.
.ti 0
\&.GS - yes Begin \fIgremlin\fP picture.
.ti 0
\&.PE - yes End \fIpic\fP picture.
.ti 0
\&.PS - yes Begin \fIpic\fP picture.
.ti 0
\&.TE - yes End table.
.ti 0
\&.TH - yes End heading section of table.
.ti 0
\&.TS \fIx\fR - yes Begin table; if \fIx\fR is
.I H
table has repeated heading.
.ti 0
\&.b \fIx\fR no no Print
.I x
in boldface; if no argument switch to boldface.
.ti 0
\&.ba \fI+n\fR 0 yes Augments the base indent by
.I n.
This indent is used to set the indent on regular text
(like paragraphs).
.ti 0
\&.bc no yes Begin new column
.ti 0
\&.bi \fIx\fR no no Print
.I x
in bold italics (nofill only)
.ti 0
\&.bu - yes Begin bulleted paragraph
.ti 0
\&.bx \fIx\fR no no Print \fIx\fR in a box (nofill only).
.ti 0
\&.ef \fI\'x\'y\'z\'\fR \'\'\'\' no Set even footer to x y z
.ti 0
\&.eh \fI\'x\'y\'z\'\fR \'\'\'\' no Set even header to x y z
.ti 0
\&.fo \fI\'x\'y\'z\'\fR \'\'\'\' no Set footer to x y z
.ti 0
\&.hx - no Suppress headers and footers on next page.
.ti 0
\&.he \fI\'x\'y\'z\'\fR \'\'\'\' no Set header to x y z
.ti 0
\&.hl - yes Draw a horizontal line
.ti 0
\&.i \fIx\fR no no Italicize
.I x;
if
.I x
missing, italic text follows.
.ti 0
\&.ip \fIx y\fR no yes Start indented paragraph,
with hanging tag
.IR x .
Indentation is
.I y
ens (default 5).
.ti 0
\&.lp yes yes Start left-blocked paragraph.
.ti 0
\&.np 1 yes Start numbered paragraph.
.ti 0
\&.of \fI\'x\'y\'z\'\fR \'\'\'\' no Set odd footer to x y z
.ti 0
\&.oh \fI\'x\'y\'z\'\fR \'\'\'\' no Set odd header to x y z
.ti 0
\&.pd - yes Print delayed text.
.ti 0
\&.pp no yes Begin paragraph.
First line indented.
.ti 0
\&.r yes no Roman text follows.
.ti 0
\&.re - no Reset tabs to default values.
.ti 0
\&.sh \fIn x\fR - yes Section head follows,
font automatically bold.
.I n
is level of section,
.I x
is title of section.
.ti 0
\&.sk no no Leave the next page blank.
Only one page is remembered ahead.
.ti 0
\&.sm \fIx\fR - no Set
.I x
in a smaller pointsize.
.ti 0
\&.sz \fI+n\fR 10p no Augment the point size by
.I n
points.
.ti 0
\&.tp no yes Begin title page.
.ti 0
\&.u \fIx\fR - no Underline argument (even in \fItroff\fR).
(Nofill only).
.ti 0
\&.uh - yes Like .sh but unnumbered.
.ti 0
\&.xp \fIx\fR - no Print index
.I x.

View File

@ -0,0 +1,59 @@
.ig \"-*- nroff -*-
Copyright (C) 1989-1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
..
.TH GROFF_MSAFER @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
groff_msafer \- groff -msafer macros
.SH SYNOPSIS
.B groff
.B \-msafer
[
.IR options .\|.\|.
]
[
.IR files .\|.\|.
]
.SH DESCRIPTION
The -msafer macros remove the
.BR open ,
.BR opena ,
.BR pso ,
.BR sy ,
and
.B pi
requests.
These macros should be used when processing input from
an untrustworthy source.
For maximum safety,
they should be the first -m option on the command-line.
Normally they are invoked using the
.B \-S
option of groff, which will also pass
.B @g@pic
the
.B \-S
flag.
This is now the default; to get the old behaviour, use the
.B \-U
flag.
.SH FILES
.B @MACRODIR@/tmac.safer
.SH "SEE ALSO"
.BR groff (@MAN1EXT@),
.BR @g@troff (@MAN1EXT@),
.BR @g@pic (@MAN1EXT@)

View File

@ -31,6 +31,14 @@
.if !rD .nr D 0
.if !rC .nr C 0
.if rP .pn 0\nP
.de set-an-margin
. ie '\*(.T'html' \{\
. nr an-margin 0i
. \}
. el \{\
. nr an-margin \\n[IN]
. \}
..
.\" .TH title section extra1 extra2 extra3
.de TH
.cp 0
@ -41,17 +49,22 @@
.ie \\n[.$]>3 .ds an-extra2 "\\$4
.el .ds an-extra2 \"Sun Release 4.0
.ie \\n[.$]>4 .ds an-extra3 "\\$5
.el .ds an-extra3 \"UNIX Programmer's Manual
.el .ds an-extra3 \"System Programmer's Manual
.ds an-init
\\..
.DT
.nr IN 7.2n
.ie '\*(.T'html' \{\
. nr IN 1.3i
.\}
.el \{\
. nr IN 7.2n
.\}
.nr LL 6.5i
.PD
.nr PS 10 \" normal point-size
.nr SN 3n \" the indentation of sub-sub-headings relative to sub-headings
.nr an-level 1
.nr an-margin \\n[IN]
.set-an-margin
.nr an-prevailing-indent \\n[IN]
.nr an-tag-sep 1n
.nr an-no-space-flag 0
@ -75,9 +88,14 @@
.de an-header
.an-init
.ev 1
.sp .5i
.tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
.sp |1i
.ie '\*(.T'html' \{\
. tl ''''
.\}
.el \{\
. sp .5i
. tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
. sp |1i
.\}
.ev
.ns
..
@ -87,7 +105,12 @@
.af an-page-letter a
.de an-p-footer
.ev 1
.ds an-page-string \\n%
.ie '\*(.T'html' \{\
. ds an-page-string "
. ds an-extra1 "
. ds an-extra2 "
.\}
.el .ds an-page-string \\n%
.if rX \{\
. if \\n%>\\nX \{\
. nr an-page-letter \\n%-\\nX
@ -98,15 +121,18 @@
. if e .tl '\\*[an-page-string]'\\*[an-extra1]'\\*[an-extra2]'
.\}
.el .tl '\\*[an-extra2]'\\*[an-extra1]'\\*[an-page-string]'
.if '\*(.T'html' \{\
. tl ''''
.\}
.ev
..
.de SH
.sp \\n[PD]u
.nr an-level 1
.nr an-margin \\n[IN]
.set-an-margin
.nr an-prevailing-indent \\n[IN]
.fi
.in \\n[IN]u
.in \\n[an-margin]u
.ti 0
.it 1 an-trap
.nr an-no-space-flag 1
@ -119,7 +145,7 @@
.de SS
.sp \\n[PD]u
.nr an-level 1
.nr an-margin \\n[IN]
.set-an-margin
.nr an-prevailing-indent \\n[IN]
.fi
.in \\n[IN]u
@ -178,14 +204,16 @@
.nr an-div? 0
.br
.di
.in \\n[an-margin]u+\\n[an-prevailing-indent]u
.ti -\\n[an-prevailing-indent]u
.ie \\n[dl]+\\n[an-tag-sep]>\\n[an-prevailing-indent] \{\
. in \\n[an-margin]u
. ne 2v+1u
. an-div
. br
. in \\n[an-margin]u+\\n[an-prevailing-indent]u
.\}
.el \{\
. in \\n[an-margin]u+\\n[an-prevailing-indent]u
. ti -\\n[an-prevailing-indent]u
. chop an-div
. ne 1v+1u
\\*[an-div]\\h'|\\n[an-prevailing-indent]u'\c

View File

@ -0,0 +1,178 @@
.\"
.\" a simple set of macros to provide HTML documents with basic www functionality
.\"
.\" please can someone with more skill at creating macros improve on this
.\" many thanks - Gaius
.\"
.\" suggestion: maybe when run with non -Thtml all the urls should appear as
.\" references.
.\"
.\" some simple html additions to any macro set
.\"
.de HTML
.if '\*(.T'html' \X^html:\\$*^
..
.de HTMLINDEX
.if '\*(.T'html' \X^index:\\$*^
..
.\"
.\" BODYCOLOR - $1 is foreground color
.\" $2 is background color
.\" $3 is the color of an active hypertext link
.\" $4 is the color of a hypertext link not yet visited
.\" $5 is the color of a visited hypertext link
.\"
.de BODYCOLOR
. HTML <body text=\\$1 bgcolor=\\$2 link=\\$3 alink=\\$4 vlink=\\$5>
..
.\"
.\" BACKGROUND - $1 is the background image file
.\"
.de BACKGROUND
. HTML <body background=\\$1>
..
.\"
.\" URL - $1 is the classical underlined blue text
.\" $2 is the url
.\"
.de URL
. ie '\*(.T'html' \{\
. HTML <a href="\\$2">\\$1</a>
. \}
. el \{\
\\$1 (<url: \\$2>)
. \}
..
.\"
.\" LINK - $1 is the classical underlined blue text
.\" $2 is the URL *with* the textual reference within a document
.\"
.\" example: .LINK "a nice heading" "#heading123"
.\"
.\" provides a link from "a nice heading" to the
.\" textual name reference "heading123"
.\"
.\" .LINK "The GNU FSF" "" "www.gnu.org"
.\"
.\" deprecated - use the URL macro instead
.\"
.\"
.de LINK
. ie !'\\$3'' \{\
. @error the LINK macro has changed, use the URL (or FTP if appropriate) macro here
. @error you are advised to replace with URL or FTP macro "\\$1" "\\$3#\\$2"
. URL "\\$1" "\\$3#\\$2"
. \}
. el \{\
. ie '\*(.T'html' \{\
. HTML <a href=\\$2>\\$1</a>
. \}
. el \{\
. URL "\\$1" "\\$2"
. \}
. \}
..
.\"
.\" FTP - $1 is the classical underlined blue text
.\" $2 is the ftp url
.de FTP
. ie '\*(.T'html' \{\
. HTML <a href=\\$2>\\$1</a>
. \}
. el \{\
$1 (<ftp:\\$2>)
. \}
..
.\"
.\" MAILTO - generate html email reference
.\" $1 is the email address
.\" $2 is the optional name
.\"
.\" example .MAILTO fred@foo.bar "Fredrick Bloggs"
.\"
.de MAILTO
.\"
.\" force reset after a potential heading by performing some motion..
.\" how do we do this --fixme--
.\" \h'\w' ''\h'-\w' '' doesn't work..
. ie '\*(.T'html' \{\
. ie '\\$2'' \{\
. HTML "<a href=mailto:\\$1>\\$1</a>"
. \}
. el \{\
. HTML "<a href=mailto:\\$1>\\$2</a>"
. \}
. \}
. el \{\
\s-2\fB<email:\\$1>\fP\s+2
. \}
..
.\"
.\"
.\" TAG - generate an html name $1
.\"
.de TAG
.HTML <a name="\\$1"></a>
..
.\"
.\" IMAGE - reference an image
.\" $1 is the image file
.\" $2 is the x width (default if absent 400 pixels)
.\" $3 is the y width (default if absent is the x value)
.\"
.de IMAGE
. ie '\*(.T'html' \{\
. nr HTMLWIDTH 400
. if '\\$2'' \{\
. nr HTMLWIDTH \\$2
. \}
. nr HTMLHEIGHT \\n[HTMLWIDTH]
. if '\\$3'' \{\
. nr HTMLHEIGHT \\$3
. \}
. HTML <img src="\\$1" width=\\n[HTMLWIDTH height=\\n[HTMLHEIGHT]>
. \}
. el \{\
. B1
\fB\s-2<img src=\\$1>\fP\s+2
. B2
. \}
..
.\"
.\" CDFTP - if we are processing this on machine \\$1 then we create a
.\" FTP reference using \\$2 --> \\$3
.\"
.\" otherwise we create a URL from \\$2 --> \\$4
.\"
.\" example:
.\"
.\" .CDFTP "foobar" "somegnusoftware.tar.gz" \
.\" "ftp://ftp.gnu.org/gnu/somegnusoftware.tar.gz" \
.\" "../../../TARGZ/somegnusoftware.tar.gz"
.\"
.\" meaning if we are on machine foobar then generate an ftp url
.\" to the GNU anonymous ftp server otherwise generate a file url
.\" to a local copy (cdrom maybe)
.\"
.\" Useful when one machine is designated as a cdrom burner and another
.\" designated as an appache server.
.\" The same source for web pages can be burnt onto a CD and also
.\" served across the network. It doesn't solve the problem of one
.\" machine doing both though :-(
.\"
.\"
.de CDFTP
. sy /bin/rm -f /tmp/tmac.n
. sy /bin/echo ".ds HOSTNAME `hostname --short`" > /tmp/tmac.n
. so /tmp/tmac.n
. sy /bin/rm -f /tmp/tmac.n
. ie '\\*[HOSTNAME]'\\$1' \{\
. FTP "\\$2" "\\$3"
. \}
. el \{\
. URL "\\$2" "\\$4"
. \}
..
.\" it doesn't make sense to use hyphenation with html, so we turn it off.
.hy 0
.nr HY 0

View File

@ -0,0 +1,58 @@
.nr _C \n(.C
.cp 0
.ftr CW CR
.ftr C CR
.ftr CO CI
.ftr CX CBI
.ftr H HR
.ftr HO HI
.ftr HX HBI
.ftr NX NBI
.char \(ru \D'l .5m 0'
.char \(ul \v'.25m'\D'l .5m 0'\v'-.25m'
.char \(br \v'.25m'\D'l 0 -1m'\v'.75m'
.char \(rn \v'-.75m'\D'l .5m 0'\v'.75m'
.char ~ \v'-.55m'\\s[\\n(.s/2u]\v'.2m'\(ti\v'-.2m'\s0\v'.55m'
.char ^ \v'-.55m'\\s[\\n(.s/2u]\v'.3m'\(ha\v'-.3m'\s0\v'.55m'
.if !c\(va .char \(va \o'\(ua\(da'
.if !c\(em .char \(em --
.if !c\(en .char \(en \-
.if !c\(fi .char \(fi fi
.if !c\(fl .char \(fl fl
.if !c\(ff .char \(ff ff
.if !c\(Fi .char \(Fi ffi
.if !c\(Fl .char \(Fl ffl
.if !c\(ci .char \(ci \v'-.25m'\h'.05m'\D'c .5m'\h'.05m'\v'.25m'
.if !c\(sq .char \(sq \h'.05m'\D'l .5m 0'\D'l 0 -.5m'\D'l -.5m 0'\D'l 0 .5m'\h'.55m'
.if !c\(ga .char \(ga \Z'\v'-.7m'\D'l .22m .18m''\h'.33m'
.if !c\(dg .char \(dg \Z'\h'.25m'\v'.15m'\D'l 0 -.8m'\v'.2m'\h'-.195m'\
\D'l .39m 0''\h'.5m'
.if !c\(dd .char \(dd \Z'\h'.25m'\v'.15m'\D'l 0 -.8m'\v'.2m'\h'-.195m'\
\D'l .39m 0'\v'.4m'\D'l -.39m 0''\h'.5m'
.if !c\(lq .char \(lq ``
.if !c\(rq .char \(rq ''
.if !c\(Bq .char \(bq ,,
.if !c\(OE .char \(OE O\h'-.25m'E
.if !c\(oe .char \(oe o\h'-.14m'e
.if !c\(ah .char \(ah \v'-.55m'\s[\En[.s]/2u]v\s0\v'.55m'
.if !c\(ao .char \(ao \v'-.55m'\s[\En[.s]*6u/10u]\D'c .25m'\s0\v'.55m'
.if !c\(ho .char \(ho \s[\En[.s]/2u]\v'.4m'c\v'-.4m'\s0
.if !c\(lh .char \(lh <-
.if !c\(rh .char \(rh ->
.if !c\(bq .tr \(bq,
.if !c\(aq .tr \(aq'
.if '\*(.T'html' .char \[radicalex] \h'-\w'\(sr'u'\[radicalex]\h'\w'\(sr'u'
.if !\n(_C .mso tmac.pspic
.cp \n(_C
.\" now turn off all headers and footers for ms, me and mm macro sets
.if d EF .EF '''
.if d EH .EH '''
.if d OF .OF '''
.if d OH .OH '''
.if d ef .ef '''
.if d of .of '''
.if d oh .oh '''
.if d eh .eh '''
.\" it doesn't make sense to use hyphenation with html, so we turn it off.
.hy 0
.nr HY 0

View File

@ -5331,6 +5331,13 @@ struct string_list {
string_list(const char *ss) : s(ss), next(0) {}
};
static void prepend_string(const char *s, string_list **p)
{
string_list *l = new string_list(s);
l->next = *p;
*p = l;
}
static void add_string(const char *s, string_list **p)
{
while (*p)
@ -5341,8 +5348,8 @@ static void add_string(const char *s, string_list **p)
void usage(const char *prog)
{
errprint(
"usage: %1 -abivzCER -wname -Wname -dcstring -mname -nN -olist -rcN\n"
" -Tname -Fdir -Mdir [ files ]\n",
"usage: %1 -abivzCERU -wname -Wname -dcs -ffam -mname -nnum -olist\n"
" -rcn -Tname -Fdir -Mdir [files...]\n",
prog);
exit(USAGE_EXIT_CODE);
}
@ -5360,11 +5367,12 @@ int main(int argc, char **argv)
int tflag = 0;
int fflag = 0;
int nflag = 0;
int safer_flag = 1; // safer by default
int no_rc = 0; // don't process troffrc
int next_page_number;
opterr = 0;
hresolution = vresolution = 1;
while ((c = getopt(argc, argv, "abivw:W:zCEf:m:n:o:r:d:F:M:T:tqs:R"))
while ((c = getopt(argc, argv, "abivw:W:zCEf:m:n:o:r:d:F:M:T:tqs:RU"))
!= EOF)
switch(c) {
case 'v':
@ -5444,6 +5452,9 @@ int main(int argc, char **argv)
case 't':
// silently ignore these
break;
case 'U':
safer_flag = 0; // unsafe behaviour
break;
case '?':
usage(argv[0]);
default:
@ -5501,6 +5512,8 @@ int main(int argc, char **argv)
}
if (!no_rc)
process_startup_file();
if (safer_flag)
prepend_string("safer", &macros);
while (macros) {
process_macro_file(macros->s);
string_list *tem = macros;
@ -5727,7 +5740,8 @@ static node *read_draw_node()
maxpoints *= 2;
a_delete oldpoint;
}
if (!get_hunits(&point[i].h, 'm')) {
if (!get_hunits(&point[i].h,
type == 'f' || type == 't' ? 'u' : 'm')) {
err = 1;
break;
}

View File

@ -2428,7 +2428,13 @@ bracket_node::~bracket_node()
node *bracket_node::copy()
{
bracket_node *on = new bracket_node;
for (node *tem = list; tem; tem = tem->next)
node *last, *tem;
for (tem = list; tem; tem = tem->next) {
if (tem->next)
tem->next->last = tem;
last = tem;
}
for (tem = last; tem; tem = tem->last)
on->bracket(tem->copy());
return on;
}

View File

@ -49,6 +49,7 @@ class token_node;
struct node {
node *next;
node *last;
node();
node(node *n);
node *add_char(charinfo *c, environment *, hunits *widthp);

View File

@ -1,3 +1,60 @@
1999-12-21 Werner LEMBERG <wl@gnu.org>
* README: Fixed ftp GNU address.
1999-12-13 Werner LEMBERG <wl@gnu.org>
* device.c: Use extern declarations of strtok(), strchr(), and
getenv() only if not defined as macros.
1999-11-18 Larry Jones <larry.jones@sdrc.com>
* xditview.c: Add fallback_resources to allow running without
access to the app-defaults file.
* Imakefile: Added rule to create app-defaults to a C header file.
* GXditview-ad.h: New file containing fallback default resources.
* ad2c: New file to do the app-defaults -> C header file
conversion.
1999-10-27 Larry Jones <larry.jones@sdrc.com>
* font.c (DisposeFontSizes): If there's a problem loading a font,
xditview will fall-back and use the default font, but it hasn't
checked before unloading fonts which could result in unloading the
default font (possibly multiple times) and then X errors.
1999-09-13 Werner LEMBERG <wl@gnu.org>
* Imakefile (extraclean): Added Makefile.
* xditview.c (main, MakePrompt): Fixing compilation warnings.
* TODO: Imakefile should be replaced with a configure script.
1999-09-12 Werner LEMBERG <wl@gnu.org>
* Imakefile (GROFF_FONTPATH): Another addition.
* device.c (FONTPATH): Update to match current groff version.
1999-09-11 Larry Jones <larry.jones@sdrc.com>
* Imakefile (GROFF_LIBDIR, GROFF_FONTPATH): Update to match
current groff version.
* Dvi.c (Realize, Destroy), DviP.h, draw.c (setFillGC), gray*.bm:
Allow 8 levels of gray rather than just 1.
* draw.c (DrawFilledCircle, DrawFilledEllipse, DrawFilledPolygon):
Draw outlines to prevent gaps between abutting figures.
1999-05-27 Werner LEMBERG <wl@gnu.org>
* xtotroff.c (usage): Fixed typo.
Mon Sep 11 10:40:33 1995 James Clark <jjc@jclark.com>
* device.c (INT_MIN, INT_MAX): Don't define if already defined.

Some files were not shown because too many files have changed in this diff Show More