summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2012-02-20 17:27:43 +0000
committerRichard Maw <richard.maw@codethink.co.uk>2012-02-20 17:30:17 +0000
commit766d6b1afab82d786741434fcc80431c3db7690e (patch)
tree28795c1bf6038fb4bab07e3ac1e4270c4a78c150
parent4281275ada31523b07d0c19f70cff2871774603c (diff)
downloadgroff-766d6b1afab82d786741434fcc80431c3db7690e.tar.gz
Revert back to groff-1_21
-rw-r--r--ChangeLog8689
-rw-r--r--ChangeLog.1195236
-rw-r--r--ChangeLog.1203050
-rw-r--r--MANIFEST4
-rw-r--r--Makefile.comm22
-rw-r--r--Makefile.in30
-rw-r--r--NEWS25
-rwxr-xr-xconfigure57
-rw-r--r--configure.ac5
-rw-r--r--contrib/groffer/ChangeLog38
-rw-r--r--contrib/groffer/Makefile.sub16
-rw-r--r--contrib/groffer/perl/groffer.man20
-rwxr-xr-xcontrib/groffer/perl/groffer.pl13
-rw-r--r--contrib/groffer/perl/man.pl7
-rw-r--r--contrib/groffer/shell/ChangeLog.02
-rw-r--r--contrib/groffer/shell/README_SH10
-rw-r--r--contrib/groffer/shell/groffer.man22
-rw-r--r--contrib/groffer/version.sh8
-rw-r--r--contrib/hdtbl/ChangeLog15
-rw-r--r--contrib/hdtbl/examples/color_nested_tables.roff21
-rw-r--r--contrib/hdtbl/examples/common.roff6
-rw-r--r--contrib/hdtbl/examples/fonts_n.in2
-rw-r--r--contrib/hdtbl/examples/fonts_x.in2
-rw-r--r--contrib/mm/ChangeLog68
-rw-r--r--contrib/mm/Makefile.sub4
-rw-r--r--contrib/mm/groff_mm.man36
-rw-r--r--contrib/mm/m.tmac53
-rw-r--r--contrib/mm/mmroff.man18
-rw-r--r--contrib/mm/refer-mm.tmac106
-rw-r--r--contrib/mom/BUGS36
-rw-r--r--contrib/mom/ChangeLog22
-rw-r--r--contrib/mom/NEWS6
-rw-r--r--contrib/mom/groff_mom.man8
-rw-r--r--contrib/mom/momdoc/appendices.html16
-rw-r--r--contrib/mom/momdoc/color.html2
-rw-r--r--contrib/mom/momdoc/cover.html2
-rw-r--r--contrib/mom/momdoc/definitions.html2
-rw-r--r--contrib/mom/momdoc/docelement.html275
-rw-r--r--contrib/mom/momdoc/docprocessing.html2
-rw-r--r--contrib/mom/momdoc/goodies.html2
-rw-r--r--contrib/mom/momdoc/graphical.html2
-rw-r--r--contrib/mom/momdoc/headfootpage.html2
-rw-r--r--contrib/mom/momdoc/images.html2
-rw-r--r--contrib/mom/momdoc/inlines.html2
-rw-r--r--contrib/mom/momdoc/intro.html2
-rw-r--r--contrib/mom/momdoc/letters.html2
-rw-r--r--contrib/mom/momdoc/macrolist.html105
-rw-r--r--contrib/mom/momdoc/rectoverso.html2
-rw-r--r--contrib/mom/momdoc/refer.html2
-rw-r--r--contrib/mom/momdoc/reserved.html63
-rw-r--r--contrib/mom/momdoc/tables-of-contents.html39
-rw-r--r--contrib/mom/momdoc/toc.html31
-rw-r--r--contrib/mom/momdoc/typesetting.html2
-rw-r--r--contrib/mom/momdoc/using.html2
-rw-r--r--contrib/mom/om.tmac537
-rw-r--r--contrib/pdfmark/ChangeLog24
-rw-r--r--contrib/pdfmark/Makefile.sub5
-rw-r--r--contrib/pdfmark/pdfmark.ms10
-rw-r--r--doc/Makefile.in3
-rw-r--r--doc/Makefile.sub3
-rw-r--r--doc/groff.texinfo649
-rw-r--r--doc/meref.me15
-rw-r--r--doc/pic.ms12
-rw-r--r--doc/webpage.ms48
-rw-r--r--font/devpdf/DESC.in11
-rw-r--r--font/devpdf/Foundry.in114
-rw-r--r--font/devpdf/Makefile.sub131
-rw-r--r--font/devpdf/util/BuildFoundries.pl446
-rw-r--r--m4/groff.m418
-rw-r--r--man/groff_out.man9
-rw-r--r--man/roff.man4
-rw-r--r--src/devices/grodvi/Makefile.sub2
-rw-r--r--src/devices/grohtml/Makefile.sub2
-rw-r--r--src/devices/grohtml/html-text.cpp9
-rw-r--r--src/devices/grohtml/post-html.cpp13
-rw-r--r--src/devices/grolbp/Makefile.sub2
-rw-r--r--src/devices/grolj4/Makefile.sub2
-rw-r--r--src/devices/gropdf/Makefile.sub54
-rw-r--r--src/devices/gropdf/TODO31
-rw-r--r--src/devices/gropdf/gropdf.man1064
-rw-r--r--src/devices/gropdf/gropdf.pl3019
-rw-r--r--src/devices/grops/Makefile.sub2
-rw-r--r--src/devices/grops/grops.man4
-rw-r--r--src/devices/grotty/tty.cpp15
-rw-r--r--src/libs/libdriver/input.cpp5
-rw-r--r--src/preproc/eqn/main.cpp6
-rw-r--r--src/preproc/grn/Makefile.sub2
-rw-r--r--src/preproc/html/Makefile.sub2
-rw-r--r--src/preproc/pic/pic.man31
-rw-r--r--src/preproc/tbl/table.cpp69
-rw-r--r--src/preproc/tbl/tbl.man51
-rw-r--r--src/roff/groff/Makefile.sub2
-rw-r--r--src/roff/groff/groff.cpp25
-rw-r--r--src/roff/groff/groff.man35
-rw-r--r--src/roff/groff/pipeline.h4
-rw-r--r--src/roff/grog/grog.man49
-rw-r--r--src/roff/grog/grog.pl21
-rw-r--r--src/roff/grog/grog.sh21
-rw-r--r--src/roff/troff/env.cpp9
-rw-r--r--src/roff/troff/input.cpp10
-rw-r--r--src/roff/troff/mtsm.cpp15
-rw-r--r--src/utils/afmtodit/afmtodit.man11
-rw-r--r--src/utils/pfbtops/pfbtops.man9
-rw-r--r--src/utils/tfmtodit/tfmtodit.cpp10
-rw-r--r--test-groff.in3
-rw-r--r--tmac/Makefile.sub5
-rw-r--r--tmac/an-old.tmac15
-rw-r--r--tmac/doc-common47
-rw-r--r--tmac/doc-syms42
-rw-r--r--tmac/doc.tmac24
-rw-r--r--tmac/e.tmac235
-rw-r--r--tmac/groff_man.man13
-rw-r--r--tmac/groff_mdoc.man113
-rw-r--r--tmac/groff_ms.man7
-rw-r--r--tmac/groff_www.man4
-rw-r--r--tmac/pdf.tmac738
-rw-r--r--tmac/refer-me.tmac99
-rw-r--r--tmac/refer-ms.tmac86
-rw-r--r--tmac/refer.tmac343
-rw-r--r--tmac/s.tmac152
-rw-r--r--tmac/troffrc3
121 files changed, 9242 insertions, 17548 deletions
diff --git a/ChangeLog b/ChangeLog
index 02385d03..3665e858 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,418 +1,9 @@
-2012-01-10 Bruno Haible <bruno@clisp.org>
-
- Fix handling of MAKEFLAGS variable.
-
- * Makefile.in (MAKE_K_FLAGS): Improved definition,
- as explained and discussed in
-
- http://lists.gnu.org/archive/html/groff/2012-01/msg00039.html
-
-2012-01-03 Ingo Schwarze <schwarze@usta.de>
-
- Improve parallel builds.
-
- Some hdtbl and mom examples want PostScript formatting which
- requires the `DESC' file to be ready; however, the top-level
- `Makefile.in' doesn't currently enforce the proper order of building
- of `font/dev' before `contrib/hdtbl', `contrib/mom', and so on.
-
- Given that `font/dev' and the contrib examples are in different
- child processes of the recursive make system, it doesn't seem
- possible to solve this using clean Makefile dependencies. We now
- enforce the order by splitting the shell command invoking recursive
- make in the top level `Makefile.in'.
-
- * Makefile.in (ALLDIRS): Remove `OTHERDIRS'.
- (dodirs): Updated.
- (`$(TARGETS)'): Handle `OTHERDIRS' separately.
-
-2012-01-03 Kristaps Dzonsons <kristaps@bsd.lv>
-
- [mdoc] Add `-isoC-2011'.
-
- * tmac/doc-syms (doc-str-St--isoC-2011): Add it.
- * tmac/groff_mdoc.man: Document it.
-
-2011-12-26 Deri James <deri@chuzzlewit.demon.co.uk>
-
- * font/devpdf/Makefile.sub: Only build fonts on first `make'.
-
-2011-12-08 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (.tl): Improve documentation.
- Wording suggested by Keith Marshall
- <keithmarshall@users.sourceforge.net>.
-
-2011-12-01 Werner LEMBERG <wl@gnu.org>
-
- [me] Fix behaviour of centered block.
- Problem and possible fix reported in thread starting at
-
- http://lists.gnu.org/archive/html/groff/2011-11/msg00002.html
-
- * tmac/e.tmac (`(c'): Always start with a new line.
-
-2011-12-01 Ingo Schwarze <schwarze@usta.de>
-
- [man] Print volume headers like mdoc.
-
- * tmac/an-old.tmac (an-init): Add default volume name if fifth
- argument to `.TH' is missing.
-
-2011-11-22 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_man.man: Minor documentation improvements.
- Suggested by Jeff Conrad <jeff_conrad@msn.com>.
-
-2011-11-14 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Improve doc for calling undefined identifiers.
-
-2011-11-14 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Improve documentation of `_' and friends.
-
-2011-10-31 Werner LEMBERG <wl@gnu.org>
-
- Fix compiler warnings.
-
- * src/preproc/eqn/main.cpp (do_file), src/roff/troff/env.cpp
- (environment::print_env), src/roff/troff/mtsm.cpp
- (statem::display_state): Add syntactical sugar.
-
- * src/utils/tfmtodit/tfmtodit.cpp (char_info_word): Use `unsigned
- char' for all members.
-
- * src/devices/grohtml/html-text.cpp (html_text::remove_def): Remove
- unused variable `q'.
- * src/devices/grohtml/post-html.cpp
- (html_printer::lookahead_for_tables): Remove unused variable `left'
- and `seen_text'.
-
-2011-10-23 Ingo Schwarze <schwarze@openbsd.org>
-
- [mdoc] Synchronize string tables with the mandoc(1) utility.
-
- * tmac/doc-common: Add many architecture names used in NetBSD and
- OpenBSD (and "arm" from FreeBSD) and remove the duplicate OS version
- entry for Darwin-10.6.0.
-
- * tmac/doc-syms: Add many library names used in NetBSD and FreeBSD.
-
- * tmac/groff_mdoc.man: Document all supported architecture names, OS
- versions, and library names.
-
-2011-09-11 Joseph Koshy <jkoshy@users.sourceforge.net>
-
- [mdoc] Add some library strings.
-
- * tmac/doc-syms: Add `libdwarf' and `libelf'.
- * tmac/groff_mdoc.man: Document them.
-
-2011-08-14 Deri James <deri@chuzzlewit.demon.co.uk>
-
- [gropdf] More minor fixes.
-
- * font/devpdf/Makefile.sub (MOSTLYCLEANADD): Don't attempt to
- install 'util/BuildFoundries', only used in 'make'.
-
- * src/devices/gropdf/gropdf.pl (<top>, GetType1): Make STDOUT and
- any font files read to be accessed in binary rather than text mode.
- Prevents errors when running on systems set up for UTF-8.
-
-2011-08-10 Deri James <deri@chuzzlewit.demon.co.uk>
-
- [gropdf] Minor updates and fixes.
-
- * src/devices/gropdf/gropdf.pl: Change command line option `-fy' to
- `-y' for consistency.
- Better support for Windows platform.
- (do_x): Handle keywords `pagename' and `switchtopage'.
-
- * doc/groff.texinfo, src/devices/gropdf/gropdf.man: Updated.
-
- * font/devpdf/Foundry: Renamed to...
- * font/devpdf/Foundry.in: This.
- Add default alias font names.
-
- * font/devpdf/util/BuildFoundries.pl: This is now an installation
- helper script and gets not longer installed.
- Support alternative font file names (separated with `!').
-
- * font/devpdf/Makefile.sub: Fixes to work with a separate build
- directory.
- Font files are now build at `make' time; this makes `test-groff'
- work with -Tpdf.
-
- * font/devpdf/util/Makefile.sub: Removed.
-
- * Makefile.in (DEVDIRS, OTHERDIRS, EXTRADIRS): Handle devpdf
- specially.
-
-2011-07-29 Daiki Ueno <ueno@unixuser.org>
-
- Fix cross building.
- Problem reported by Christophe Jarry <christophe.jarry@ouvaton.org>.
-
- * Makefile.in ($GNULIBDIRS): Pass original config arguments to
- src/libs/gnulib/configure.
-
-2011-06-25 Deri James <deri@chuzzlewit.demon.co.uk>
-
- Add new output device `gropdf'.
-
- * font/devpdf/*: New device files for gropdf.
- * src/devices/gropdf/*: New device.
-
- * Makefile.comm (install_dev, uninstall_dev): Handle more
- subdirectories.
- * Makefile.in (DEVDIRS, OTHERDIRS, EXTRADIRS): Add directories
- related to gropdf.
- * MANIFEST: Updated.
- * test-groff.in (GROFF_BIN_PATH): Updated.
-
- * tmac/Makefile.sub (NORMALFILES): Updated.
- * tmac/pdf.tmac: New file.
- * tmac/troffrc: Updated.
-
- * doc/groff.texinfo: Document it.
- * doc/Makefile.in, doc/Makefile.sub (groff_bin_dirs): Udpated.
- * doc/pic.ms: Updated.
-
- * man/groff_out.man, src/devices/grops/grops.man,
- src/preproc/pic/pic.man, src/roff/groff/groff.man,
- src/utils/afmtodit/afmtodit.man, src/utils/pfbtops/pfbtops.man:
- Updated.
-
- * contrib/pdfmark/pdfmark.ms: Updated.
-
-2011-07-20 George HELFFRICH <ghfbsd@gmail.com>
-
- Improve line numbering support in tbl and with me macros.
-
- * tmac/e.tmac (n1, n2, TH, PS): Implement it.
- (@h, @n, @o, @t, @k, )b, (c, (q, )q, (l, )l, (f, @q, PE): Updated.
- * doc/meref.me: Document changes.
-
- * src/preproc/tbl/table.cpp (ROW_START_LINE_REG, ROW_SAVE_LINE_REG,
- ROW_MAX_LINE_REG, REPEATED_NM_SET_MACRO, REPEATED_NM_SUS_MACRO): New
- macros.
- (table::init_output): Define REPEATED_NM_SET_MACRO and
- REPEATED_NM_SUS_MACRO.
- (table::print_single_hline, table::print_double_hline,
- table::define_bottom_macro, table::do_row, table::do_top,
- table::do_bottom): Updated.
-
- * doc/webpage.ms: Updated.
-
-2011-07-12 Ted Harding <ted.harding@wlandres.net>
- Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Mention trick to get abutting rules.
-
-2011-07-03 Ben Laurie <benl@FreeBSD.org>
-
- Fix clang warnings.
-
- * src/libs/libdriver/input.cpp (odd): Use parentheses.
-
- * src/roff/troff/mtsm.cpp (state_set::is_in): Fix parentheses;
- previous code always tested for bit 0.
-
-2011-07-03 Guillem Jover <guillem@debian.org>
-
- mdoc: Update more OS versions strings.
-
- * tmac/doc-common: Add versions strings for NetBSD, OpenBSD,
- FreeBSD, and DragonFly.
-
-2011-04-08 Michail Vidiassov <master@iaas.msu.ru>
-
- mdoc: Update various strings related to Mac OS X and FreeBSD.
-
- * tmac/doc-common: Add strings for FreeBSD 8.2 and Darwin 9.7-11.0.
- * tmac/doc-syms: Add strings -lbsm and -lSystem.
-
-2011-03-29 Christian Weisgerber <naddy@mips.inka.de>
-
- Fix compilation issues with gcc 2.95.
-
- * src/roff/troff/input.cpp (my_input_iterator): Define as an alias
- for `input_iterator' which is predefined by an old libstdc++.
-
-2011-03-29 Ingo Schwarze <schwarze@usta.de>
-
- Add another POSIX standard.
-
- * tmac/doc-syms: Add POSIX 1003.1b.
-
-2011-03-29 Christian Weisgerber <naddy@mips.inka.de>
-
- Fix build with non-GNU make.
-
- * Makefile.in ($TARGETS): We must not pass `$MDEFINES' recursively
- down to the sub-makes started in src/libs/gnulib, because that
- directory has its own values for `$top_srcdir' etc., and overriding
- those from the command line will cause the build to fail.
- Currently, `$MAKEOVERRIDES' will prevent the recursive passing of
- those overrides with GNU make, but not with other make(1)
- implementations. It looks like all targets that require `$MDEFINES'
- set them explicitly anyway, so we shouldn't need to set `$MDEFINES'
- on the top level.
-
-2011-03-21 Jan Vcelak <jvcelak@redhat.com>
- Bernd Warken
-
- [groffer] Remove hardcoded path to 'libdir/groff/groffer' directory.
-
- * configure.ac: add GROFFERDIR variables.
-
- * Makefile.in: add and handle variable groffer_dir
-
- * m4/groff.m4: set up the --with-grofferdir command line option.
-
-2011-03-18 Werner LEMBERG <wl@gnu.org>
-
- [troff] Improve error message.
-
- * src/roff/troff/input.cc (token::delimiter): Improve error message.
- Suggested by Doug McIlroy <doug@cs.dartmouth.edu>.
-
-2011-03-04 Werner LEMBERG <wl@gnu.org>
-
- [mdoc] Within .An, .Aq, .Ao, and .Ac now use `<' and `>'.
- Problem reported by Ulrich Spörlein <uqs@spoerlein.net>
-
- * tmac/doc.tmac (Aq, Ao, Ac): Implement it to follow RFC 822 and RFC
- 2822.
-
-2011-02-14 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Add another example for .em request
- Based on a patch from Anton Shepelev <anton.txt@gmail.com>.
-
-2011-01-31 Werner LEMBERG <wl@gnu.org>
-
- More fixes for Savannah bug #32301.
-
- * src/devices/grops/Makefile.sub (XLIBS),
- src/devices/grodvi/Makefile.sub, src/devices/grolj4/Makefile.sub,
- src/devices/grohtml/Makefile.sub, src/devices/grolbp/Makefile.sub:
- Add $(LIBGNU).
-
-2011-01-31 Werner LEMBERG <wl@gnu.org>
-
- Fix Savannah bug #32301.
-
- * src/roff/groff/Makefile.sub (XLIBS), src/preproc/grn/Makefile.sub,
- src/preproc/html/Makefile.sub: Add $(LIBGNU).
-
-2011-01-29 Krzysztof Żelechowski <giecrilj@stegny.2a.pl>
-
- * doc/groff.texinfo: Complete documentation on output devices.
-
-2011-01-28 Werner LEMBERG <wl@gnu.org>
-
- Handle `refer*.tmac'.
-
- * tmac/Makefile.sub (NORMALFILES): Add `refer*.tmac'.
- * tmac/refer-mm.tmac: Moved to contrib/mm.
-
-2011-01-28 Werner LEMBERG <wl@gnu.org>
-
- Improve `refer' support of -me.
-
- * tmac/refer.tmac, tmac/refer-me.tmac, tmac/refer-ms.tmac,
- tmac/refer-mm.tmac: New files. The code in refer.tmac is
- based on the old code from `s.tmac'.
-
- * tmac/s.tmac: Remove direct refer support and include
- `refer-ms.tmac' instead.
- * tmac/e.tmac: Remove direct refer support and include
- `refer-me.tmac' instead.
-
- * NEWS: Updated.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- [groff.texinfo]: Updates.
-
- * doc/groff.texinfo: Document groff's `-j' option.
- Add dummy section for `chem' preprocessor.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- Update `grog'.
-
- * src/roff/grog/{groff.sh,groff.pl}: `groff' now calls `pic'
- automatically if `grap' or `chem' is used.
- `chem' has been folded into `groff'.
- * src/roff/grog/grog.man: Updated.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- Make `groff -G' imply `-p'.
-
- * src/roff/groff/groff.cpp (main): Implement it.
- * src/roff/groff/groff.man: Updated.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- Integrate `chem' into `groff' (new option -j).
-
- * src/roff/groff/groff.cpp (CHEM_INDEX): New constant.
- (main) ['j']: Add `chem'.
- (synopsis, help): Updated.
- * src/roff/troff/pipeline.h (MAX_COMMANDS): Increase to 14.
-
- * src/roff/groff/groff.man: Document new command line option.
- * NEWS: Updated.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: `chem' is now part of groff.
-
-2011-01-22 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Improve description of `.de'.
-
- Based on suggestions by Ted Harding and Deri James.
-
-2011-01-20 Colin Watson <cjwatson@debian.org>
-
- Fix handling of wide characters in no-SGR mode.
-
- * src/devices/grotty/tty.cpp (tty_printer::make_underline): Only
- emit a single backspace in no-SGR mode. less (at least) backspaces
- over a character at a time.
- (tty_printer::make_bold): Likewise.
-
-2011-01-19 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/pic.man: Add pic manual to `SEE ALSO' section.
-
-2011-01-14 Werner LEMBERG <wl@gnu.org>
-
- Split ChangeLog.
-
- * ChangeLog: Split off older entries into...
- * ChangeLog.119, ChangeLog.120: these new files.
-
-2011-01-15 Colin Watson <cjwatson@debian.org>
-
- * Makefile.comm (INCLUDES): Fix typo.
-
-2011-01-05 Werner LEMBERG <wl@gnu.org>
-
- * doc/webpage.ms: Fix rendering of title image.
-
2010-12-31 Werner LEMBERG <wl@gnu.org>
Version 1.21 released
=====================
- * NEWS, REVISION, VERSION, doc/groff.texinfo, doc/webpage.ms:
- Updated.
+ * NEWS, REVISION, VERSION, doc/groff.texinfo, doc/webpage.ms: Updated.
* aclocal.m4, configure: Regenerated.
2010-12-31 Werner LEMBERG <wl@gnu.org>
@@ -716,7 +307,7 @@ Version 1.21 released
data consists of spaces only and thus reduces to nothing, set `sz'
to 0.
-2010-11-02 Ulrich Spörlein <uqs@spoerlein.net>
+2010-11-02 Ulrich Spörlein <uqs@spoerlein.net>
[mdoc]: Complete previous patch and document OpenBSD releases.
@@ -731,7 +322,7 @@ Version 1.21 released
* tmac/groff_mdoc.man: Document OpenBSD releases.
Add DragonFly release 2.8.
-2010-11-02 Ulrich Spörlein <uqs@spoerlein.net>
+2010-11-02 Ulrich Spörlein <uqs@spoerlein.net>
[mdoc]: Improve man page.
@@ -899,7 +490,7 @@ Version 1.21 released
Add new FreeBSD and Posix versions.
* tmac/doc-common: Add FreeBSD versions 7.2, 7.3, and 8.0
- * tmac/doc-syms: Add Posix 2008.
+ * tmac/doc-syms: Add Posix 2008
* tmac/groff_mdoc.man: Document it.
2010-02-16 Larry Kollar <kollar@windstream.net>
@@ -996,7 +587,7 @@ Version 1.21 released
* tmac/doc-common (Dx): Define register.
-2009-10-26 Jörg Sonnenberger <joerg@britannica.bec.de>
+2009-10-26 Jörg Sonnenberger <joerg@britannica.bec.de>
Implement `%U' in mdoc for URL references.
@@ -1182,7 +773,8273 @@ Version 1.21 released
before doing a PS special and flush buffer.
Update called functions.
-Copyright 2009-2012
+2009-01-09 Werner LEMBERG <wl@gnu.org>
+
+Version 1.20.1 released
+=======================
+
+ `gnu.png' isn't needed any more.
+
+ * doc/Makefile.in: Don't handle or create `gnu.png'.
+ Update all affected targets.
+
+ * doc/Makefile.sub: Don't handle or create `gnu.png'.
+ Update alll affected targets.
+
+
+ `gnu.eps' was missing in the tarball.
+ Problem reported by Patrik Gräser.
+
+ (PROCESSEDEXAMPLEFILES): Remove `gnu.eps'.
+ (MOSTLYCLEANNOTSRCDIRADD): Fix names of info files.
+ (install_data): Handle `gnu.eps' specially.
+
+ * MORE.STUFF: Mention texi2html's troff backend.
+ Mention http://groff.ffii.org/groff/contrib.
+
+ * README: Mention `MORE.STUFF'.
+
+ * NEWS, doc/webpage.ms, doc/groff.texinfo: Updated.
+
+2009-01-08 Werner LEMBERG <wl@gnu.org>
+
+ * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed
+ to...
+ (MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This.
+
+2009-01-06 Werner LEMBERG <wl@gnu.org>
+
+ Remove heuristics for LIBEXT.
+
+ * configure.ac: Provide LIBEXT.
+ * Makefile.in: Use it.
+
+ * configure: Regenerated.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+Version 1.20 released
+=====================
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * */*: Update FDL 1.1 to FDL 1.3.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * */*: Update copyright year.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * MANIFEST: Updated.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * doc/texinfo.tex (\key): Fix excessive whitespace.
+ (\texinfoversion): Tag file as patched.
+
+2009-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/s.tmac (@TS, TE, @EQ, @EN), tmac/an-old.tmac (TS, TE, EQ,
+ EN), tmac/e.tmac (TS, TE, EQ, EN): Set line length to a large value
+ if processed with -Thtml.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac (TS, TE, EQ, EN): Set line length to a large value
+ if processed with -Thtml to avoid warning messages (from code
+ inserted by tbl, for example).
+
+2009-01-04 Gunnar Florus <http://florus.no>
+
+ * */*: Update GPL2 to GPL3.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (dist): Don't use soft links but copy files to
+ preserve the file's time stamps.
+ * Makefile.sub (configure): Remove `autom4te.cache'.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/de.tmac: Fix German date strings. Reported by Axel Kielhorn.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * doc/texinfo.tex: Updated from `texinfo' CVS repository.
+ * doc/txi-en.tex: New file from `texinfo' CVS repository.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * font/make-Rproto: Moved to...
+ * font/util/make-Rproto: Here.
+
+ * Makefile.in (NOMAKEDIRS): Add `m4', `font/devps/old', and
+ `font/util'.
+
+2009-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/TODO: Mention local variables.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/hdtbl/examples/col_rowspan_colors.roff,
+ contrib/hdtbl/examples/color_boxes.roff,
+ contrib/hdtbl/examples/color_nested_tables.roff,
+ contrib/hdtbl/examples/color_table_cells.roff,
+ contrib/hdtbl/examples/color_transitions.roff,
+ contrib/hdtbl/examples/short_reference.roff: Minor improvements.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * doc/webpage.ms: Updated.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, doc/groff.texinfo, font/devps/*, VERSION, REVISION: Prepare
+ for version 1.20.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.cpp (table::compute_expand_width,
+ table::compute_separation_factor): In warning messages, don't refer
+ to pages but to input line numbers.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_ms.man: Improve formatting of tables.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac (www->): Handle XHTML.
+ (HTML</p>): Handle non-HTML devices.
+ (www:url_check_tag): Avoid warnings.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and `
+ conservatively to ASCII for the sake of easy cut and paste.
+
+2009-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Mention hdtbl.
+
+2009-01-02 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_mdoc.man: Update OS version string listing.
+
+2009-01-02 Werner LEMBERG <wl@gnu.org>
+
+ * config.rpath, m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4,
+ m4/lib-link.m4, m4/lib-prefix.m4, src/include/localcharset.h,
+ src/libs/libgroff/config.charset, src/libs/libgroff/localcharset.c,
+ src/libs/libgroff/ref-add.sin, src/libs/libgroff/ref-del.sin:
+ Updated from `gnulib' git repository.
+
+ * configure: Regenerated.
+
+2009-01-02 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/ptx.tmac: New file.
+
+ * NEWS, man/groff_tmac: man: Document it.
+
+2008-12-30 Werner LEMBERG <wl@gnu.org>
+
+ Fix more quoting issues.
+
+ * tmac/www.tmac (BCL, BGIMG, PIMG, MPIMG, LNS): For the sake of
+ XHTML, quote more arguments.
+ (IMG): Fix quoting.
+
+2008-12-30 Werner LEMBERG <wl@gnu.org>
+
+ Fix quoting issues in www.tmac.
+
+ * tmac/www.tmac (www:url_breaks_splitted): Renamed to...
+ (www:url_breaks_split): This.
+ (www->): New string to close tag singletons like <img> or <hr>. In
+ XHTML mode (not implemented yet), this has to be changed from `>' to
+ `/>'.
+ (IMG): Don't use </img>
+ Use www->.
+ (PIMG, MPIMG): Don't use </img>
+ Use www->.
+ Fix doublequote issues.
+ (HR): Don't use </hr>.
+ Use www->.
+ (LNS): Fix doublequote issues.
+
+2008-12-24 Michail Vidiassov <master@iaas.msu.ru>
+
+ * tmac/doc-common: Add entries for Mac OS X and FreeBSD.
+
+2008-12-22 Alexey Gladkov <legion@altlinux.ru>
+
+ * contrib/groffer/perl/roff2.pl: Fix syntax error.
+
+2008-12-15 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Mention `preconv'.
+
+2008-11-12 Werner LEMBERG <wl@gnu.org>
+
+ Implement `x' specifier for expanded columns. Contrary to old DWB
+ tbl, more than a single `x' specifier can be used. At the same
+ time, remove most of the code from change 2007-02-09 which collides
+ with the new implementation.
+
+ * src/preproc/tbl/main.cpp (format): Add `expand' array.
+ (format::format, format::~format): Updated.
+ (input_entry_format): Add `expand' field.
+ (input_entry_format::input_entry_format): Updated.
+ (input_entry_format::debug_print): Handle `expand'.
+ (process_format): Handle `x' specifier.
+ (process_data): Updated.
+
+ * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): Remove.
+ (EXPAND_REG): New macro.
+ (table_entry::divert, block_entry::divert,
+ alphabetic_block_entry::divert): Add parameter to control whether
+ expanded columns shall be handled.
+ (block_entry::do_width): Remove.
+ (block_entry::do_divert): Add parameter to control whether expanded
+ columns shall be handled.
+ Treat expanded columns like columns with a minimum width.
+ Remove `experimental' code.
+ (table::table, table::~table, table::allocate): Updated.
+ (table::set_expand_column): New function.
+ (table::count_block_columns): Replace with...
+ (table::count_expand_columns): This function.
+ (table::divide_span): Handle expanded columns the same as equal
+ columns.
+ (table::sum_columns): Add parameter to control whether expanded
+ columns shall be handled.
+ (table::compute_available_block_width): Replace with...
+ (table::compute_expand_width): This function.
+ (table::compute_total_separation): New function, taking code from
+ `compute_separation_factor'.
+ (table::compute_separation_factor): Simpler code. The check for the
+ `EXPAND' flag has been moved to the caller.
+ (table::compute_widths): Add `top-level' changes to handle expanded
+ blocks.
+
+ * src/preproc/tbl/table.h (table): New field `total_separation'.
+ Remove `blockflag' array.
+ Add `expand' array.
+ Update member function declarations.
+
+ * src/preproc/tbl/tbl.man: Document `x' specifier.
+ Expand documentation to cover all aspects of Lesk's tbl reference.
+
+ * NEWS: Document `x' specifier.
+
+2008-11-08 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Restructuring.
+ Improve text block documentation.
+
+2008-11-07 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.cpp (table::compute_widths): Use default
+ scaling operator for minimum width. Without this fix, `lw3' (or
+ `lw(3)' would be handled as a column with a minimum width of 3u
+ instead of 3n.
+
+2008-11-05 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (Dt): Start a new page if necessary and set up
+ headers.
+
+ * tmac/andoc.tmac (reload-doc): Simplify due to change in
+ doc-common.
+
+ * NEWS: Document it.
+
+2008-10-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/main.cpp (process_format): Rename `x' and `X' to
+ `m' and `M', respectively.
+ Sort entries in `switch' block.
+ * src/preproc/tbl/tbl.man: Updated.
+ Sort key entries; other minor improvements.
+
+2008-10-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.cpp (table::compute_available_block_width):
+ New function.
+ (table::compute_widths): Replace some code with new function
+ (shifted to a more appropriate place).
+ * src/preproc/tbl/table.h: Updated.
+
+2008-10-16 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add
+ NetBSD 4.0.1.
+
+2008-10-13 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_mdoc.man: Update documentation on BSD-like OS string
+ versions.
+
+2008-10-10 Werner LEMBERG <wl@gnu.org>
+
+ * man/roff.man, doc/groff.texinfo: Improve the history part. This
+ is based on input from Tom Van Vleck <thvv@multicians.org>.
+
+
+ * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that
+ value of `rst' register is not zero, as can happen for the HTML
+ output device. Otherwise, there are too many loops, and we get a
+ stack overflow because of recursion.
+
+2008-10-05 Stephen Gildea <http://www.gildea.com/stephen/>
+
+ * src/preproc/ref/ref.cpp (reference::compute_sort_key): Do
+ not insert SORT_SEP before the first field, so that sort_key
+ has the same format as before the patch of 2003-08-23.
+
+2008-10-04 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (doc-operating-system-*): Update releases.
+
+ * tmac/an-old.tmac (an-extra1, an-extra2, an-extra3): Initialize.
+
+ * tmac/andoc.tmac: Rewritten, based on a preliminary version from
+ Tadziu Hoffmann. It can now process multiple man pages with both
+ man and mdoc formats intermixed.
+
+ * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
+ man/groff_tmac.man: Document it.
+
+2008-10-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
+ \O[5] non-transparent w.r.t. beginning-of-line recognition (similar
+ to the other \O variants).
+
+ * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up
+ default macros. This causes endless loops (at least for TE).
+
+ * doc/groff.texinfo: Improve documentation of `.als'.
+
+2008-10-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/grops.man, src/roff/troff/troff.man,
+ src/preproc/soelim/soelim.man: Correct documentation of -I switch.
+ Reported by Larry Kollar.
+ Other minor formatting issues.
+
+2008-10-02 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac: Much improved.
+ (trace-full): New register to be set on the command line; it
+ controls whether number and string register assignments get traced
+ also.
+ (!!c): New macro for comments.
+ (rm): New traced macro.
+ (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to
+ `!!xxx'; this makes doc.tmac completely traceable.
+ Trace call of .de and friends also.
+
+ * tmac/groff_tmac.man, NEWS: Update.
+
+2008-09-30 Werner LEMBERG <wl@gnu.org>
+
+ Restore behaviour of \$0 if a macro is called with string syntax
+ (problem caused by change on 2008-09-29).
+
+ * src/roff/troff/input.cpp (input_iterator, input_stack,
+ macro_iterator): Add `get_macro_name' member function.
+ (interpolate_string): Use it.
+
+2008-09-29 Werner LEMBERG <wl@gnu.org>
+
+ Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
+ expected. Without the patch,
+
+ .de aaa
+ \\*[bbb]\\
+ . tm \\$*
+ ..
+ .de bbb
+ . shift
+ ..
+ .aaa 1 2 3
+
+ prints `2 3' instead of `1 2 3'.
+
+ * src/roff/troff/input.cpp (input_iterator, input_stack,
+ macro_iterator): Add `get_arg_list' member function.
+ (macro): Add `is_a_string', `is_string', and `clear_string_flag'
+ members.
+ Update constructors and operators.
+ (arg_list): Add copy constructor.
+ (macro_iterator): Add optional argument to constructor to indicate
+ whether arguments shall be inherited from calling macro.
+ (interpolate_string): If string argument is a macro, push a macro
+ iterator on the stack.
+ (do_define_macro): Call clear_string_flag if macro data contains a
+ newline.
+
+ * src/roff/troff/request.h: Updated.
+
+2008-09-29 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities.
+ Improve the documentation of text objects.
+
+2008-09-28 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph,
+ contrib/eqn2graph.man: Tweak scripts to cope with incompatible
+ changes in ImageMagick crop options. Document the bugs.
+
+2008-09-28 Werner LEMBERG <wl@gnu.org>
+
+ If a macro is called as a string, inherit value of \n[.br] from the
+ caller. This is useful for `trace.tmac'.
+
+ * src/roff/troff/input.cpp (string_iterator): New members
+ `with_break' and `get_break_flag'.
+ (string_iterator::string_iterator): Updated.
+
+ * doc/groff.texinfo: Improve documentation of \$0 and string syntax
+ calling of macros.
+ Document behaviour of \n[.br] within strings.
+
+2008-09-26 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac: Add copyright message.
+ Use `.de1' where possible to make source code more readable.
+ (so, mso, als, rn): Restore escape character before executing the
+ request.
+ (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'.
+
+2008-09-24 Werner LEMBERG <wl@gnu.org>
+
+ Fix incompatibility between `.de1' and `.do'. Without this change,
+ the following snippet
+
+ .de1 xx
+ . tm \\n(.C
+ ..
+ .cp 1
+ .do xx
+
+ prints 1 instead of 0.
+
+ * src/roff/troff/input.cc (do_request): If a macro gets processed,
+ call tok.next().
+ (interpolate_macro): Add optional argument. Update callers.
+ (request::invoke): Add optional argument.
+ (macro::invoke): Add optional argument to delay call of tok.next().
+
+ * src/roff/troff/request.h (request_or_macro): Add argument to
+ `invoke' member. Update all derived classes.
+
+ * doc/groff.texinfo: Improve documentation of .do request.
+
+2008-09-09 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu
+ Hoffmann.
+
+2008-09-06 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make
+ `.Nm' work properly if next manual page is printed.
+
+2008-08-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Document computation of element widths.
+
+2008-08-20 Alexey Gladkov <legion@altlinux.ru>
+ Werner LEMBERG <wl@gnu.org>
+
+ Add default encoding option -D to preconv and groff.
+
+ * src/preproc/preconv/preconv.cpp (default_encoding): Make it an
+ array.
+ Update all users.
+ (main): Handle new option -D.
+ (usage): Updated.
+ * src/preproc/preconv/preconv.man: Updated.
+
+ * src/roff/groff/groff.cpp (main): Handle new option -D.
+ (synopsis, help): Updated.
+ * src/roff/groff/groff.man: Updated.
+
+2008-07-26 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
+ by Denis M. Wilson.
+
+ * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
+
+2008-07-24 Denis M. Wilson <dmw@oxytropis.plus.com>
+
+ New options -f and -k for afmtodit.
+
+ * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal
+ name of the groff font.
+ New option `-k' disables output of kerning data.
+ * src/afmtodit/afmtodit.man, NEWS: Document new options.
+
+2008-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit
+ warning messages if table gets squeezed.
+ (table::compute_widths): Fix computation of AVAILABLE_REG.
+ Emit warning if table is wider than line length.
+
+ * src/preproc/tbl/tbl.man: Minor improvements.
+
+2008-05-02 Larry Jones <lawrence.jones@siemens.com>
+
+ * contrib/chem/Makefile.sub (README, examples/README): In makefiles,
+ the `$<' macro is only guaranteed to be defined in inference rules,
+ not in explicit target rules. Since there is only one input file in
+ the places where it is used, the `$?' macro (which is guaranteed to be
+ defined for both kinds of rules) is a suitable replacement.
+
+ * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most
+ versions of ls don't have a `--color' option.
+
+2008-04-30 Larry Jones <lawrence.jones@siemens.com>
+
+ * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'.
+
+2008-04-29 Larry Jones <lawrence.jones@siemens.com>
+
+ * src/eqn/script.cpp (script_box::output): Portability fix.
+
+2008-04-05 Dorai Sitaram <ds26gte@yahoo.com>
+
+ Add better support for `.TAG #<label>' in non-HTML documents: In
+ case of a forward reference in a call to .URL, write `(see below)'.
+ In case of a backwards reference use the page number instead. The
+ reference gets stored in a string `TAG_<label>' and can be
+ overridden while calling `.TAG' with its new optional argument --
+ this is useful for a second-pass system which resolves forward
+ references.
+
+ * tmac/www.tmac (www:url_check_tag): New function.
+ (URL): Use it.
+ (TAG): Add optional argument to define string `TAG_<label>'.
+
+2008-03-24 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac (so, mso): Added.
+
+ * tmac/www.tmac (PIMG): Replace `.ie' (without `.el') with `.if'.
+ If used with -mtrace, and this clause was active, the macro was
+ executed twice.
+
+ * tmac/pspic.tmac (PSPIC): Accept option `-C' for orthogonality.
+ This makes `.PIMG -C <file>' (from www.tmac) work on non-HTML
+ devices.
+ * man/groff_tmac.man: Document it.
+
+2008-02-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp: s/safer_flag/unsafe_flag/.
+ Update all occurrences so that \n[.U] works as advertised. Bug
+ reported by Dorai Sitaram.
+
+2008-02-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Improve documentation of .cf request.
+
+2008-01-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/html/pre-html.cpp (usage): Don't describe options but
+ mention that it should never be called stand-alone.
+
+ * tmac/groff_www.man, doc/groff.texinfo, man/groff_font.man,
+ man/groff_tmac.man, man/groff_out.man, README, README.MinGW,
+ src/roff/groff/groff.man: Mention -Txhtml.
+
+ * man/groff_font.man, man/groff_tmac.man, man/roff.man: Revised.
+
+2008-01-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/font.cpp (font::contains, font::get_code):
+ Handle single-letter names correctly.
+
+ * doc/groff.texinfo, man/groff_diff.man: Extend documentation of \^
+ and \|.
+ * NEWS: Updated.
+
+2008-01-15 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_font.man: Revised.
+
+2008-01-14 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff.man: Mention glyph and characters.
+ Minor other updates.
+ * man/groff_char.man: Minor updates.
+ * man/groff_diff.man: Better clarification between characters and
+ glyphs.
+
+2008-01-12 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Fix top-level structure to make it compilable
+ again with all texinfo modes. Reported by Jörg van den Hoff
+ <j.van_den_hoff@fzd.de>.
+
+2008-01-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/pic.ms: Mention that compass points of line objects are
+ arbitrarily located.
+
+2008-01-06 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cpp (left_italic_corrected_node::add_self):
+ Don't remove itself if there is no glyph associated with the node
+ yet. This happens, for example, in this situation:
+
+ .ll 15000u
+ .ft I
+ x x
+ (\,f
+
+2008-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_char.man, man/groff.man: Revised.
+
+ * src/preproc/eqn/lex.cpp (troff_defs): Fix typo.
+
+2008-01-04 Werner LEMBERG <wl@gnu.org>
+ * */*: s/Osanna/Ossanna/.
+
+ * */*.man: Replace .URL with .UR/.UE (except in groff_www.tmac).
+ Replace .MTO with .MT/.ME (except in groff_www.tmac).
+ Insert `\:' in URLs where appropriate.
+ Don't include www.tmac (except in groff_www.tmac).
+
+ * man/groff.man (.ESC[]): Fix font of closing bracket.
+ (.ESCq): Fix font of closing quote character.
+ Many other improvements.
+
+2007-12-30 Bernhard Fisseni <bfi@ikp.uni-bonn.de>
+
+ * src/devices/grohtml/post-html.cc
+ (html_printer::writeHeadMetaStyle): Fix CSS output.
+
+2007-12-29 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/ec.tmac: Add CM fonts to the .fspecial lines; those fonts
+ contain additional glyphs (like some uppercase Greek letters).
+
+2007-12-06 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Updated.
+
+2007-12-06 Colin Watson <cjwatson@debian.org>
+
+ * src/roff/nroff/nroff.sh: Add options -w and -W.
+ * src/roff/nroff/nroff.man: Document them.
+
+2007-12-06 Karl Berry <karl@freefriends.org>
+
+ * tmac/hyphenex.pl: Update header output.
+
+2007-11-29 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grotty/tty.cpp (tty_printer::line): Fix line lengths.
+
+2007-11-20 Werner LEMBERG <wl@gnu.org>
+
+ * doc/pic.ms: Add Heinz-Jürgen's 3d boxes example.
+
+2007-11-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/nroff/nroff.sh: Handle GROFF_TYPESETTER environment
+ variable. Problem reported by Michael G Schwern
+ <schwern@pobox.com>.
+
+ * src/roff/nroff/nroff.man: Document it.
+ Other minor updates.
+
+2007-11-17 Heinz-Jürgen Oertel <hj.oertel@t-online.de>
+
+ * src/groff/preproc/pic/lex.cpp (table): Add box attributes
+ `xslanted' and `yslanted'.
+
+ * src/groff/preproc/pic/object.cpp (object_spec::object_spec):
+ Initialize `xslanted' and `yslanted'.
+ (graphic_object): Add methods `set_xlanted' and `set_yslanted'.
+ (closed_object): Ditto.
+ Add members `xslanted' and `yslanted'.
+ (box_object::print): Use them.
+ (object_spec::make_object): Handle slant values.
+ * src/groff/preproc/pic/object.h (IS_XSLANTED, IS_YSLANTED): New
+ constants.
+ (object_spec): Add members `xslanted' and `yslanted'.
+ * src/groff/preproc/pic/pic.y (XSLANTED, YSLANTED): New left-valued
+ tokens.
+ Add rules for them.
+
+ * src/groff/preproc/pic/pic.man, NEWS, doc/pic.ms: Document above
+ changes.
+
+2007-11-16 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/hyphenex.pl: Generate copyright notice (this has been
+ approved by Barbara Beeton).
+ * tmac/hyphenex.us: Updated.
+
+2007-11-10 Michail Vidiassov <master@iaas.msu.ru>
+
+ * tmac/doc-syms (doc-str-St--susv3): New string.
+ * tmac/groff_mdoc.man: Document it.
+
+2007-11-08 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/preconv/preconv.cpp (emacs_to_mime): Add `utf-16be',
+ `utf-16le', `utf-16be-with-signature', `utf-16le-with-signature'.
+ (is_comment_line): Handle '\" and '\# also.
+
+ * src/preproc/preconv/preconv.man: Revise and make complete.
+
+2007-10-25 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/cs.tmac: New file holding Czech strings, contributed by
+ Marcela Maslanova <mmaslano@redhat.com>.
+ * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
+ for Czech, taken from CTAN.
+ * LICENSES: Updated.
+ * tmac/Makefile (NORMALFILES): Add Czech stuff.
+ * doc/groff_tmac.man: Mention cs.tmac.
+
+2007-10-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
+ comments correctly. Reported by Frank Jahnke
+ <jahnke@sonatabio.com>.
+
+2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
+ FreeBSD 5.5 and 7.0.
+
+ * tmac/doc-syms: Give better names for System V releases.
+
+2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
+
+ * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
+ the production of html files.
+ (pic.html): Ditto.
+ Remove background colour switch.
+ (.SUFFIXES, clean): Handle *.xhtml files.
+
+ * src/devices/grohtml/grohtml.man: Document that -V option now
+ generates an HTML-4.01 validator or XHTML validator.
+
+ * src/devices/grohtml/html-text.cpp (html_text::end_tag,
+ html_text::start_tag): Suppress <small>, <big>, and <color> tags if
+ we are inside a <pre> block.
+
+ * src/devices/grohtml/post-html.cpp
+ (html_printer::handle_valid_flag): Add a parameter to indicate
+ whether it needs to generate a paragraph block.
+ (html_printer::write_navigation): Updated.
+ (html_printer::do_file_components): Generate an HTML-4.01 blue
+ validator button also.
+
+2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
+
+ * man/groff.man: Fix URL of CSTR 54.
+
+2007-09-23 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_char.man: Normalize character set names as defined
+ by IANA. Based on a patch from Axel Kielhorn.
+
+ * src/preproc/refer/label.y: Undo change from 2007-09-19.
+
+2007-09-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
+ warning.
+
+ * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
+ Remove compiler warning.
+
+ * src/preproc/refer/label.y: Remove compiler warning.
+
+ * src/preproc/pic/pic.y: Remove doubled token entries.
+
+2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
+
+ * doc/groff.texinfo: Document new .O register and add cross
+ reference entries.
+
+ * NEWS: Updated.
+
+ * src/devices/grohtml/grohtml.man: Document new -V and -y options.
+
+ * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
+ (html_table:: emit_colspan, html_table::emit_td): New methods.
+ (html_table::emit_col): Use html_table::emit_td.
+ (html_table::emit_table_header): Use html_table::emit_colspan if
+ dialect xhtml is specified.
+ (html_table::finish_row): Updated.
+
+ * src/devices/grohtml/html-table.h (html_table): Declare
+ emit_colspan, emit_td.
+
+ * src/devices/grohtml/html-text.cpp: Modified tags to comply with
+ xhtml if this dialect was requested.
+
+ * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
+ (html_text): Add new variable `dialect'.
+
+ * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
+ compliant.
+ (valid_flag, groff_sig, dialect): New global variables.
+ (html_printer::handle_valid_flag, html_printer::do_math,
+ html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
+ html_printer::do_math, html_printer::handle_valid_flag): New
+ methods.
+ (html_printer::emit_line, html_printer::emit_raw,
+ html_printer::do_check_center, html_printer::write_title,
+ write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
+ html_printer::begin_page): Altered to be XHTML compliant.
+ (html_printer::write_header): Updated.
+ (html_printer::troff_tag): Call do_math.
+ (html_printer::insert_split_file, html_printer::do_file_components,
+ html_printer::write_navigation): Create XHTML file components if
+ necessary and also produces a groff signature if requested.
+ (~html_printer): Call writeHeadMetaStyle at appropriate places
+ depending upon html_dialect.
+ (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
+ (main): Added options -x, -V, and -y.
+ (usage): Updated.
+
+ * src/preproc/eqn/box.cpp: Create a distinction between
+ the MathML device and the XHTML device.
+ (do_text): Issue a newline at the end of the equation if XHTML was
+ specified.
+ (box::top_level): Prefix the output of an equation by the .MATHML
+ macro.
+ (output_string): Suppress \n if XHTML was specified.
+
+ * src/preproc/eqn/main.cpp (xhtml): New global flag.
+ (inline_equation): Skip leading spaces after inline equation for
+ XHTML device.
+ (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
+
+ * src/preproc/eqn/eqn.h (xhtml): New external flag.
+
+ * src/preproc/eqn/text.cpp (entity_table): Fix typo.
+
+ * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
+ (dialect, eqn_flag): New global variables.
+ (html_system): Improve debugging support.
+ (alterDeviceTo): Test for -Txhtml when altering device to the image
+ device and reset to -Txhtml.
+ (addZ): Renamed to...
+ (addArg): This.
+ Introducea a general parameter.
+ (print_args): New debugging function.
+ (char_buffer::run_output_filter): Use print_args and addArg rather
+ than addZ.
+ (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
+ line parameter as an argument to the html generation of text when
+ xhtml is needed. Include -e on the command line if mathml is
+ required.
+ (scanArguments): Allow -e, -V, -y and -x options.
+ -V, -y are handled by the back end. -e sets `eqn_flag'.
+ -x determines HTML dialect.
+
+ * src/roff/groff/groff.cpp (possible_command): New method
+ `clear_name'.
+ (main): Set eflag if -e is present on command line.
+ Set is_xhtml if -Txhtml is present.
+ Pass `-x x' to the HTML pre and post processors.
+ Pass `-e' to the HTML pre processor if required.
+ Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
+
+ * src/roff/troff/input.cpp (init_input_requests): Introduce new
+ number register `\n[.O]'.
+
+ * tmac/s.tmac: (LP): Use .nop for semantic sugar.
+ (cov*ab-init) reformat.
+ (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
+ (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
+ <cite></cite> for the html device rather than generate images for
+ footnotes.
+
+ * tmac/troffrc-end: Define EQN-HTML-IMAGE,
+ EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
+ EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
+ EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
+
+ * tmac/www.tmac: (HTML<?p>): New macro.
+ (MATH<?p>): New macro.
+ (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
+ (www-emit-ltag): New macro.
+ (www-push-li): Updated.
+ (ULS): Ensure that tags are balanced in order by use of
+ www-emit-ltag.
+ (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
+ order.
+ (OLS, OLE, DLS, DLE): Ditto.
+ <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
+ respectively.
+ (www-li-ul, www-li-ol, www-li-dl): Updated.
+ (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
+ EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
+ MATHML): New macros.
+
+2007-09-17 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_font.man: Document `unicode' keyword.
+ * doc/groff.texinfo (DESC File Format): Synchronize with
+ groff_font.man.
+
+2007-09-15 Werner LEMBERG <wl@nu.org>
+
+ * man/groff.man: Document `\_'.
+ * doc/groff.texinfo: Ditto.
+ Remove references to `\@' which isn't a valid escape sequence in
+ groff.
+
+
+ * tmac/unicode.tmac: Add ` and '.
+ * tmac/html.tmac: Load unicode.tmac.
+
+2007-09-14 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/unicode.tmac: Make `-' a pure input character by mapping it
+ to `hy'.
+
+ * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
+
+2007-09-11 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
+ allocation.
+
+ * src/preproc/tbl/table.cpp (table::allocate): Initialize
+ `blockflag' array.
+
+2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * README.MinGW: Add warnings about use of MSYS-RXVT, and about
+ defective GnuWin32 versions of netpbm/libpng.
+
+2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
+ possible recursion.
+
+2007-07-11 Werner LEMBERG <wl@gnu.org>
+
+ * gendef.sh: Add shebang.
+
+2007-07-05 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/papersize.tmac: Fix dimensions of executive paper format.
+ Reported by John Rupley <rupley@u.arizona.edu>.
+
+2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * tmac/s.tmac (cov*first-page-init): Emit error message if not in
+ top-level environment.
+
+2007-06-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/xditview/TODO, NEWS: Updated.
+ * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
+ Handle `GXditview-color'.
+ * src/devices/xditview/gxditview.man: Updated.
+
+ * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
+ * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
+ from `gnulib' git repository.
+
+ * configure.ac: Updated.
+ * configure: Regenerated (using autoconf 2.61).
+
+ * config.guess, config.sub: Updated from `config' CVS repository.
+ * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
+ repository.
+
+2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
+
+ * src/devices/xditview/GXditview.ad: Split off color definitions
+ into...
+ * src/devices/xditview/GXditview-color.ad: This new file.
+
+2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>
+
+ * tmac/fr.tmac: Handle chapter system for `me'.
+
+2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
+
+ * src/devices/xditview/xditview.c (main): Add support for
+ accelerators.
+
+ * src/devices/xditview/GXditview.ad: Updated.
+ Make widget more colourful.
+
+2007-05-30 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
+ Recommend `tbl' instead of `-column' lists for more complicated
+ cases.
+
+2007-05-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
+ correctly.
+
+2007-04-10 Werner LEMBERG <wl@gnu.org>
+
+ In pic, make rounded boxes work with colors. Reported by Urs Eggli
+ <Urs.Eggli@zuerich.ch>.
+
+ * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
+ (output): Add color parameter to `rounded_box' member function.
+
+ * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
+
+ * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
+ to `out->rounded_box'.
+
+2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
+
+ * font/devps/generate/textmap: Add Greek letters and some more.
+
+ * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
+ `Omega', and `mu' to the ones from aglfn.txt.
+
+2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * tmac/s.tmac (SN): Define unconditionally.
+ (SN-STYLE): New string; define.
+
+ * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
+
+2007-03-22 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
+ by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
+
+2007-03-20 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac (rn): Added.
+ (nr, ds, ds1, as, as1, substring): Restore escape character while
+ executing the macro.
+ (nr): Remove dead code.
+
+ * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
+ definitions to make them traceable.
+
+2007-03-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (get_copy): Add third argument to control
+ whether \E shall be expanded.
+ (get_char_for_escape_name): Allow \E.
+
+2007-03-15 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
+ par*define-font-macro, \[hooko]): Use \E to make it traceable.
+
+ (ref*field): Add argument to control the space between previous and
+ current argument.
+ Update all callers.
+ (ref*add-N): Fix handling of opening parenthesis. Problem reported
+ by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
+
+2007-03-14 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac (als): Added.
+ (de, de1, am, am1): Make traced macros aliased with .als work.
+
+2007-02-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/xditview/TODO: Add some more items.
+
+ * Makefile.comm (.man.n): Add @APPRESDIR@.
+ Sort entries.
+
+ * src/devices/xditview/gxditview.man: Document GXditview resource
+ file.
+ Other documentation enhancements based on a patch from Jörg.
+
+2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
+ Joerg van den Hoff <j.van_den_hoff@fzd.de>
+
+ * src/devices/xditview/GXditview.ad: Make all keys work regardless
+ of the current mouse position.
+
+2007-02-20 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_man.man: Revised to improve visual appearance.
+ Reduce use of future tense.
+
+ * tmac/groff_trace.man: Revosed to improve visual appearance.
+
+2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ Make groff.man viewer-portable.
+
+ * tmac/groff.man: Eliminate use of .eo/.ec.
+ (.REQ): Surround args 2 through N with quotes. This will enable us
+ not to rely on the shift request, which is nonportable.
+ (ExecFF): Remove. The code is simpler without it.
+
+2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * tmac/groff_www.man: Viewer-portability fixes.
+
+2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * man/groff.man: Remove some unneeded code and a no-longer-used
+ inclusion of the www macros.
+
+2007-02-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
+ AVAILABLE_REG.
+ (table::compute_widths): Simplify.
+
+2007-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/table.h: Don't include `stdbool.h'.
+ (table): Replace `bool' type with `char' for orthogonality.
+ Update all users.
+
+ * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
+ AVAILABLE_REG and COLCOUNT_REG.
+ (table::table): Fix order call of initializers.
+ (table::~table): Deallocate `blockflag'.
+
+2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ A try at the new rule for block column allocation is now enabled by
+ the new `experimental' global option: The horizontal space up to the
+ right margin which is not used by columns without text blocks is
+ evenly distributed to the columns with text blocks.
+
+ It doesn't work right as yet; there appears to be some error in the
+ computation of `3avail', the available line length. The purpose of
+ this patch is (a) to make experimenting with other formulas easy,
+ and (b) leave the infrastructure for flag `experimental' in place
+ for future experiments. Do not document any behavior associated
+ with this flag!
+
+ * src/preproc/tbl/table.h: Include `stdbool.h'.
+ (table): Make `flags' public.
+ Add `count_block_columns' function.
+ Add `blockflag' array.
+ Add `EXPERIMENTAL' enumeration value.
+
+ * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
+ macros.
+ (table_entry): New member `parent' so that class and subclass
+ members can set a parent field. Update all users.
+ (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
+ (block_entry::do_width): Set the parent's `blockflag'.
+ (table::allocate): Handle `blockflag'.
+ (table::count_block_columns): New function.
+ (compute_span_width): Adjust AVAILABLE_REG.
+ (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
+
+ * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
+ option.
+
+2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
+
+ * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
+ line thickness.
+
+2007-02-08 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_out.man (offset): Make it work reliably.
+
+2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * man/groff_out.man: Simplify some font changes so \fP is less
+ likely to do something surprising.
+
+ * man/groff_out.man: We can simplify the command macros still
+ further if we stop trying to hide structural requests inside them.
+ Also, fix some instances of \} at start of line without a dot, and
+ make some font changes explicit in strings.
+
+ * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
+ .cp.
+
+ * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
+ calls and fix macros to do without them. File should now be
+ viewer-portable.
+
+ * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
+ micromotions that produce the same visual result and can be lifted
+ to XML-DocBook.
+
+ * man/groff_out.man: Third step: Reduce Da-comand, fix a
+ call-sequence bug in the original.
+
+ * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
+ move font-change escapes to portable form.
+
+ * man/groff_out.man: First step in macro simplification; eliminate
+ list1..n, simplify .offset and .index_offset so they no longer
+ require groff-specific features or eqn (instead, use troff
+ micromotions for subscripting).
+
+2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * src/preproc/eqn/eqn.man: Minor corrections.
+
+ * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
+ longer takes a second argument that is pasted to the end of the
+ generated text. Instead, the end macro takes an argument that does
+ the same thing.
+
+ * man/ditroff.man, man/groff_diff.man, man/groff.man,
+ man/groff_out.man, man/groff_tmac.man, man/roff.man,
+ src/roff/groff/groff.man, src/roff/grog/grog.man,
+ tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
+
+ * src/roff/troff/troff.man: .SY and .YS are canned macros now,
+ so we can use them here.
+
+2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
+ By popular demand, make ... set three lower dots again
+ and introduce a new predefined macro 'cdots' to set
+ three centered dots.
+
+2007-02-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/eqn/eqn.man: Revised.
+
+ * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
+ `const'.
+ (spacing_type): Fix typo.
+ (special_to_entity): Use `const'.
+ Remove unused variable.
+ * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
+
+2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
+ which is a shame as the effect was cute.
+
+2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
+ rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
+ possible, remove preamble declarations and macros that are no
+ longer needed. Conversion checked using the protocol described in
+ tmac/TESTING-HINTS.
+
+2007-02-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
+ vertical space.
+
+2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * tmac/groff_man.man: Documented the extension macros, and
+ added portability advice.
+
+ * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
+
+
+ Add support for MathML output to eqn.
+
+ The strategy used is very simple and relies on the fact that the box
+ models of eqn and Presentation MathML differ in only trivial ways.
+ It leaves the grammar and existing internal object structures
+ unchanged. A new global, `output_format', is defined as an
+ enumerated type with values {troff, mathml}. Most of the functions
+ and methods that emit actual output acquire a top-level conditional,
+ dispatching on this global, which has one arm for troff mode and one
+ for MathML mode. In most cases the MathML arm is drastically
+ simpler.
+
+ (This strategy could be easily generalized to support other output
+ formats. TeX is a possibility that leaps to mind.)
+
+ The only even moderately tricky changes are in the lexer. Some of
+ the predefined macros used constructs like `up', `down', `fwd',
+ `back', and `vcenter' that have no equivalents in MathML. I
+ attacked this problem in these ways:
+
+ 1. I eliminated three uses of `back' to compose characters in favor
+ of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
+ that did not exist when these macros were written. (This will be
+ a quality improvement for troff users.)
+
+ 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
+
+ 3. I then split the table of pre-definitions in three; one large
+ common table and two small troff-specific and MathML-specific
+ tables. Use of troff-only operations (up, down, back, fwd,
+ vcenter) is now confined to the former. The latter now uses
+ `size big' and drops out the explicit positioning operations,
+ counting on MathML processors to do them.
+
+ POTENTIAL TROUBLE SPOTS:
+
+ Here are notes for reviewers on places I'm not 100% sure I've done
+ the right thing:
+
+ * In the process of preparing the troff table, I translated three
+ definitions (dot_def, dotdot_def, and utilde def) that previously
+ used explicit \v escapes to use `up' and `down' instead. I
+ modeled the new definitions on the way `vec' and `dyad' work, but
+ it's possible I got something subtle wrong.
+
+ * I'm not certain the MathML implementation of font_box::output() is
+ right, because I don't quite get what the switcheroo between
+ `current_roman_font' and `old_roman_font' is supposed to
+ accomplish. It does seem to generare good MathML, though.
+
+ Finally, I made one purely cosmetic change in `text.cpp'; I replaced
+ with an enum some magic numbers for spacing types that I thought
+ were too ugly to live.
+
+ REMAINING ISSUES:
+
+ The entirety of eqn is translated when `-TMathML' is specified,
+ with the following exceptions...
+
+ Limitations that cannot be fixed include non-support for special,
+ up/down/fwd/back, and vcenter.
+
+ Limitations that might be fixable include non-support for mark and
+ lineup. I will investigate further, but if these can be implemented
+ at all it's going to be in a very complicated and nasty way.
+
+ The way character boxes are output means that each digit of a
+ multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
+ While this is not technically wrong for Presentation MathML, it is
+ ugly and inefficient. Fixing this will require implementing a
+ little state machine in the `text.cpp' output method.
+
+ * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
+ src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
+ src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
+ src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
+ src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
+ src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
+ src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
+ src/preproc/eqn/eqn.man: MathML output mode.
+
+ * NEWS: Document it.
+
+2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
+ and for cross-viewer portability. Conversion checked
+ using the protocol described in tmac/TESTING-HINTS.
+
+2007-02-02 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-ext.tmac (ME): Don't use `\:'.
+
+ * src/roff/grog/grog.man: Further refinements and normalizations.
+
+2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
+
+ * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
+ cross-viewer portability. Conversion checked using the protocol
+ described in tmac/TESTING-HINTS.
+
+2007-02-01 Eric S. Raymond <esr@thyrsus.com>
+
+ * tmac/TESTING-HINTS: Added.
+
+2007-02-01 Eric S. Raymond <esr@thyrsus.com>
+
+ Enable the support for Bell archaisms on .SC, so the `-r bell'
+ switch is no longer needed to format old AT&T papers like
+ the EQN user guide.
+
+ * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
+
+ * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
+
+2007-02-01 Eric S. Raymond <esr@thyrsus.com>
+
+ Add some Bell labs extensions to the -ms macros.
+
+ * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
+
+ * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
+
+2007-01-30 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
+ (\n[mH]): New register (set if grohtml is used).
+ (\n[SY]): Rename to \n[mS].
+ (\n[a]): Rename to \n[mA].
+ (\n[i]): Rename to \n[mI].
+ (mU): New auxiliary input trap macro.
+ (UR, UE): Replace stub with real definition.
+ (URL): Remove.
+ (MT, ME): New macros.
+ (MTO): Remove.
+ (EX, EE): Don't insert vertical space.
+ Use a register to store (and restore) the current font.
+
+ * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
+ on patches from Eric Raymond.
+ Fix URL addresses.
+
+2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
+
+ * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
+
+2007-01-22 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-ext.tmac: Protect against being sourced twice.
+ (URL, EE): Use always two backslashes.
+ (MTO): New macro.
+
+2007-01-16 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-ext.tmac: Remove code for grodvi.
+ (SY): Fix typos.
+ Don't insert empty line.
+ (URL, TQ): Fix typos.
+
+2007-01-14 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-ext.tmac: New file, containing extension macros
+ for -man. See discussion on the groff mailing list for
+ background information.
+ * tmac/an-old.tmac: Load an-ext.tmac.
+ Decorate .ds and as with comment escapes where appropriate.
+ * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
+
+2007-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
+
+2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
+
+ Make -me macros ready for grohtml.
+
+ * tmac/e.tmac: Load devtag.tmac.
+ (need_eo_h, need_eo_tl, need_tl): New registers.
+ (check_need_title, (x-html, )x-html, xp-html): New macros.
+ (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
+ b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
+ (bp): Rename to @b only if output device is not html.
+
+2007-01-01 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_font.man: Document empty lines.
+
+ * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
+ the very beginning of the output.
+ [!$opt_x]: Fix typo.
+
+ * font/devps/*: Regenerate font definition files.
+
+2007-01-01 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
+
+ * font/devps/*: Regenerate font definition files.
+
+2006-12-31 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (oldfontdir): New variable.
+ (MDEFINES): Add $(oldfontdir).
+ (uninstall_dirs): Remove `current' link.
+ Remove $(oldfontdir).
+
+ * Makefile.comm (oldfontsubdir): New variable.
+ (install_dev): Install files collected in $(OLDDEVFILES) into
+ $(oldfontsubdir).
+ (uninstall_dev): Remove data in $(oldfontsubdir).
+ (.man.n): Handle @OLDFONTDIR@.
+
+ * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
+ src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
+ src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
+ Document GROFF_FONT_PATH.
+
+ * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
+ old font description files.
+
+ * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
+ variables.
+
+ * font/devps/old/*: New directory, holding the previous version
+ of the 35 Adobe core font description files.
+
+ * font/devps/*: Regenerated the 35 Adobe core fonts, using the
+ Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
+
+ * NEWS: Document font update.
+
+2006-12-31 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
+
+ * Makefile.comm (fonts): New (empty) target.
+ * Makefile.in (TARGETS): Add `fonts'.
+
+ * MANIFEST: Add `chem'.
+
+ * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
+ can't be chained.
+
+2006-12-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
+
+2006-12-19 Werner LEMBERG <wl@gnu.org>
+
+ Add support for German. For activation, simply use -mde or -mden
+ (for traditional and new orthgraphy, respectively) as the last
+ macro package.
+
+ * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
+ tmac/hyphenex.det: New files, partly taken from CTAN.
+ * LICENSES: Updated list of hyphenation patterns.
+ * man/groff_tmac.man: Mention de.tmac and den.tmac.
+ * NEWS: Updated.
+
+2006-12-11 Werner LEMBERG <wl@gnu.org>
+
+ Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
+ hosts).
+
+ * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
+ (MAX_ARG): New macro. Use it everywhere to replace hard-coded
+ limit of 9 arguments.
+ (process_body): Handle argument numbers with more than a single
+ digit.
+ (interpolate_macro_with_args): Protect against exceeding number of
+ arguments.
+
+ * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
+
+2006-12-10 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (site.exp, docheck): Commented out. Not working
+ currently.
+ (check): Just emit dummy message.
+
+2006-12-08 Werner LEMBERG <wl@gnu.org>
+
+ During installation, create soft link from <version> to `current' in
+ <datadir>/groff.
+
+ * Makefile.comm (install): Renamed to...
+ (do_install): This.
+ (prefix_must_exist): Removed. Code moved to Makefile.in.
+
+ * Makefile.in (TARGETS): Remove `install'.
+
+ (install): New target which first creates the directory given by
+ --prefix, then calling `make' to do the installation, and finishing
+ with the creation of the soft link.
+
+2006-11-21 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub (uninstall_sub): Fix names for info files.
+
+2006-11-18 Werner LEMBERG <wl@gnu.org>
+
+ * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
+ information from Tom Van Vleck <thvv@multicians.org>.
+
+2006-11-16 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/62bit.tmac: New macro package.
+ * tmac/Makefile.sub (NORMALFILES): Add it.
+ * NEWS: Document it.
+
+ * tmac/trace.tmac: Protect against being loaded again.
+ (nr): Always show result.
+
+ * doc/groff.texinfo (Input Encodings): Document latin-5.
+
+ * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
+
+2006-11-13 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
+ on negative trap positions.
+
+2006-11-10 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.comm (.man.n): Handle @DATASUBDIR@.
+
+2006-11-09 Werner LEMBERG <wl@gnu.org>
+
+ * INSTALL: Move information about external installation from
+ INSTALL.gen into this file.
+ Updated.
+
+ * INSTALL.gen: Update to new version (from texinfo CVS).
+
+2006-11-09 Bernd Warken
+
+ * INSTALL.gen: Extend the file by information on `external
+ installation'. Reorder the installation instruction as `normal
+ installation'.
+
+2006-11-08 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub (install_data): Take care of proper paths while
+ installing info files. Bug reported by Bernd Warken.
+
+2006-11-06 Bernd Warken
+
+ * src/roff/grog/grog.pl: Rewrite.
+ - Call by `#! /usr/bin/env perl'. That isn't replaced.
+ - Rename usage() to version().
+ - Use warnings.
+ - For `use strict', start all global variables with an upper case
+ character. Use `my' for all variables. Use several new variables.
+ - Add option `-h'.
+ - Add copyright to GPL and Emacs comment.
+ - Handle several `-m*' options.
+ - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
+ - Allow options after file names.
+ - Allow only one `-' parameter (standard input).
+ - Add option abbreviations.
+ - Expand the usage information.
+ - Add `chem'.
+ - Add single quote "'" as additional first character and allow
+ arbitrary space after the first character.
+
+ * src/roff/grog/grog.sh: Rewrite.
+ - Remove option `-e' of `sed'.
+ - Allow file names with space characters.
+ - Add option `-h'.
+ - Add copyright to GPL.
+ - Handle several `-m*' options.
+ - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
+ - Allow options after file names.
+ - Allow only one `-' parameter (standard input).
+ - Add option abbreviations.
+ - Expand the usage information.
+ - Add `chem'.
+ - Add single quote "'" as additional first character and allow
+ arbitrary space after the first character.
+
+ * src/roff/grog/Makefile.sub:
+ - Add copyright to GPL.
+ - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
+ fair chance to choose between the shell version and the Perl
+ version of `grog'. This is now again comparable to grog in groff
+ version 1.10.
+
+ * src/roff/grog/grog.man: Rewrite.
+ - Move the license to GPL.
+ - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
+ - Take over some setup and macros from `groffer'.
+ - Add information on options.
+
+2006-10-28 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac: Improve tracing of `.nr'.
+ Trace `.substring' also.
+
+ * NEWS: Updated.
+
+2006-10-28 Bernd Warken
+
+ * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
+ of groff development site, fix fonts.
+
+ * News: Add information on `chem' and `groffer'.
+
+2006-10-26 Bernd Warken
+
+ * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
+
+2006-10-26 Werner LEMBERG <wl@gnu.org>
+
+ Add `\$^' escape to handle the parameters to a macro as a string
+ argument.
+
+ * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
+
+ * src/roff/troff/input.cpp (input_iterator, input_stack,
+ macro_iterator): Add `space_follows_arg' member function.
+ (macro_iterator::add_arg): Add parameter to set the `space_follows'
+ flag.
+ (arg_list): Add member `space_follows'.
+ Update constructor and all callers.
+ (decode_args): Store discarded double quotes.
+ (interpolate_args): Handle DOUBLE_QUOTE.
+ Add `\$^' escape.
+ (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
+
+ * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
+
+ * docs/groff.texinfo (Parameters), man/groff.man,
+ man/groff_diff.man, NEWS: Document it.
+
+2006-10-24 Bernd Warken
+
+ * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
+
+2006-10-24 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_trace.man: Mention problem with `\\\\'.
+
+2006-10-23 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Expressions): Improve documentation of `!'.
+
+ * tmac/trace.tmac (return): Don't call `substring'.
+
+2006-09-10 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (read_size): Revert previous change
+ w.r.t. `\s-[-...]'.
+
+ * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
+
+2006-09-09 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
+ behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
+ point size to 1). Reported by Gunnar Ritter.
+ Also catch `\s-[-...]' and friends (causing an error).
+
+2006-09-06 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
+ space only if there is no previous space. This fixes a bug which
+ caused unwanted filling of the last line in a paragraph. Thanks to
+ Gunnar Ritter for an analysis.
+
+2006-09-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
+ Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
+
+2006-09-01 Nick Stoughton <nick@msbit.com>
+ Werner LEMBERG <wl@gnu.org>
+
+ Add a request `pev' to print environment information (similar to
+ `pnr' and `ptr' to print number registers and traps).
+
+ * src/roff/troff/env.h (environment): Add member function print_env.
+
+ * src/roff/troff/env.cpp: (environment::print_env): New function to
+ print a given environment state.
+ (print_env): New global function to iterate through the
+ environments, printing each one.
+ (init_env_requests): Register `pev'.
+
+ * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
+ NEWS: Document `pev' request.
+
+2006-09-01 Bernd Warken
+
+ * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
+ `-I' to `dir'.
+
+2006-09-01 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/main.cpp (usage): Add missing options.
+
+2006-08-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
+ in file names.
+
+2006-08-19 Werner LEMBERG <wl@gnu.org>
+
+ * configure: Regenerated.
+
+2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
+ logic; it previously caused an `expr' syntax error, if no version of
+ `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
+ builds, if an up to date `groff.info' is present in either `builddir'
+ or in `srcdir'.
+
+2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
+
+ * font/devps/prologue.ps: Add BPhook.
+
+ * src/devices/grops/grops.man: Document BPHook.
+ Reorder some sections for better readability.
+
+2006-08-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/lib.h (getlocale): New macro.
+ (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
+ suggested by Bruno.
+
+ * src/preproc/preconv/preconv.cpp (main): Use getlocale.
+
+2006-08-11 Werner LEMBERG <wl@gnu.org>
+
+ Add new flag to .cflags to enable hyphenation without looking at
+ hcode values.
+
+ * src/roff/troff/charinfo.h (charinfo): New enumeration value
+ `IGNORE_HCODES'.
+ New member function `ignore_hcodes'.
+
+ * src/roff/troff/node.cpp (break_char_node::add_self,
+ node::add_char): Updated.
+
+ * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
+
+2006-08-09 Werner LEMBERG <wl@gnu.org>
+
+ Support composite Unicode characters again. Reported by Colin.
+
+ * font/devhtml/R.proto: Renamed to...
+ * font/devhtml/R.in: This.
+
+ * font/devutf8/R.proto: Renamed to...
+ * font/devutf8/R.in: This.
+ Add `charset' line.
+
+ * font/make-Rproto: New script.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
+
+2006-07-26 Werner LEMBERG <wl@gnu.org>
+
+ * README: Fix description of CVS access. Reported by Joachim.
+
+2006-07-11 Werner LEMBERG <wl@gnu.org>
+
+ Add a request `.fzoom' and a number register `.zoom' to magnify
+ fonts.
+
+ * src/include/font.h (font): Add member variable `zoom'.
+ Add member functions `set_zoom' and `get_zoom'.
+ Remove `static' attribute from `scale' member function.
+
+ * src/libs/libgroff/font.cpp (font::font): Updated.
+ (scale_round): New version with three parameters to handle zoom
+ factor.
+ (font::scale, font::get_width): Handle zoom factor.
+ (font::set_zoom, font::get_zoom): New functions.
+ (font::load): Handle `zoom' while computing `space_width'.
+
+ * src/roff/troff/env.h: Declare `env_get_zoom'.
+ (environment): Add member function `get_zoom'.
+
+ * src/roff/troff/env.cpp (environment::get_zoom): New function.
+ (init_env_requests): Initialize `.zoom' register.
+
+ * src/roff/troff/node.cpp (font_info): New member functions
+ `set_zoom' and `get_zoom'.
+ (tfont): New member function `get_zoom'.
+ (env_get_zoom): New function.
+ (troff_output_file::set_font): Handle zoom factor.
+ (font_zoom_request): New function.
+ (init_node_requests): Initialize `fzoom' request.
+
+ * docs/groff.texinfo (Changing Fonts), man/groff.man,
+ man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
+ register.
+
+ * src/roff/troff/TODO: Updated.
+
+2006-07-10 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Drawing Requests): Improve documentation of
+ \D'P ...'.
+
+2006-07-02 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_tmac.man: Document usage of .PSPIC within diversions.
+
+2006-07-01 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/pspic.tmac: Make .PSPIC work for all devices.
+ Print image file name for devices which don't support PS image
+ inclusion.
+ Handle multiple inclusions.
+ Add lots of comments.
+
+ * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
+ pspic.tmac.
+
+ * tmac/troffrc: Load pspic.tmac.
+
+ * man/groff_tmac.man: Update .PSPIC documentation.
+
+ * NEWS: Updated.
+
+2006-06-29 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (interpolate_macro):
+ s/probably/possibly/, as suggested by Keith.
+
+2006-06-28 Werner LEMBERG <wl@gnu.org>
+
+ Add support for \D'p...' to grotty.
+
+ * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
+ its code to...
+ (tty_printer::line): This function.
+ (tty_printer::draw): Rewritten; just call either draw_line or
+ draw_polygon.
+ (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
+
+ * src/devices/grotty/grotty.man, NEWS: Document it.
+
+2006-06-27 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/refer/command.h (have_bibliography): New variable
+ declaration.
+
+ * src/preproc/refer/command.cpp (bibliography_command): Set
+ `have_bibliography'.
+
+ * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
+ (output_references): Emit warning only if `have_bibliography' is
+ set.
+
+2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
+
+ * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
+ * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
+ and zapfdr.afm.
+
+2006-06-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
+ macro (as suggested by Tadziu Hoffmann).
+
+2006-06-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
+ macro (as suggested by Tadziu Hoffmann).
+
+2006-06-05 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/strip.sed: Strip `\#' also.
+
+ * doc/groff.texinfo (Operators in Conditionals): Document usage of
+ \? for string comparison.
+
+2006-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Add more index entries for copy-in mode.
+ (Changing Fonts) <.ft>: Document that a font definition file must
+ not be called `DESC'.
+
+2006-05-31 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
+ here.
+
+ * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
+ (PROCESSEDEXAMPLEFILES): Here.
+
+2006-05-30 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/font.cpp (font::load): Reject fonts called
+ `DESC'.
+ Reduce number of false positives for `.if F ...' conditionals.
+ Improve warning messages.
+
+2006-05-29 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/Makefile.sub: Add copyright notice.
+ (NORMALFILES): Add man.tmac and ms.tmac.
+ (SPECIALFILES): Remove man.tmac and ms.tmac.
+ (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
+ (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
+ specially.
+ (stamp-sed): Don't handle man.tmac and ms.tmac.
+ Remove obsolete components in sed's regexp.
+
+ * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
+
+ * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
+
+2006-05-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (History): Correct death circumstances of Joe
+ Ossanna.
+
+2006-05-27 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (an-do-tag): Simplify.
+
+2006-05-26 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (an-do-tag): Make margin characters work.
+ (an-header, an-p-footer): Use named environment.
+
+ * src/roff/troff/env.cpp (environment::copy): Copy margin character
+ node.
+
+2006-05-21 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
+ omissions.
+
+2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
+
+2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/groff/groff.man: Update copyright notice.
+ Improved wording to describe effect of `-Z' option.
+
+2006-05-06 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
+ Normalize handling of `"' in arguments.
+ (PIMG): Remove debug message.
+ Simplify code.
+
+2006-05-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
+ swallow character immediately after `\[...]'.
+ Simplify code.
+
+2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
+
+ * tmac/www.tmac (PIMG): Fix the HTML device specific components.
+
+2006-05-02 Larry Kollar <kollar@alltel.net>
+
+ * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
+ option is missing.
+
+2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
+
+ * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
+ information as a comment in output.
+ * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
+
+2006-04-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
+ Handle current_paragraph only if it is non-NULL.
+
+ * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
+ <'F'>): Use `get_extended_arg' to behave as documented. Reported by
+ Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
+
+
+ Surround the (pseudo) file name for the .pso request with `<' and
+ `>'.
+
+ * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
+ second parameter to `really_put_filename' and `put_filename'.
+ (troff_output_file::really_put_filename): Emit `<' and `>' around
+ filename if second argument is set.
+ * src/roff/troff/node.h: Updated.
+
+ * src/roff/troff/input.cpp (file_iterator::file_iterator,
+ file_iterator::set_location): Update to changes in node.cpp.
+
+2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
+
+ * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
+ preprocessor expression (I18N -> HAVE_ICONV).
+ (main): Fix handling of option `-h'.
+ Fix conditional preprocessor expression.
+
+2006-04-04 Werner LEMBERG <wl@gnu.org>
+
+ Implement new number register `.br' which is set to 1 if a macro has
+ been called as .foo and to 0 if called as 'bar. This is useful for
+ -mtrace so that requests can be reliably traced too.
+
+ * src/roff/troff/input.cpp (input_iterator): Add virtual function
+ `get_break_flag'.
+ (macro_iterator): Add `with_break' member and `get_break_flag'
+ function.
+ Update constructors.
+ (input_stack): Add function `get_break_flag'.
+ (break_flag_reg): New number register class.
+ (input_init_requests): Register `.br'.
+
+ * src/roff/troff/TODO: Updated.
+
+ * tmac/trace.tmac: s/!!sp/!!!sp/.
+ Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
+
+ * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
+ NEWS: Document it.
+
+2006-03-29 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cpp: s/must not/should not/ in warning
+ messages where appropriate.
+
+2006-03-28 Werner LEMBERG <wl@gnu.org>
+
+ * configure.ac: Call AC_PROG_EGREP.
+ * configure: Regenerated.
+
+ * Makefile.in (EGREP): New variable.
+ (MDEFINES): Add $(EGREP).
+
+ * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
+ (bug reported by Robert Goulding <Goulding.2@nd.edu>).
+ Use @EGREP@.
+
+ * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
+
+2006-03-27 Werner LEMBERG <wl@gnu.org>
+
+ Add two requests `.device' and `.devicem' which are equivalent to
+ `\X' and `\Y', respectively.
+
+ * src/roff/troff/input.cpp (device_request, device_macro_request):
+ New functions.
+ (init_input_requests): Register them.
+
+ * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
+ man/groff.man, NEWS: Document them.
+
+2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/roff/troff/input.cpp (encode_char): Emit special characters
+ for -Thtml as `\[...]'.
+ * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
+
+ * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
+
+2006-03-27 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
+ files.
+
+2006-03-26 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Writing Macros): More documentation on
+ end-of-macro symbol of `.de'.
+ (Diversions): Minor addition to `.di' description.
+
+ * src/devices/grops/grops.man: Some clarifications regarding
+ insertion of PostScript snippets.
+
+2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
+
+ Add rules to generate `symbolsl.afm'.
+
+ * font/devps/generate/zapfdr.sed,
+ font/devps/generate/symbolsl.awk: New files.
+
+ * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
+ variables.
+ (SS, clean): Updated.
+ (freeeuro.afm): Use $(srcdir).
+ (symbolsl.afm): New rule.
+ (zapfdr.afm): Use zapfdr.sed.
+
+2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
+
+ * src/preproc/pic/pic.y (expr <INT>): Fix code.
+
+2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
+
+ * tmac/sv.tmac: Add missing translations and activate support for
+ other macro packages.
+
+2006-03-21 Francis GUDIN <fgudin@nerim.net>
+
+ * tmac/doc-syms (Dx): New macro to identify DragonFly.
+ (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
+ doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
+ strings.
+ (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
+ doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
+ doc-operating-system-DragonFly-*): New operating system strings.
+
+ * tmac/groff_mdoc.man, NEWS: Document `Dx'.
+
+2006-03-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
+ both DWB pic and dpic, make
+
+ right;
+ line then down;
+
+ equal to
+
+ right;
+ line right then down;
+
+ instead of
+
+ right;
+ line 0 then down;
+
+ * doc/pic.ms: Document this.
+
+2006-03-20 Werner LEMBERG <wl@gnu.org>
+
+ * doc/pic.ms: With permission of Eric Raymond, put it under the
+ GPL.
+
+ * NEWS: Updated.
+
+2006-03-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
+
+ * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
+ attribute in combination with `with'. Bug reported by Jennifer
+ Sayers <jenjen@mail.usyd.edu.au>.
+
+2006-03-19 Miklos Somogyi <msom@netspace.net.au>
+
+ * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
+ `.sp'.
+
+2006-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * LICENSE: Renamed to...
+ * LICENSES: This. Collect all licensing information in this file.
+ * tmac/README, src/libs/snprintf/README: Removed.
+
+ * src/devices/grops/grops.man: Add section how to install fonts.
+
+ * src/utils/xtotroff/xtotroff.c: Add GPL.
+
+2006-03-17 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.comm (.y.cpp): Fix #line arguments in output.
+
+2006-03-13 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Mention default length of text blocks.
+
+ * tmac/doc-common (Os): Add more Darwin versions.
+ * tmac/groff_mdoc.man: Document them.
+
+ * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
+ works with \N'...' also.
+ * man/groff_diff.man: Ditto. Remove use of future tense where
+ possible.
+
+2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
+
+ * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
+ font/devps/zapfdr.ps: Add `%%EndComments' line.
+
+2006-03-10 Larry Kollar <kollar@alltel.net>
+
+ * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
+
+2006-03-10 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
+ ps_printer::do_mdef): Overlong lines now cause a warning message,
+ not an error.
+
+2006-03-09 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/make-zapfdr: New script for generating
+ `zapfdr.ps'.
+
+2006-03-08 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.css (pre): Fix `background-color' value.
+
+2006-03-04 Larry Kollar <kollar@alltel.net>
+
+ * tmac/groff_ms.man: Document PT, HD, and BT.
+
+2006-03-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
+ for single-letter glyph names.
+
+2006-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/sv.tmac: New file; currently holding only the Swedish strings
+ for -mm.
+ * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
+ from CTAN.
+ * tmac/README: Updated.
+
+2006-02-27 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
+ * tmac/fr.tmac: Add French translations.
+
+ * tmac/composite.tmac: Add entry for `:'.
+
+2006-02-26 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
+ (CLEANADD): Use it.
+ (install_html, uninstall_sub): Updated.
+
+2006-02-26 Bruno Haible <bruno@clisp.org>
+
+ Introduce Unicode fonts.
+
+ * font/devhtml/DESC.proto: Mark as unicode.
+ * font/devhtml/R.proto: Remove all charset entries that are already
+ in glyphuni.cpp.
+ * font/devutf8/DESC.proto: Mark as unicode.
+ * font/devutf8/R.proto: Remove all charset entries.
+ * src/include/font.h (font): New static field `is_unicode'.
+ Change order of fields.
+ * src/libs/libgroff/font.cpp: Include unicode.h.
+ (font::font): Update for changed order of fields.
+ (font::contains, font::get_width, font::get_height, font::get_depth,
+ font::get_italic_correction, font::get_left_italic_correction,
+ font::get_subscript_correction, font::get_character_type,
+ font::get_code, font::get_special_device_encoding): Handle both the
+ explicitly enumerated glyphs and use general code for Unicode fonts.
+ (font::load): Make the charset section optional when the font is
+ declared unicode.
+ (font::load_desc): Recognize the `unicode' attribute.
+ * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
+
+2006-02-26 Claudio Fontana <claudio@gnu.org>
+
+ * Makefile.in: Add comment about DESTDIR.
+
+ * Makefile.sub: Add DESTDIR to install and uninstall targets
+ to support staged installations.
+ * Makefile.comm: Likewise.
+ * doc/Makefile.sub: Likewise.
+ * contrib/eqn2graph/Makefile.sub: Likewise.
+ * contrib/grap2graph/Makefile.sub: Likewise.
+ * contrib/pic2graph/Makefile.sub: Likewise.
+ * src/devices/xditview/Makefile.sub: Likewise.
+ * src/preproc/eqn/Makefile.sub: Likewise.
+ * src/roff/grog/Makefile.sub: Likewise.
+ * src/roff/nroff/Makefile.sub: Likewise.
+ * src/utils/afmtodit/Makefile.sub: Likewise.
+ * src/utils/indxbib/Makefile.sub: Likewise.
+ * tmac/Makefile.sub: Likewise.
+
+2006-02-24 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
+ for \-.
+ Remove commented out entries for \' and \` (there are no such glyph
+ names).
+
+ * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
+ commented out entries for \' and \`.
+
+
+ * */*: s/legal/valid/ where appropriate.
+
+2006-06-23 Werner LEMBERG <wl@gnu.org>
+
+ * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
+ and \` entries.
+
+2006-02-22 Werner LEMBERG <wl@gnu.org>
+
+ Remove all remaining traces from the `shc' glyph.
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
+ src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
+ entry for `shc'.
+
+ * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
+ entry with unnamed glyph.
+
+ * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
+
+ * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
+ specially.
+
+2006-02-22 Bruno Haible <bruno@clisp.org>
+
+ Concretize the `glyph' datatype.
+
+ * src/include/font.h (glyph): Remove class.
+ (glyph): Renamed from struct `glyphinfo'.
+ (glyph_to_index): New inline function.
+ (glyph_to_name): Make extern, not inline.
+ (glyph_to_number): Update.
+ (font): Use `glyph *' instead of `glyph'.
+
+ * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
+ `glyph'. Make `name' field public.
+ (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
+ instead of `glyph'.
+ (glyph_to_name): Renamed from `glyph::glyph_name'.
+
+ * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
+ Use `glyph *' instead of `glyph'.
+
+ * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
+ `glyph *' instead of `glyph'.
+ (glyph_to_name): Renamed from `glyph::glyph_name'.
+
+ * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
+ and `glyph_to_index' instead of `glyph::glyph_index'.
+
+ * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
+ * src/libs/libdriver/printer.cpp: Likewise.
+ * src/devices/grodvi/dvi.cpp: Likewise.
+ * src/devices/grohtml/post-html.cpp: Likewise.
+ * src/devices/grolbp/lbp.cpp: Likewise.
+ * src/devices/grolj4/lj4.cpp: Likewise.
+ * src/devices/grops/ps.cpp: Likewise.
+ * src/devices/grotty/tty.cpp: Likewise.
+
+2006-02-22 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate/tc.map: Add `sr' glyph.
+ * font/devdvi/*TC: Regenerated.
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
+ for `sqrt'.
+
+2006-02-21 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_char.man: Explain `***' marker.
+
+2006-02-17 Bruno Haible <bruno@clisp.org>
+
+ * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
+ methods and fields from *_index to *_glyph.
+ (character_indexer::named_char_glyph): Test for `charNNN' name
+ here...
+ (name_to_glyph): ... not here.
+
+2006-02-17 Bruno Haible <bruno@clisp.org>
+
+ * src/include/font.h (name_to_glyph): Renamed from
+ font::name_to_index.
+ (number_to_glyph): Renamed from font::number_to_index.
+ (glyph_to_name): Renamed from font::index_to_name.
+ (glyph_to_number): Renamed from font::index_to_number.
+ * src/libs/libgroff/nametoindex.cpp: Likewise.
+ * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
+ charinfo::get_index.
+
+ * src/roff/troff/input.cpp: All callers changed.
+ * src/roff/troff/node.cpp: Likewise.
+ * src/libs/libgroff/font.cpp: Likewise.
+ * src/devices/grops/ps.cpp: Likewise.
+ * src/devices/grohtml/post-html.cpp: Likewise.
+ * src/libs/libdriver/printer.cpp: Likewise.
+
+2006-02-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/ptable.h, src/include/itable.h
+ (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
+ of external symbol `next_ptable_size' (used by both header files).
+
+2006-02-15 Bruno Haible <bruno@clisp.org>
+
+ * src/include/font.h (glyphinfo): New class.
+ (glyph): Change internal representation.
+ Change constructor signature.
+ New method glyph::glyph_number().
+ (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
+ glyph::operator==, glyph::operator!=): Update.
+ (font::index_to_name, font::index_to_number): New functions.
+
+ * src/include/itable.h: New file, based on src/include/ptable.h.
+
+ * src/libs/libgroff/nametoindex.cpp: Include itable.h.
+ (class charinfo): New class.
+ (class character_indexer): Change table result type from `int' to
+ `class charinfo'.
+ Add table with integer key.
+ (character_indexer::character_indexer): Update.
+ (character_indexer::ascii_char_index): Update.
+ (character_indexer::numbered_char_index): Use NULL as name, not a
+ string starting with a space.
+ (character_indexer::named_char_index): Update.
+ (font::number_to_index, font::name_to_index): Remove no-op cast.
+ (glyph::glyph_name): New method.
+ * src/roff/troff/charinfo.h (class charinfo): Inherit from class
+ glyphinfo.
+ (NUMBERED): Remove flag bit.
+ (charinfo::numbered, charinfo::get_index): Update.
+
+ * src/roff/troff/input.cpp (charinfo::charinfo): Update.
+ (charinfo::set_number, charinfo::get_number): Update.
+ (glyph::glyph_name): New method.
+
+2006-02-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
+ entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
+
+2006-02-13 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
+ dvips.
+
+2006-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/font.h: s/glyph_t/glyph/.
+ Update all callers.
+
+ * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
+ s/output_character_t/output_character/.
+
+2006-02-11 Bruno Haible <bruno@clisp.org>
+
+ New accessor method glyph_t::glyph_name().
+
+ * src/include/ptable.h (declare_ptable): Add a return value to the
+ `define' method, and declare a `lookupassoc' method.
+ (implement_ptable): Return the stored key in `define'. Implement
+ lookupassoc.
+ * src/include/font.h (glyph_t): Add `name' field. Add an argument
+ to the constructor.
+ (glyph_t::glyph_name): New method.
+
+ * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
+ return type of methods and field member type to glyph_t.
+ (character_indexer::character_indexer): Update.
+ (character_indexer::ascii_char_index): Allocate a name for the
+ glyph.
+ Return a glyph_t with name.
+ (character_indexer::numbered_char_index): Return a glyph_t without a
+ name.
+ (character_indexer::named_char_index): Return a glyph_t with a name.
+ (font::number_to_index, font::name_to_index): Update.
+
+ * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
+ the glyph's name.
+
+2006-02-11 Bruno Haible <bruno@clisp.org>
+
+ * src/devices/grotty/tty.cpp (output_character_t): New type.
+ (tty_printer::make_bold, tty_printer::add_char,
+ tty_printer::put_char): Change argument type to output_character_t.
+ (crossings): Change element type to output_character_t.
+
+2006-02-11 Bruno Haible <bruno@clisp.org>
+
+ Make the glyph data type abstract.
+
+ * src/include/font.h (glyph_t): New class.
+ (name_to_index, number_to_index): Change return type to glyph_t.
+ (font::contains, font::get_width, font::get_height, font::get_depth,
+ font::get_character_type, font::get_kern, font::get_skew,
+ font::get_italic_correction, font::get_left_italic_correction,
+ font::get_subscript_correction, font::get_code,
+ font::get_special_device_encoding, font::add_entry,
+ font::copy_entry, font::add_kern, font::hash_kern): Change argument
+ type to glyph_t.
+
+ * src/libs/libgroff/font.cpp (font_kern_list): Change members
+ type and constructor argument types to glyph_t.
+ (font::contains, font::get_width, font::get_height, font::get_depth,
+ font::get_character_type, font::get_kern, font::get_skew,
+ font::get_italic_correction, font::get_left_italic_correction,
+ font::get_subscript_correction, font::get_code,
+ font::get_special_device_encoding, font::add_entry,
+ font::copy_entry, font::add_kern, font::hash_kern): Change argument
+ type to glyph_t.
+ (font::load): Use glyph_t variables.
+
+ * src/libs/libgroff/nametoindex.cpp (name_to_index,
+ number_to_index): Change return type to glyph_t.
+
+ * src/roff/troff/charinfo.h (charinfo::index): Change type to
+ glyph_t.
+ (charinfo::get_index): Change return type to glyph_t.
+
+ * src/roff/troff/env.cpp: Include font.h.
+
+ * src/roff/troff/node.cpp: Include font.h before charinfo.h.
+
+ * src/roff/troff/input.cpp: Include font.h before charinfo.h.
+ (charinfo::charinfo): Update.
+ (name_to_index, number_to_index): Change return type to glyph_t.
+
+ * src/include/printer.h (printer::set_char_and_width): Change return
+ type to glyph_t.
+
+ * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
+ Change return type to glyph_t.
+
+ * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
+ argument type to glyph_t.
+
+ * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
+ (html_printer::space_glyph): Renamed from space_char_index.
+ (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
+ html_printer::overstrike, html_printer::set_char): Change argument
+ type to glyph_t.
+ (html_printer::set_char_and_width): Change return type to glyph_t.
+
+ * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
+ argument type to glyph_t.
+
+ * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
+ argument type to glyph_t.
+
+ * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
+ space_char_index.
+ (ps_printer::set_subencoding, ps_printer::set_char): Change argument
+ type to glyph_t.
+
+ * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
+ argument type to glyph_t.
+
+2006-02-11 Bruno Haible <bruno@clisp.org>
+
+ * src/roff/troff/input.cpp (font::name_to_index): Never return a
+ negative value.
+
+ * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
+ font::name_to_index.
+
+2006-02-10 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Assigning Formats): Number registers are always
+ interpolated.
+ Apply some rephrasing, contributed by Michael Burt.
+
+2006-02-07 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/fr.tmac <ms>: Set `HY' register.
+
+2006-02-07 Werner LEMBERG <wl@gnu.org>
+
+ Add framework for simple adaptation of the main macro packages (mm,
+ me, ms, mom) to different locales. In particular, add support for
+ French. For activation, simply use `-mfr' as the last macro
+ package. This feature has been contributed by Fabrice Ménard
+ <menard.fabrice@wanadoo.fr>.
+
+ * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
+ New files.
+ * tmac/README: Mention hyphen.fr.
+ * man/groff_tmac.man: Mention fr.tmac.
+ * NEWS: Updated.
+
+2006-01-27 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_font.man: Updated documentation of `entity_name' field.
+ Avoid future tense.
+
+2006-01-27 Bruno Haible <bruno@clisp.org>
+
+ * font/devhtml/R.proto: Remove the entity names from the font's
+ special_encoding_encoding column.
+ * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
+ handling the entity names here.
+ (get_html_translation): Use it. Change return type to `const
+ char *'.
+ (page::add_and_encode): Update, removing a useless cast.
+
+2006-01-26 Werner LEMBERG <wl@gnu.org>
+
+ This change is based on a patch by Bruno Haible <bruno@clisp.org>.
+
+ * src/include/device.h: Add comments.
+ * src/include/font.h: Add comments.
+ * src/include/unicode.h: Likewise.
+ * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
+
+2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Suppress `.st' request emission by `grn'.
+
+ * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
+ (conv): Use it.
+
+2006-01-22 Werner LEMBERG <wl@gnu.org>
+
+ * install-sh: New version; taken from texinfo CVS.
+
+2006-01-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
+ reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
+
+2006-01-19 Bruno Haible <bruno@clisp.org>
+
+ Let `make -k install' install more files.
+
+ * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
+ $(MAKE) and $(MDEFINES) are used.
+ (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
+ $(CPROGDIRS) everywhere.
+ ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
+ on $(XPROGDIRS).
+ ($(OTHERDIRS)): Likewise.
+
+
+ * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
+ failure test for font::name_to_index -- it can never fail.
+
+2006-01-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/grops.man: Fix section on creating EPS files.
+ Don't use future time in manual.
+ Other minor fixes.
+
+2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
+
+ * tmac/www.tmac: New macro LINKSTYLE which allows users to set
+ various typographical URL attributes for non-HTML devices.
+
+ * tmac/groff_www.man: Document LINKSTYLE.
+
+2006-01-11 Werner LEMBERG <wl@gnu.org>
+
+ * configure.ac: Test for getc_unlocked (needed for localcharset).
+ * configure, src/include/config.hin: Regenerated.
+
+ * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
+ ENABLE_RELOCATABLE.
+
+ * src/libs/libgroff/relocatable.h: New dummy header file for
+ localcharset.c.
+
+ * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
+ gnulib version.
+
+2006-01-10 Bruno Haible <bruno@clisp.org>
+
+ Work around unportability of nl_langinfo(CODESET).
+
+ * m4/glibc21.m4: New file, from gnulib.
+ * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
+ * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
+ * Makefile.in (HOST, GLIBC21): New variables.
+ (MDEFINES): Pass them to subdirectories.
+ * src/include/relocate.h (relocatep): Define with C linkage.
+ * src/include/localcharset.h: New file, from gnulib.
+ * src/libs/libgroff/localcharset.c: New file, from gnulib with a
+ modification for relocate().
+ * src/libs/libgroff/config.charset: New file, from gnulib.
+ * src/libs/libgroff/ref-add.sin: New file, from gnulib.
+ * src/libs/libgroff/ref-del.sin: New file, from gnulib.
+ * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
+ (OBJS): Add localcharset.o.
+ (CSRCS): Add localcharset.c.
+ (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
+ (charset.alias): New rule.
+ (PACKAGE): New variable.
+ (ref-add.sed, ref-del.sed): New rules.
+ (MKINSTALLDIRS): New variable.
+ (install_data): Depend on install_charset_data.
+ (install_charset_data): New rule for creating or updating
+ charset.alias.
+ (uninstall_sub): Depend on uninstall_charset_data.
+ (uninstall_charset_data): New rule for uninstalling or updating
+ charset.alias.
+ * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
+ of <langinfo.h>.
+ (main): Initialize default_encoding from locale_charset() instead of
+ nl_langinfo(CODESET).
+
+ * aclocal.m4, configure, src/include/config.hin: Regenerated.
+
+2006-01-10 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
+ ICONV_CONST in call to iconv. Reported by Robert Goulding.
+
+2006-01-07 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
+ fontforge version.
+ Bump font version to 001.001.
+
+ * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
+ Call fontforge, not pfaedit.
+
+ * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
+
+2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc-common: Add new FreeBSD and NetBSD versions.
+ * tmac/groff_mdoc.man: Updated.
+
+2006-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
+ (raw_flag): New global variable.
+ (do_file): Use .lf to set file name (if `raw_flag' isn't set).
+ Don't pass BOM to `conversion_utf8'.
+ (usage): Updated.
+ (main): Handle `-r' command line switch to set `raw_flag'.
+ (get_BOM): Fix encodings in `BOM_table'.
+
+ * src/preproc/preconv/preconv.man: New file. Not complete yet.
+ * src/preproc/proconv/Makefile.sub (MAN1): New variable.
+
+2006-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
+ Bruno, comment out most encodings to support only a small set of
+ coding tags, thus reducing potential problems with legacy encodings
+ and character sets in the future.
+ Add many XEmacs coding tags (now commented out).
+ Add `cp1047'.
+ (check_encoding_tag): Renamed to...
+ (check_coding_tag): This.
+ (get_BOM): Return encoding as specified by BOM.
+ Test for UTF32-LE too.
+ (do_file): Don't check for coding tag if a BOM has been found.
+
+2006-01-03 Bruno Haible <bruno@clisp.org>
+
+ * m4/groff.m4: Renamed from aclocal.m4.
+ * m4/codeset.m4: New file, from gnulib.
+ * m4/iconv.m4: New file, from gnulib.
+ * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
+ gnulib.
+ * config.rpath: New file, from gnulib.
+ * config.guess, config.sub: New files, from gnulib.
+ * Makefile.sub (M4MACROS): New variable.
+ (configure): Fix typo.
+ (aclocal.m4): New rule.
+ (stamp-h.in): Depend on aclocal.m4.
+ * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
+ * Makefile.in (LIBICONV): New variable.
+ (MDEFINES): Pass it to recursive makes.
+ * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
+ HAVE_ICONV instead of I18N macro.
+ * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
+
+ * aclocal.m4, configure, src/include/config.hin: (Re)generated.
+
+2006-01-03 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.in (webpage.html): Simplify.
+ * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
+ * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
+
+2006-01-01 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (Os): Add some Darwin versions.
+ * tmac/groff_mdoc.man: Document them.
+
+2006-01-01 Bruno Haible <bruno@clisp.org>
+
+ * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
+ corrections:
+ . Don't map ascii to latin-1.
+ . Don't use IBMxxx encodings but cpxxx for portability.
+ . Map cp932, cp936, cp949, cp950 to itself.
+ (emacs2mime): Protect calls to strcasecmp.
+ (conversion_iconv): Add missing call to iconv_close.
+ (do_file): Emit error message in case of unsupported encoding.
+
+2005-12-31 Werner LEMBERG <wl@gnu.org>
+
+ Integrate preconv into the groff binary. Changes based on a patch
+ from Michail Vidiassov.
+
+ * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
+
+ * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
+ (SOELIM_INDEX): Updated.
+ (help, synopsis): Updated.
+ (main): Add command line options `-k' and `-K enc' to select
+ encoding.
+ Add support for GROFF_ENCODING environment variable.
+
+ * src/roff/groff/groff.man: Updated and revised.
+
+
+ Start with autoconf support for preconv.
+
+ * configure.ac: Call AC_C_BIGENDIAN.
+ * configure, src/include/config.hin: Regenerated.
+
+2005-12-30 Werner LEMBERG <wl@gnu.org>
+
+ New preprocessor `preconv' to convert input encodings to something
+ groff can understand. Not yet integrated within groff. Proper
+ autoconf stuff is missing too.
+
+ Tomohiro Kubota has written a first draft of this program, and some
+ ideas have been reused (while almost no code has been taken
+ actually).
+
+ * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
+ New files.
+
+ * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
+ (GROFF_BIN_PATH): Add preconv.
+
+2005-12-12 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
+ In particular, don't use `\+' since it is a GNU sed extension.
+
+ * configure: Regenerated.
+
+2005-12-09 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
+
+ * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
+ 4.1.0.
+
+
+ * src/utils/afmtodit/make-afmtodit-tables: New script to generate
+ afmtodit.tables.
+
+ * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
+ 4.1.0 data.
+
+ * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
+ %AGL_to_unicode): Removed. Replace it with a tag.
+
+ * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
+ to replace tag with actual file contents.
+
+2005-12-08 Werner LEMBERG <wl@gnu.org>
+
+ The change 2005-06-20 can indeed cause problems, so we follow the
+ advice by using marks.
+
+ * font/devps/prologue.ps (PBEGIN): Use `mark'.
+ (PEND): Use `cleartomark'.
+
+2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
+
+ * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
+ glyphs which have kern values but aren't handled (glyph variants,
+ for example).
+
+2005-12-02 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
+ subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
+
+2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
+
+ * doc/Makefile.in: Separate rule for webpage.html so that extra
+ command line options can be passed to grohtml.
+ * doc/groff.css: Change all margins to 0%.
+ * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
+ navigation is exploited. Also update webpage to contain new
+ sections on licenses, mailing lists, cvs/ftp access, groff
+ dependencies, and bug reports.
+ * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
+ * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
+
+2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp
+ (html_printer::do_file_components): Add fputs calls to emit the
+ head contents and shut down the head tag whenever a new file
+ component is generated.
+
+2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
+ call to flush_text to flush any outstanding html tags on the
+ paragraph stack.
+
+2005-11-18 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
+ Announce makeinfo version.
+ * configure: Regenerated.
+
+2005-11-18 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in: Declare proper dependencies between make targets.
+
+ * doc/Makefile.in: Rename groff info page to `groff.info'.
+ * doc/Makefile.sub: Likewise.
+ * doc/groff.texinfo: Likewise.
+
+2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
+
+ * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
+ definition of __GETOPT_PREFIX to the beginning of file to ensure
+ that it is defined even on platforms where getopt.h is already
+ included by other header files.
+
+2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
+ Reset font to NULL to ensure that a font block is recreated during
+ the next paragraph.
+
+2005-11-04 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
+ * configure: Regenerated.
+
+2005-10-27 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
+ makeinfo 4.8 or newer is available.
+ * configure.ac: Call GROFF_MAKEINFO.
+ * configure: Regenerated.
+
+ * Makefile.in (MAKEINFO): Use autoconf variable.
+ (MDEFINES): Add MAKEINFO.
+
+ * doc/Makefile.in (MAKEINFO): Use autoconf variable.
+ * doc/Makefile.sub (MAKEINFO): Remove.
+
+2005-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * REVISION: Set to 3.
+
+2005-10-17 Werner LEMBERG <wl@gnu.org>
+
+ Mention $MANPAGER variable used with some `man' systems.
+
+ * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
+
+2005-09-13 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
+
+2005-09-04 Werner LEMBERG <wl@gnu.org>
+
+Version 1.19.2 released
+=======================
+
+ * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
+
+ * doc/webpage.ms: Updated.
+
+ * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
+
+2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
+
+ * tmac/groff_ms.man: Document `PO' better.
+
+2005-09-03 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Document grotty changes.
+
+2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Backward compatibility support for `man' program.
+
+ * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
+ assignment, prior `.ll' request and then package defaults, in this
+ specified order of decreasing priority.
+
+ * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
+ altered `LL' register initialization priorities.
+
+2005-08-29 Gary W. Swearingen <garys@opusnet.com>
+
+ * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
+ section should look like.
+
+2005-08-29 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
+ be abbreviated.
+
+2005-08-27 Bernd Warken
+
+ * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
+ fixes.
+
+2005-08-11 Bernd Warken
+
+ * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
+
+2005-08-09 Bernd Warken
+
+ * tmac/www.tmac (URL, MTO): Use bold series if color support is
+ deactivated.
+
+2005-08-02 Bernd Warken
+
+ * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
+ as argument to $(INSTALL_INFO). The latter isn't portable.
+ Remove $(HTMLEXAMPLEFILES) too.
+
+ * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
+ $(datadir)/doc too.
+ Suppress warning messages and return always true.
+
+ * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
+
+2005-07-02 Bernd Warken
+
+ * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
+ * man/groff_out.man: More markup and minor improvements.
+ * src/roff/groff/groff.man: Minor improvements.
+
+2005-06-28 Werner LEMBERG <wl@gnu.org>
+
+ * ChangeLog: Split off older entries into...
+ * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
+ files.
+
+2005-06-26 Bernd Warken
+
+ * src/devices/xditview/gxditview.man: More minor fixes.
+
+2005-06-24 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/troff.cpp (troff_output::set_fill,
+ troff_output::set_color, troff_output::reset_color): Use .bcolor and
+ .fcolor instead of \m and \M, respectively.
+
+2005-06-23 Bernd Warken
+
+ * src/devices/xditview/gxditview.man: More minor fixes.
+ * README: Formatting issues.
+ Mention some problems with Debian.
+
+2005-06-23 Bernd Warken
+
+ * src/devices/xditview/gxditview.man: Revised and improved.
+
+2005-06-22 Werner LEMBERG <wl@gnu.org>
+
+ Another round in fixing getopt problems. Hopefully the last one!
+ This time we use the getopt stuff from gnulib and define a prefix
+ unconditionally so that there are no collisions with any other
+ getopt implementations. This is a slight waste of space in case
+ we already use a GNU getopt implementation, but on
+ the other hand it really simplifies life.
+
+ * src/include/getopt.h: Use gnulib version.
+
+ * src/include/getopt_int.h: Use gnulib version.
+
+ * src/include/groff-getopt.h: Removed. Obsolete now.
+
+ * src/include/lib.h: Regarding getopt, don't handle any platform
+ specially; just include getopt.h.
+ (__GETOPT_PREFIX): Define (before getopt.h).
+
+ * src/include/Makefile.sub (HDRS): Updated.
+
+ * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
+ gnulib version.
+
+ * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
+ __GETOPT_PREFIX.
+
+ * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
+ (__GETOPT_PREFIX): Define (before getopt.h).
+
+2005-06-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/lib.h: Provide a fix for Mac OS X to not include
+ groff-getopt.h.
+
+2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
+
+ * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
+ `bind' to define a procedure which contains `showpage' means that an
+ invocation of `showpage' may execute wrongly (the exact effect
+ depending on the interpreter). Not usually a problem except under
+ transformations, such as combining pages.
+ (PEND): Don't call `clear'. Reason: Using `clear' in the definition
+ of /PEND means that stack underflow will occur if the stack is
+ deliberately non-empty before document inclusion. If included
+ files are found to be generally badly behaved, we could replace the
+ `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
+ never found this necessary).
+
+2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
+
+ * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
+ earlier to get correct error message.
+
+2005-06-16 Bernd Warken
+ * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
+
+2005-06-15 Werner LEMBERG <wl@gnu.org>
+
+ Another try to update getopt files. This time we add a dummy
+ gettext.h file to satisfy the dependency.
+
+ * src/include/getopt.h, src/libs/libgroff/getopt.c,
+ src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
+
+ * src/include/getopt_int.h: New file (from GNU libc CVS).
+
+ * src/include/gettext.h: Dummy file which just defines a gettext()
+ macro.
+
+ * src/include/groff-getopt.h: Updated.
+
+ * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
+
+
+ * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
+ `const' keywords in return value.
+
+ * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
+ Remove redundant variable `old'.
+ (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
+
+ * src/preproc/tbl/main.cpp (process_table): Remove redundant
+ variable `c'.
+
+
+ Fix more friend name injection problems since modern C++ compilers
+ fail otherwise. We simply provide (global) declarations for all
+ functions declared as friends. This is not really necessary but
+ doesn't harm.
+
+ * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
+ peek_char, and get_location.
+
+ * src/preproc/refer/ref.h: Provide declarations for
+ compare_reference, same_reference, same_year, same_date,
+ same_author_last_name, and same_author_name.
+
+ * src/roff/troff/div.h: Provide declarations for do_divert and
+ page_offset.
+
+ * src/roff/troff/env.h: Provide declarations for title_length,
+ space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
+ vertical_spacing, post_vertical_spacing, line_spacing, line_length,
+ indent, temporary_indent, do_underline, do_input_trap, set_tabs,
+ margin_character, no_number, number_lines, leader_character,
+ tab_character, hyphenate_request, no_hyphenate,
+ hyphen_line_max_request, hyphenation_space_request,
+ hyphenation_margin_request, line_width, tabs_save, tabs_restore,
+ line_tabs_request, widow_control_request, and do_divert.
+
+ * src/roff/troff/input.cpp: Provide declaration for chop_macro.
+
+ * src/roff/troff/node.cpp: Provide declarations for class
+ tfont_spec.
+ Provide declaration for make_tfont.
+
+2005-05-29 Werner LEMBERG <wl@gnu.org>
+
+ * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
+
+2005-05-28 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
+ redundant semicolons.
+
+ * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
+ src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
+ Define `MLIB'. Some compilers need this for linking with libgroff.
+
+2005-05-27 Werner LEMBERG <wl@gnu.org>
+
+ * MANIFEST, README, doc/webpage.ms: Updated.
+
+2005-05-26 Werner LEMBERG <wl@gnu.org>
+
+ * All affected files: Update postal address of FSF.
+
+2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
+ Bernd Warken
+
+ * README: More fixes.
+
+ * README.CVS: Removed. Its contents is now part of the README file.
+
+2005-05-21 Werner LEMBERG <wl@gnu.org>
+
+ * README: Updated. Based on a patch from Bernd Warken.
+
+2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Miscellaneous script portability enhancements.
+
+ * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
+ generated conftest.sh script, conforming to portability
+ recommendation in autoconf docs.
+ * configure: Likewise, for code generated by GROFF_CSH_HACK.
+ * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
+ to portability recommendation in autoconf docs.
+ * contrib/grap2graph/grap2graph.sh: Likewise.
+ * contrib/pic2graph/pic2graph.sh: Likewise.
+ * font/devps/generate/afmname: Likewise.
+ * src/devices/xditview/ad2c: Likewise.
+ * src/preproc/eqn/neqn.sh: Likewise.
+ * src/roff/grog/grog.pl: Likewise.
+ * src/roff/grog/grog.sh: Likewise.
+ * src/roff/nroff/nroff.sh: Likewise.
+ * PROBLEMS: Likewise, in embedded script examples.
+
+2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Improve portability of `pdfroff' shell script.
+
+ * arch/misc/shdeps.sh: Add space in shebang, conforming to
+ portability guidelines in `autoconf' docs.
+ (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
+ initialization code. Used by contrib/pdfmark/pdfroff.sh's
+ `searchpath' function.
+
+2005-05-14 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
+ contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
+ needed for newer ImageMagick versions.
+
+2005-05-07 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/refer/refer.man: Many small typographic fixes.
+
+2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
+ Use `char *' cast for a_delete.
+
+2005-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
+ src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
+
+2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
+ `a_delete' for `const char *'.
+
+2005-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/post-html.cpp,
+ src/devices/grohtml/html-table.cpp,
+ src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
+ Replace malloc/free with new/delete/a_delete.
+
+ * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
+ are prohibited with ANSI C++.
+ (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
+ function has a variable number of arguments).
+
+ * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
+ Simplify function and update all callers.
+
+2005-05-02 Werner LEMBERG <wl@gnu.org>
+
+ Undo getopt changes from 2005-04-30. We don't want a dependency
+ on gettext.
+
+ * src/include/getopt_int.h: Removed.
+
+ * src/include/getopt.h, src/include/groff-getopt.h,
+ src/include/Makefile.sub, src/libs/libgroff/getopt.c,
+ src/libs/libgroff/getopt1.c: Revert to previous version.
+
+
+ * src/include/nonposix.h (access) [_MSC_VER]: New macro.
+
+ * src/include/posix.h (F_OK): Define conditionally.
+
+ * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
+ different variable name in second `for' loop to avoid MSVC compiler
+ problem.
+
+2005-04-30 Werner LEMBERG <wl@gnu.org>
+
+ AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
+
+ * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
+ * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
+ * configure, src/include/config.hin: Regenerated.
+
+ * PROBLEMS: Updated.
+
+
+ Update getopt files.
+
+ * src/include/getopt.h, src/libs/libgroff/getopt.c,
+ src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
+
+ * src/include/getopt_int.h: New file (from GNU libc CVS).
+
+ * src/include/groff-getopt.h: Updated.
+
+ * src/include/Makefile.sub (HDRS): Add getopt_int.h.
+
+
+ * font/devutf8/NOTES: Updated.
+
+2005-04-28 Werner LEMBERG <wl@gnu.org>
+
+ Bug fix for Win32 relocatable code. Based on a patch from Keith
+ Marshall.
+
+ * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
+ also.
+
+ * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
+ (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
+
+2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Correct `gnu.eps' handling for build from distribution tarball, with
+ separate source and build directories.
+
+ * doc/Makefile.sub: (examples.stamp): New target; forces copy of
+ grnexmpl.g, groff.css and gnu.eps from source to build directory;
+ generate gnu.eps from gnu.xpm if required; touch examples.stamp.
+ (prepare_examples): Make it depend on examples.stamp.
+ (CLEANADD): Add examples.stamp.
+
+2005-04-27 Werner LEMBERG <wl@gnu.org>
+
+ Implement the rule
+
+ position: `(' position `)'
+
+ in pic.
+
+ * src/preproc/pic/pic.y (position, position_not_place): Handle
+ additional parentheses.
+
+ * doc/pic.ms: Updated.
+
+2005-04-23 Larry Jones <lawrence.jones@ugs.com>
+
+ * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
+
+2005-04-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/pipeline.c: Don't include ctype.h.
+
+2005-04-13 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/nroff/nroff.man: Document option `-M'.
+
+2005-04-13 Bruce Lilly <blilly@erols.com>
+
+ * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
+
+2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
+ Werner LEMBERG <wl@gnu.org>
+
+ Add binary relocation support for Windows platforms.
+
+ * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
+
+ * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
+
+ * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
+ (search_path::search_path, search_path::open_file_cautious): Use
+ `relocate'.
+
+ * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
+ src/include/Makefile.sub (HDRS): Updated.
+
+2005-04-01 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
+ strsave/a_delete.
+
+ * src/libs/libgroff/font.cpp: Replace strdup with strsave.
+
+ * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
+ lib.h already does it.
+
+ * src/libs/libgroff/maxpathname.cpp: New file, defining
+ path_name_max.
+
+ * src/include/lib.h: Add prototype for path_name_max.
+
+ * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
+
+ * src/include/nonposix.h (PATH_EXT): New macro.
+
+2005-03-28 Werner LEMBERG <wl@gnu.org>
+
+ Add support for double- and zero-width characters in grotty.
+
+ * src/devices/grotty/tty.cpp (glyph): Add width.
+ (tty_printer::make_underline, tty_printer::make_bold,
+ tty_printer::add_character): Add parameter to pass character width.
+ Update all callers.
+ (tty_printer::end_page): Increase hpos by actual character width.
+
+ * font/devutf8/R.proto: Specify zero width for non-spacing
+ characters.
+
+ * tmac/unicode.tmac: Remove definitions for non-spacing entities.
+
+ * Makefile.comm (extraclean): Remove more junk files.
+
+2005-03-25 Werner LEMBERG <wl@gnu.org>
+
+ * configure.ac: Undo change from 2005-03-24.
+ * configure: Regenerated.
+
+2005-03-24 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
+ (dist): Search Makefile while descending into $(EXTRADIRS).
+
+ * doc/Makefile.in (.PHONY): Add.
+ (clean): Don't remove *.png and *.eps.
+ Don't handle *.gif.
+ (realclean): Remove *.png and *.eps.
+ (extraclean): Depend on distclean.
+
+ * configure.ac: Add copyright.
+ Handle contrib/pdfmark/Makefile.
+
+ * configure: Regenerated.
+
+2005-03-18 Larry Kollar <kollar@alltel.net>
+
+ Add numbered and definition lists to www.tmac.
+
+ * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
+ www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
+ auxiliary string registers.
+ (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
+ www-ol-ctr3, www-dl-shift): New auxiliary number registers.
+ (www-level): Removed.
+ (www-level1, www-level2, www-level3): Initialize to empty.
+ (www-level0, www-level4, www-level5, www-level6, www-level7,
+ www-level8, www-level9): New string registers.
+ (www-push-li, www-pop-li): New macros.
+ (www-push-level, www-pop-level): Renamed to...
+ (www-push-ul-level, www-pop-ul-level): This.
+ Updated.
+ (www-push-ol-level, www-pop-ol-level): New macros.
+ (ULS, ULE): Updated.
+ (OLS, OLE, DLS, DLE): New user macros.
+ (LI): Removed. It is aliased to one of...
+ (www-li-ul, www-li-ol, www-li-dl): New macros.
+
+ * tmac/groff_www.man: Document new macros.
+
+ * NEWS: Updated.
+
+2005-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
+ doc-operating-system-NetBSD-2.0.2): New strings.
+
+ * tmac/groff_mdoc.man: Updated.
+
+2005-03-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub (CLEANADD): Add `groff.html'.
+
+2005-03-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/hypot.c: Renamed to...
+ * src/libs/libgroff/hypot.cpp: This. Updated to C++.
+
+ * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
+
+ * src/include/lib.h: Updated.
+
+2005-03-16 Werner LEMBERG <wl@gnu.org>
+
+ Add workaround for broken hypot() on Interix.
+
+ * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
+
+ * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
+ (CSRCS): Add `hypot.c'.
+
+ * src/include/lib.h: Declare `groff_hypot'.
+
+ * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
+ Use `groff_hypot'.
+
+ * src/preproc/pic/pic.h: Don't declare `hypot'.
+
+ * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
+
+2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp
+ (html_printer::lookahead_for_tables): End .ce properly to avoid a
+ segfault.
+
+2005-03-15 Werner LEMBERG <wl@gnu.org>
+
+ makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
+
+ * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
+
+ * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
+
+2005-03-14 Werner LEMBERG <wl@gnu.org>
+
+ Add Cyrillic support to devutf8 and devhtml.
+
+ * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
+
+ * tmac/unicode.tmac: New file.
+
+ * tmac/tty.tmac: Include unicode.tmac if device is utf8.
+
+ * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
+
+ * NEWS: Updated.
+
+2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/libs/libdriver/printer.cpp (check_for_output_error): New
+ function. It has been introduced to catch peculiar error contexts
+ on MS-Windows platforms.
+
+2005-02-28 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cpp (string_iterator::fill): Protect against
+ null pointer.
+
+ * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
+
+ * configure: Regenerated.
+
+ * NEWS: Updated.
+
+2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Integrate `pdfmark' into normal groff build system;
+ install macro `pdfmark' packages, build and install `pdfroff',
+ and PDF format documentation.
+
+ * Makefile.comm: Add PDFDOCDIR.
+
+ * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
+ pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
+ (unstall_dirs): Add pdfdocdir.
+
+ * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
+ `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
+ (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
+ GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
+ (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
+ (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
+ set ALT_AWK_PROGS.
+ (GROFF_AWK_PATH): New function; support `--with-awk' option, force
+ use of GROFF_AWK_PREFS.
+ (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
+ and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
+
+ * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
+ Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
+ also by modified GROFF_HTML_PROGRAMS).
+
+2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
+ paragraph spacing.
+ (html_text::done_para): Unset `start_space'.
+ (html_text::remove_para_align): Call `retrieve_para_space' for the
+ spacing.
+
+ * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
+ `seen_space'.
+ (html_printer::do_check_center): Emit vertical space if necessary.
+
+ * src/roff/troff/env.cpp (environment_switch): Preserve
+ `seen_space', `seen_eol', and `suppress_next_eol' while switching
+ environments.
+
+ * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
+ `is_special'.
+
+2005-02-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
+ eqn.
+
+2005-02-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/pic.ms, man/groff.man: Fix typos.
+
+ * doc/groff.texinfo: Fix typos.
+ (\LEmacro): Get proper mathematical spacing.
+
+2005-02-16 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
+ * configure: Regenerated with autoconf 2.59b.
+
+2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
+ html_printer::start_font): Fix handling of preformatted text.
+
+2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
+
+ These patches modify the indentation implementation to use `<p
+ style=margin-left: n%>'. Many thanks to Peter and Larry for
+ suggesting this solution. Grohtml only uses tables for `.IP' and
+ related tags when the first operand has a short width.
+
+ Similarly, they modify all vertical space code. By default, grohtml
+ sets up a style sheet which uses no vertical space between `table',
+ `pre', and `p' tags. It forces spaces when it needs them using
+ `style="margin-top: 1em"'.
+
+ * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
+ (html_table::emit_table_header, html_table::emit_new_row):
+ Rewritten.
+ (html_table::set_space): New function.
+ (html_indent::html_indent): Don't set `is_used'.
+ (html_indent::begin): Rewritten.
+ (html_indent::end): Remove code in function.
+
+ * src/devices/grohtml/html-table.h: Updated.
+ (html_table): Make `out' public.
+
+ * src/devices/grohtml/html-text.cpp (html_text::html_text):
+ Initialize `start_space' with FALSE.
+ (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
+ (html_text::issue_tag): Add argument to handle space style.
+ (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
+ (html_text::flush_text): Don't set `start_space'.
+ (html_text::push_para): Don't set `p->really_issued'.
+ (html_text::do_emittext): Updated.
+ (html_text::do_para): Add paremeter to handle space.
+ Update all callers.
+ (html_text::retrieve_para_space): New function.
+
+ * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
+ (tag_definition): Remove `really_issued'.
+ (html_text): Updated.
+
+ * src/devices/grohtml/post-html.cpp (html_printer): Add variables
+ `current_column' and `row_space'.
+ Update constructor.
+ (html_printer::emit_raw, html_printer::write_header,
+ html_printer::do_indent, html_printer::do_check_center,
+ html_printer::do_tab_ts): Handle vertical space.
+ (html_printer:do_tab_te, html_printer::do_end_para): Call
+ `remove_para_space'.
+ (html_printer::do_col): Rewritten.
+ (html_printer::flush_globs): Remove debugging code.
+ (html_printer::is_line_start): New function.
+ (html_printer::start_font): Use `is_line_start'.
+ (html_printer::writeHeadMetaStyle): New function.
+ (html_printer::do_file_components, html_printer::~html_printer):
+ Call `writeHeadMetaStyle'.
+
+ * tmac/www.tmac (www-handle-percent): New macro.
+ (MPIMG): Handle percent values for width and height parameters.
+ (DC): Updated.
+
+ * tmac/groff_www.man: Updated.
+
+2005-02-14 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
+ $psname and $italic_angle.
+ Immediately restart file input loops if `split' returns an empty
+ array.
+
+2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
+ Werner LEMBERG <wl@gnu.org>
+
+ Update afmtodit to better support Unicode (Michail).
+ Update afmtodit to use Perl 5 syntax (Werner).
+
+ * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
+ `Getopts::Std'.
+ Decorate variables with `my' where necessary.
+ Use `defined' where necessary to avoid warnings.
+ Don't use `do' for subroutine calls.
+ Other minor syntax updates.
+ Check for both `uXXXX[X[X]]' and `uniXXXX'.
+ Handle glyph variants properly.
+ (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
+ strings.
+
+ * src/utils/afmtodit/afmtodit.man: Updated.
+
+2005-02-13 Werner LEMBERG <wl@gnu.org>
+
+ Make groff.texinfo work with texinfo 4.8.
+
+ * doc/groff.texinfo (@Var): Use @r and @slanted.
+ (@defdummy, @Def*): Use @c to avoid empty lines.
+ (\angles): Replaced with...
+ (\Langlemacro, \Ranglemacro): New TeX macros.
+ (@Langlemacro, @Ranglemacro): New variables defined with @set.
+ (@angles): Use @Langlemacro and @Ranglemacro.
+ (\LE): Replaced with...
+ (\LEmacro): New TeX macro.
+ (@LEmacro): New variable defined with @set.
+ (@LE): Use @LEmacro.
+ (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
+ variables defined with @set.
+ (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
+ (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
+ Update all callers.
+
+ Other minor updates.
+
+ * doc/texinfo.tex: Update to texinfo version 4.8.
+
+ * README.CVS: Updated.
+
+2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
+
+ * doc/groff.texinfo (ms Document Control Registers): Document `HY'
+ and `FAM' registers.
+
+2005-02-05 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
+ tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
+ Update BSD license.
+
+2005-02-01 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/groff.man: Add information about paper size.
+
+2005-01-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
+ NetBSD bin/29114.
+
+2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
+ cases.
+ (Re): Emit a warning if called without `.Rs'.
+ (doc-finish-reference): Use parameter for decreasing
+ `doc-reference-count'.
+ (doc-print-reference): Pass specific count parameters to
+ `doc-finish-reference'.
+
+2005-01-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libdriver/input.cpp (delete_current_env, do_file):
+ Reset pointers to zero after deallocation. This fixes a crash
+ if a driver is called with multiple input files. Reported by
+ Ken Chilton <ken@chiltonfamily.org>.
+
+ * src/devices/grops/grops.man: Add more info on DSC.
+
+2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
+ Remove dead code.
+
+2005-01-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/div.cpp (top_level_diversion::space): Protect
+ against division by zero.
+
+2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
+
+2004-12-19 Werner LEMBERG <wl@gnu.org>
+
+ * install-sh: New version; taken from texinfo CVS.
+
+2004-12-17 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/devtag.tmac: Protect against loading twice.
+ Protect agains compatibility mode.
+ * tmac/www.tmac: Protect against loading twice.
+ Load `devtag.tmac' before switching off compatibility mode.
+ * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
+
+2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
+
+ * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
+ * configure: Updated.
+
+2004-12-15 Thomas Klausner <wiz@netbsd.org>
+
+ * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
+
+2004-12-15 Werner LEMBERG <wl@gnu.org>
+
+ Make `test-groff' work again -- previously, wrong paths have been
+ used. Additionally, it can now be called from anywhere.
+
+ * test-groff.in: Don't test for groff binary. This is no longer
+ necessary since the proper paths are determined by `configure'.
+ (EXEEXT): Removed. No longer used.
+ (srcdir, builddir): Use values provided by the configure script.
+ (XENVIRONMENT): Updated.
+
+ * INSTALL: Updated.
+
+2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
+
+ Make .tag and .taga work for all devices (but only grohtml actually
+ handles them).
+
+ * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
+ (text_glob::is_br, page::add_tag, html_printer::troff_tag,
+ html_printer::handle_assertion): Don't use hard-coded string
+ lengths.
+ (html_printer::lookahead_for_table): Reset `tbl' properly if
+ necessary.
+ (html_printer::devtag): New function, handling `devtag'.
+ (html_printer::special): Don't handle `html-tag'.
+
+ * src/include/printer.h, src/libs/libdriver/printer.cpp
+ (printer::devtag): New virtual function.
+
+ * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
+ `devtag'.
+
+ * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
+ src/roff/troff/node.cpp: s/html-tag/devtag/.
+
+ * src/roff/troff/input.cpp (tag, taga): Always call
+ curenv->add_node.
+
+ * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
+ macros instead of HTML-TAG*.
+
+ * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
+
+ * tmac/www.tmac: Load devtag.tmac.
+ Replace HTML-TAG* macros with DEVTAG* macros.
+ (HTML, HTML-NS): Changed definitions.
+ (URL): Use HTML-NS.
+ (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
+
+ * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
+
+2004-12-10 Werner LEMBERG <wl@gnu.org>
+
+ Import Mike's `gdiffmk' package.
+
+ * contrib/gdiffmk/*: New files.
+ * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
+ * NEWS: Updated.
+
+2004-12-08 Werner LEMBERG <wl@gnu.org>
+
+ Import Keith's `pdfmark' package. Integration is very preliminary.
+
+ * contrib/pdfmark/*: New files.
+ * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
+ * NEWS: Updated.
+
+2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
+
+ Fix a bug with title handling in HTML.
+
+ * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
+ text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
+ length.
+ (html_printer::handle_tag_within_title): New function.
+ (html_printer::do_title): Use it.
+
+ * tmac/s.tmac (TL): Don't set `need_eo_tl'.
+ (cov*tl-au-print): Emit `.eo.tl' tag.
+
+2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
+
+ * man/groff_char.man: Minor imrovements.
+
+2004-12-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/eqn/eqn.man: Revised.
+
+2004-11-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
+ groff source files.
+ Include config.h.
+ Include limits.h.
+ Remove X_NOT_STDC_ENV conditional.
+ (Version_string, program_name): New global variables.
+ (groff_flag): Removed.
+ (MapFont): Updated.
+ (usage): Take a stream as argument.
+ Use `program_name'.
+ Update all callers.
+ (main): Add `long_options' array for `--help' and `--version'.
+ Make `-g' a dummy option.
+ Handle `-v' and unknown options.
+ Remove unused `position' variable.
+
+ * src/utils/xtotroff/Makefile.sub (MAN1): Define.
+ (XLIBS): Add LIBGROFF.
+
+ * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
+ New files.
+
+ * src/devices/xditview/Dvi.c (default_font_map): Split into three
+ parts to avoid compiler warning.
+ (resources): Don't initialize with `default_font_map'.
+ (ClassInitialize): Initialize first element of `resources'.
+
+ * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
+ Removed.
+
+ * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
+ src/utils/pfbtops/pfbtops.man: Revised, updated.
+
+ * configure.ac: Generate src/utils/xtotroff/Makefile.
+ * configure: Regenerated.
+
+2004-11-24 Werner LEMBERG <wl@gnu.org>
+
+ First fixes to get produce HTML.
+
+ * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
+ attribute.
+
+ * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
+ (HR, LI): Use `HTML</p>', not `HTML'.
+
+ * doc/webpage.ms: Minor updates.
+
+2004-11-23 Larry Kollar <kollar@alltel.net>
+
+ Add option -S grohtml to determine the file split level.
+
+ * src/devices/grohtml/post-html.cpp (split_level): New global
+ variable.
+ (html_header::determine_header_level): Use split_level.
+ (main): Handle `-S' command line option.
+ Sort options.
+
+ * src/preproc/html/pre-html.cpp (scanArguments): Updated.
+
+ * src/devices/grohtml/grohtml.man: Document it.
+ Sort options.
+
+ * NEWS: Document it.
+
+2004-11-23 Y T <doarhop@hotmail.com>
+
+ * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
+ the volume and number refer entries.
+
+2004-11-22 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/html-table.cpp
+ (html_table::emit_table_header): Don't emit `cols' attribute which
+ doesn't exist in HTML 4.0 and is thus invalid.
+
+ * NEWS: More minor fixes and updates.
+
+2004-11-18 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
+ (HTML</p>): Minor clean-up.
+
+ * tmac/groff_www.man: Updated.
+
+ * src/devices/grohtml/grohtml.man: Revised and updated.
+
+ * NEWS: Updated.
+
+2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
+ Fix space insertion.
+ (html_printer::do_links): Fix rules generation around automatic
+ heading links.
+
+ * tmac/www.tmac (LK): Use HTML-TAG-NS.
+ (HR): Simplify.
+ No longer emit empty line for non-HTML devices.
+
+2004-11-17 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.in (prepare_examples, webpage.html): Handle
+ `groff.css'.
+
+ * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
+ prepare_examples, webpage.html): Handle `groff.css'.
+
+2004-11-15 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, README, doc/webpage.ms: Updated.
+
+ * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
+
+2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/include/printer.h (printer): Remove virtual function
+ `round_width'.
+ Update all source files.
+
+ * src/devices/grohtml/post-html.cpp (html_printer): New member
+ function `round_width'.
+
+2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
+
+ * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
+ column key letter suffix.
+
+2004-10-14 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (check): Depend on `site.exp' and `docheck'.
+ (docheck): Run dejagnu's `runtest' if it exists.
+ (site.exp): Create dejagnu configuration file.
+
+ * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
+
+2004-10-13 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
+ src/devices/grohtml/post-html.cpp (make_val,
+ html_printer::handle_state_assertion): Fix compiler warnings.
+
+ * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
+ (diversion::diversion): Fix order of initializers.
+
+ * src/roff/troff/div.h: Don't include `mtsm.h'.
+
+ * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
+ (environment::environment): Fix order of initializers.
+ (environment::make_tag, environment::construct_format_state): Fix
+ compiler warnings.
+
+ * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
+ (input_iterator::input_iterator, macro::macro): Fix order of
+ initializers.
+
+ * src/roff/troff/mtsm.cpp: Include only necessary header files.
+ (state_set::add, state_set::val): Fix compiler warnings.
+
+ * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
+ (bool_value_state, int_value_state, units_value_state,
+ string_value_state): Remove comma after last element which causes
+ an error with g++ 3.3.3.
+
+ * src/roff/troff/node.cpp: Include `stringclass.h'.
+ (hline_node::hline_node, vline_node::vline_node,
+ space_char_hmotion_node, left_italic_corrected_node): Fix compiler
+ warnings.
+ (zero_width_node::zero_width_node): Fix order of initializers.
+
+ * src/roff/troff/node.h: Don't include `mtsm.h'.
+ (hmotion_node): Fix compiler warnings.
+
+ * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
+
+2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
+
+ * doc/groff.css: New file.
+
+ * doc/webpage.ms: Use `groff.css'.
+ Other small fixes.
+
+ * tmac/an-old.tmac (need_eo_h): New number register.
+ (TH): Emit `.eo.tl' tag after title.
+ (SH): Set `need_eo_h'.
+ (an-trap): Handle `need_eo_h'.
+ (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
+
+ * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
+ (TL): Always start diversion.
+ Updated.
+ (@AI): Always call `par@reset'.
+ (@AB): Update code for -Thtml.
+ (cov*tl-au-print): Handle -Thtml.
+ (par@reset): Handle `need_eo_tl', `need_eo_h'.
+ (@IP): Simplified.
+ (@IT-html): Removed.
+ (@SH): Set `need_eo_h' for -Thtml.
+ (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
+ Set `need_eo_tl'.
+ (@NH): s/HTML-TAG/HTMl-TAG-NS/.
+ Set `need_eo_h' for -Thtml.
+ (@EQ, @EN): Don't handle -Thtml specially.
+ (par@load-init): Don't handle -Thtml specially.
+
+ * tmac/www.tmac (www:paraspace): New macro.
+ (HTML-NS, HTML-TAG-NS): Use new `tag' request.
+ (HTML</p>, HTML-TAG-NEXT): New macros.
+ (HnE): Emit tag `.eo.h' instead of break.
+ (HR): s/HTML-NS/HTML/.
+ (www-end-nowhere): End diversion only if `www-html' not set.
+ Emit `.eo.tl' tag.
+ (ULS, ULE): s|HTML|HTML</p>|.
+ (LI): Call `www:paraspace'.
+ (HEAD): New macro.
+
+2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/roff/troff/request.h (macro): Make `p' public.
+ New variable `is_a_diversion'.
+ New member function `is_diversion'.
+
+
+ * src/devices/grohtml/html.h (simple_output): New member function
+ `force_nl'.
+
+ * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
+ computation of `total'.
+ (tabs::check_init): New function.
+ (html_table::emit_table_header): Emit style data.
+ (html_table::insert_column): Improved.
+
+ * src/devices/grohtml/html-table.h: Updated.
+
+ * src/devices/grohtml/html-text.cpp (html_text::html_text):
+ Initialize `start_space' with TRUE.
+ (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
+ cases.
+ (html_text::flush_text): Set `start_space' flag.
+ (html_text::uses_indent, html_text::remove_para_space,
+ html_text::get_alignment): New functions.
+ (html_text::push_para): Updated.
+ (html_text::do_para): Check for empty argument.
+ Don't set `space_emitted'.
+ (html_text::do_space, html_text::emit_space): Updated.
+
+ * src/devices/grohtml/html-text.h (tag_definition): New variable
+ `really_issued'.
+ (html_text): New member function `uses_indent', `remove_para_space',
+ `get_alignment'.
+
+ * src/devices/grohtml/output.cpp (simple_output::force_nl): New
+ function.
+ (simple_output:nl): Always emit `\n'.
+
+ * src/devices/grohtml/post-html.cpp: Include `string.h'.
+ (BASE_POINT_SIZE): Removed.
+ (base_point_size, head_info): New global variables.
+ (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
+ `is_eo_h'.
+ (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
+ tags, respectively.
+ (page::add_and_encode): Pass additional parameter for tag flag.
+ (assert_pos): New structure.
+ (assert_state): New class.
+ (html_printer): Remove `indentation', `prev_indent'.
+ Add variables `troff_indent', `device_indent', `temp_indent'.
+ Add variables `seen_indent', `next_indent', `seen_pageoffset',
+ `next_pageoffset', `seen_linelenght', `next_linelength',
+ `seen_center', `next_center', `seen_space', `seen_break', `as'.
+ Add member functions `do_check_center', `do_space', `do_head',
+ `get_troff_indent', `restore_troff_indent', `handle_assertion',
+ `handle_state_assertion', `do_end_para', `set_char_and_width'.
+ Change argument to `do_fill' to `char *'.
+ Update constructor.
+ (html_printer::emit_raw): Call `shutdown_table'.
+ Use new functions.
+ (html_printer::do_center): Simplified.
+ (html_printer::do_title): Improved.
+ (html_printer::write_header): Emit one more newline.
+ Use new functions.
+ (html_printer::do_heading, html_printer::do_indent,
+ html_printer::do_eol, html_printer::do_tab_ts,
+ html_printer::do_tab, html_printer::do_tab0,
+ html_printer::calc_po_in, html_printer::next_horiz_pos,
+ html_printer::remove_courier_tabs,
+ html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
+ Updated.
+ (html_printer::do_linelength, html_printer::do_pageoffset,
+ html_printer::do_indentation, html_printer::do_tempindent,
+ html_printer::do_tab_te): Simplified.
+ (html_printer::do_pointsize): Check whether point size is really
+ associated a `.tl' tag.
+ (html_printer::do_break): Rewritten.
+ (html_printer::troff_tag): Improved.
+ (html_printer::flush_globs): Updated.
+ (html_printer::lookahead_for_tables): Handle `is_br'.
+ Use new functions.
+ (html_printer::set_char): Check `sbuf_style.f'.
+ (html_printer::write_navigation): Use string comparison.
+ (html_printer::~html_printer): Emit `head_info'.
+ (html_printer::special): Rewritten.
+ (get_str, make_val): New functions.
+ (main): New option `s' to set the base point size.
+
+ * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
+
+2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/roff/troff/node.cpp: New extern `debug_state'.
+ Include `stringclass.h' and `mtsm.h'.
+ Implement new classes and class members from `node.h'.
+ (real_output_file): Make `fp' public.
+ (troff_output_file): New variables `cur_div_level' and `tag_list'.
+ Update constructors.
+ (troff_output_file::really_print_line): Check whether we should push
+ the current troff state and use the state at the start of the
+ invocation of this diversion.
+ (troff_output_file::add_to_tag_list): New member function.
+ (node::add_char): Handle `glyph_comp_np'.
+
+ * src/roff/troff/node.h: Include `mtsm.h'.
+ (node): New variables `state', `push_state', `div_nest_level',
+ `is_special'. Update constructors, all descendants.
+ Pass additional argument to `add_char' member function.
+ New virtual member functions `is_tag', `debug_node',
+ `debug_node_list'. Update all descendants.
+ (tag_node): New class for handling tags.
+ (output_file): Add variable `state'.
+
+2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
+ providing a minimal troff state machine to emit meta tags for the
+ post-grohtml device driver.
+
+ * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
+ files.
+
+2004-10-09 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
+
+2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
+
+ * src/roff/troff/div.h: Include `mtsm.h'.
+ (diversion): New variables `any_chars_added', `needs_push',
+ `saved_seen_break', `saved_seen_space', `saved_seen_eol',
+ `saved_suppress_next_eol', `modified_tag'.
+ New virtual member function `is_diversion'. Update all descendants.
+
+ * src/roff/troff/div.cpp (diversion::diversion,
+ macro_diversion::macro_diversion): Updated.
+ (do_divert): Handle `seen_break', `seen_space', `seen_eol',
+ `suppress_next_eol'.
+ (top_level_diversion::space): Handle `curenv->seen_space'.
+ (page_offset): Update tag handling.
+ (space_request, blank_line, flush_output): Don't call `add_html_tag'.
+
+ * src/roff/troff/env.h (environment): Make `tabs' public.
+ Remove `ignore_next_eol', `emitted_node'.
+ Update `output_line', `output'.
+ New variables `seen_space', `seen_eol', `suppress_next_eol',
+ `seen_break'.
+ New member functions `construct_state', `make_tag',
+ `construct_format_state, `construct_new_line_state,
+ `dump_troff_state'.
+ Remove `add_html_tag', `make_html_tag'.
+
+ * src/roff/troff/env.cpp: New externs `suppress_push',
+ `get_diversion_state', `global_diverted_space'.
+ (pending_output_line): New variable `was_centered'.
+ Update constructor and all callers.
+ (pending_output_line::output): Call `curenv->construct_format_state'.
+ (environment::environment, environment::copy): Updated.
+ (environment::output): Handle `was_centered'.
+ (environment::add_char): Handle construct and diversion state.
+ (environment::add_node): Handle construct state.
+ (environment::newline): Handle `was_centered'.
+ (environment::output_line): Updated.
+ (environment::possibly_break_line): Updated.
+ Update tag handling.
+ (environment::add_html_tag): Replaced with...
+ (environment::make_tag): New function.
+ (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
+ (environment::dump_troff_state): New debugging function.
+ (environment::construct_state, environment::construct_format_state,
+ environment::construct_new_line_state): New functions.
+ (environment::do_break): Updated.
+ Handle `global_diverted_space'.
+ (environment::handle_tag): Update tag handling.
+ (point_size, fill, do_break_request): Don't call `add_html_tag'.
+ (no_fill): Don't call `add_html_tag'.
+ Set `suppress_next_eol'.
+ (center, right_justify, line_length, indent, temporary_indent,
+ set_tabs):
+ Update tag handling.
+
+ * src/roff/troff/input.cpp: Don't include `stringclass.h'.
+ (input_iterator): New variables `is_diversion', `diversion_state'.
+ Update constructors.
+ (input_stack): New member functions `get_div_level',
+ `get_diversion_state', `check_end_diversion'.
+ New variables `div_level', `diversion_state'. Initialize them.
+ (suppress_push, global_diverted_space): New global variables.
+ (input_stack::finish_get, input_stack::finish_peek,
+ input_stack::remove_boundary, input_stack::end_file,
+ input_stack::clear, input_stack::pop_macro): Call
+ `check_end_diversion'.
+ (input_stack::push): Handle `div_level' and `diversion_state'.
+ (get_diversion_state): New function.
+ (diverted_space_node::reread): Handle `global_diverted_space'.
+ (macro::macro): Update constructors.
+ (macro::is_diversion): New function.
+ (macro::operator=): Set `is_a_diversion'.
+ (string_iterator): New member function `is_diversion'.
+ (string_iterator::string_iterator): Update constructors.
+ (string_iterator::fill): Set `div_nest_level'.
+ (macro_iterator): New member function `is_diversion'.
+ (do_if_request): Handle `suppress_push'.
+ (tag, taga): New functions.
+ (init_input_requests): Add `tag' and `taga' requests.
+
+2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/include/font.h (font): New member function
+ `get_image_generator'.
+ New variables `unscaled_charwidths' and `image_generator'.
+
+ * src/libs/libgroff/font.cpp (font::get_width): Always return the
+ character's unscaled width if `font::unscaled_charwidths' is set.
+ (font::get_image_generator): New function.
+ (font::load_desc): Check the `unscaled_charwidths' and
+ `image_generator' keywords.
+
+ * src/libs/libgroff/fontfile.cpp: Initialize
+ `font::unscaled_charwidths' and `font::image_generator'.
+
+ * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
+
+ * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
+
+ * man/groff_font.man: Document `unscaled_charwidths' and
+ `image_generator'.
+
+ * src/preproc/html/pre-html.cpp: Include `device.h'.
+ (image_gen): New global variable.
+ (imageList::createPage): Use `image_gen'.
+ (main): Use `image_generator' keyword.
+
+2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
+
+ * tmac/html.tmac: Handle \[sqrtex].
+
+2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/include/printer.h (printer): New virtual method `round_width'.
+
+ * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
+ src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
+ src/devices/grotty/tty.cpp (printer::round_width): New function
+ member.
+
+ * src/devices/grohtml/post-html.cpp (printer::round_width): New
+ function member.
+ (html_printer::set_numbered_char): Use it.
+
+2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
+
+ * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
+
+ * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
+
+ * configure: Regenerated.
+
+ * Makefile.in (GHOSTSCRIPT): New variable.
+ (MDEFINES): Add GHOSTSCRIPT.
+
+2004-10-03 Werner LEMBERG <wl@gnu.org>
+
+ * INSTALL.gen: Updated (taken from texinfo CVS).
+
+2004-09-28 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Updated.
+
+2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
+
+ * tmac/groff_www.man: Revised and updated.
+
+2004-09-26 Werner LEMBERG <wl@gnu.org>
+
+ Fix \$@ and \$* to handle any number of arguments.
+
+ * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
+ characters.
+
+ * src/roff/troff/input.cpp (input_iterator::internal_level):
+ Removed.
+ (input_stack): New member functions `increase_level' and
+ `decrease_level'.
+ (input_stack::get_level): Don't use `internal_level'.
+ (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
+ (end_quote_iterator): Completely removed.
+ (interpolate_arg): Build string for \$@ and \$* which is then
+ pushed onto the input stack.
+
+2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
+ Registers): Document changes from 2004-09-19.
+
+2004-09-23 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (ne): Using default scaling operator.
+
+2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ This change implements the following features:
+
+ PORPHANS
+ New numeric register: Defines number of lines following LP, PP,
+ QP, IP or XP, which must be kept together, before any automatic
+ page break. If insufficient space remains on the current page, a
+ page break is forced before the new paragraph begins.
+
+ HORPHANS
+ New numeric register: Sets number of lines of following paragraph
+ which must be kept with a heading, defined by NH or SH, before any
+ automatic page break. If insufficient space remains on the
+ current page, a page break is forced before the heading.
+
+ GROWPS
+ (Thanks to Joerg van den Hoff, for this idea).
+
+ New numeric register: Sets the first level of heading (set with
+ NH), which will keep the same point size as body text; e.g. if
+ GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
+ point size specified by \n[PS], but .NH 2 and .NH 1 will have
+ progressively larger point sizes, determined by \n[PSINCR] (see
+ below).
+
+ PSINCR
+ New numeric register: Sets the point size increment for each level
+ of heading, (set with NH), below the threshold level set by
+ GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
+ then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
+ and all other levels will remain at 10pt, (because \n[PS] = 10).
+
+ SH
+ Existing macro now accepts a numeric argument, to make heading
+ size match that of NH with same argument value, when the
+ GROWPS/PSINCR feature is enabled.
+
+ SN-DOT
+ New string, set by NH macro, replaces the existing (undocumented)
+ use of SN, to represent the assigned section number.
+
+ SN-NO-DOT
+ New string, set by NH macro, represents the assigned section
+ number, but omits the terminal period (periods at intermediate
+ levels are retained).
+
+ SN
+ String set by NH macro, originally undocumented, now implemented
+ as an alias for SN-DOT (which reproduces original behaviour).
+
+ * tmac/s.tmac (PORPHANS): New register.
+ (par*start): Use it.
+ (HORPHANS, GROWPS, PSINCR): New registers.
+ (SH-NO-TAG, @SH): Use them.
+ (@NH): Improved.
+
+2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
+ Document the deletion of `Ds' and `De' macros.
+
+2004-09-10 Werner LEMBERG <wl@gnu.org>
+
+ In tbl, handle \a as an interpreted leader character if in
+ compatibility mode.
+
+ * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
+ LEADER_CHAR): New macros.
+ (compatible_flag): New declaration.
+
+ * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
+ LEADER_3, and LEADER_4 to `state'.
+ (table_input::get): Handle `\a'.
+
+ * src/preproc/tbl/table.cpp (PREFIX): Removed.
+ (LEADER_REG): New macro.
+ (table::init_output): Define LEADER_REG string register if in
+ compatibility mode.
+
+ * src/preproc/tbl/tbl.man: Document it.
+
+2004-08-18 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc.tmac (An): Fix error message.
+
+2004-08-06 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
+ file can't be opened. UNIX tbl has the same behaviour.
+
+2004-08-05 Y T <doarhop@hotmail.com>
+
+ * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
+ (DBRead): If in compatibility mode, take into account the text
+ when computing figure boundaries.
+
+2004-08-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/soelim/soelim.man: Improved. Based on suggestions
+ from Tadziu Hoffmann.
+
+2004-08-03 Werner LEMBERG <wl@gnu.org>
+
+ * doc/meref.me: Document `_M' register.
+
+2004-08-03 Martin Husemann <martin@duskware.de>
+
+ Make hpftodit work correctly on big-endian systems.
+
+ * src/utils/hpftodit/hpftodit.cpp (File): New method
+ `get_uint32(char *)'.
+ (entry): New member `orig_value'.
+ (read_tags): Use new method.
+ (output_font_name, read_and_output_pcltypeface, dump_ascii):
+ Updated.
+
+2004-08-01 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
+ are already in X11's `macros.t' file.
+
+2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
+ Fix casting bug.
+ (read_and_output_pcltypeface): Handle strings with length <= 4.
+
+2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
+
+ * tmac/s.tmac (pg@top): Don't save `PO' register.
+ (pg*end-col, pg*end-page): Directly use `PO' register.
+
+2004-07-27 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
+
+ * src/preproc/refer/refer.cpp (output_references): Check for
+ empty hash table.
+ * src/preproc/refer/refer.man: Improve documentation of
+ `bibliography' command.
+
+2004-07-26 Werner LEMBERG <wl@gnu.org>
+
+ Add requests `fcolor' and `gcolor'.
+
+ * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
+ New functions.
+ (init_env_requests): Add `fcolor' and `gcolor'.
+
+ * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
+ (Colors): Document new requests.
+
+2004-07-24 Werner LEMBERG <wl@gnu.org>
+
+ Add support for fractional point sizes in ms macros. A value for
+ PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
+ by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
+
+ * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
+ PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
+
+ * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
+ Registers), NEWS: Document it.
+
+2004-07-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/lex.cpp (for_input): Add member `from'.
+ Update constructor.
+ (do_for, for_input::get, for_input::peek): Handle negative `by'.
+ * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
+
+2004-07-08 Thomas Klausner <wiz@netbsd.org>
+
+ * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
+ * tmac/groff_mdoc.man: Updated.
+
+2004-07-05 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Manipulating Hyphenation): Further improve
+ documentation of `hcode'.
+
+2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
+
+ Improve appearance of arrows in pic.
+
+ * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
+ arrow head thin.
+ Use two line segments for drawing non-filled arrow head.
+ (line_object::print, spline_object::print): Shorten line length to
+ avoid arrow sticking.
+ (arc_object::print): Take arrow direction into account.
+
+2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
+
+ * tmac/groff_www.man: Update documentation of .MPIMG.
+
+2004-07-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (RI): Always start with font `R'.
+ (RI, IR): Properly end with font `R'.
+
+2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * man/ditroff.man, man/groff_font.man, man/groff_out.man,
+ src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
+ src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
+ Don't pass more than six arguments to .R, .I, .B, etc., for
+ compatibility with traditional troff macros.
+
+2004-07-02 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
+ s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
+ Update all users.
+ (PUSH_COMP_MODE): New internal character constant.
+ Update all users.
+
+ * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
+ PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
+ (token::next, macro::append): Handle PUSH_COMP_MODE.
+ (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
+ POP_GROFFCOMP after each of the decoded arguments to make them
+ independent from the compatibility mode status.
+ (comp_mode): Add `COMP_ENABLE'.
+ (do_define_string, do_define_macro): Handle COMP_ENABLE.
+ (define_string, append_string, define_macro, define_indirect_macro,
+ append_macro, append_indirect_macro): Handle `compatible_flag'.
+ (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
+
+ * man/groff_diff.man, doc/groff.texinfo: Updated.
+
+2004-07-01 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Improve documentation of `hcode'.
+ Use @documentencoding and convert document to latin-1; to do that
+ make latin characters active and assign proper macros (within a
+ @tex...@end tex environment).
+ * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
+ * doc/Makefile.sub (groff): Ditto.
+
+2004-06-29 Werner LEMBERG <wl@gnu.org>
+
+ Implement two new conditional operators `F <name>' and `S <name>'
+ which check whether <name> is a valid font or style, respectively.
+
+ * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
+ (text_file::text_file): Updated.
+ (text_file::error): Don't emit message if `silent' is set.
+ (font::load_font): Add optional third argument (which is directly
+ passed to `load'.
+ (font::load): Add optional second argument to check the header of
+ a font only, without emitting warning or error messages.
+ * src/include/font.h (font): Updated.
+
+ * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
+ conditionals.
+ * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
+ fourth argument to check a font without mounting.
+ (check_font, check_style): New functions.
+ * src/roff/troff/node.h: Updated.
+
+ * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
+ Updated.
+
+2004-06-27 Werner LEMBERG <wl@gnu.org>
+
+ Implement new string-valued register `.sty' to return the current
+ style name.
+
+ * env.cpp (environment::get_style_name_string): New function.
+ (init_env_requests): Add `.sty' register.
+ * env.h (environment): Updated.
+ * node.cpp (font_info): Make `get_style_name' a friend.
+ (get_style_name): New function.
+ * node.h: Updated.
+
+ * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
+ Updated.
+
+2004-06-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
+ `nospaces' option.
+
+2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
+
+ * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
+ and \n[mo] to avoid dependency on current date.
+
+2004-06-08 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.sub (install_data): New target.
+
+2004-06-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
+
+2004-06-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
+ order of libraries.
+ (install_data): Add $(srcdir).
+
+ * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
+ libraries.
+
+2004-06-02 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
+ Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
+ Add test for Xmu library.
+ (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
+ GROFF_APPRESDIR_DEFAULT): New macros.
+
+ * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
+ and GROFF_APPRESDIR_DEFAULT.
+
+ * configure: Regenerated.
+
+ * Makefile.in (appresdir): New variable.
+ (MDEFINES): Add appresdir.
+
+ * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
+ -Xt.
+ (install_data, uninstall_sub): New targets to handle GXditview.ad.
+
+ * src/utils/indxbib/Makefiles.ub (install_data): Depend on
+ `$(srcdir)/eign', not `eign'.
+
+ * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
+
+ * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
+ src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
+ Protect (g)xditview with `\%' to avoid hyphenation.
+ Other minor formatting.
+
+2004-06-01 Werner LEMBERG <wl@gnu.org>
+
+ Integrate gxditview into groff's standard directory hierarchy.
+
+ * src/xditview/*: Moved to ...
+ * src/devices/xditview/*: Here.
+ Moved DviChar.h and XFontName.h to src/include.
+ Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
+ Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
+ Moved xtotroff.c to new directory src/utils/xtotroff.
+ Provide proper Makefile.sub files (reusing the stuff from
+ Imakefile.in).
+ DESC renamed to DESC.in.
+ Removed GXDitview-ad.h, INSTALL, Imakefile.in.
+ Converted everything from K&R to ANSI C.
+ Decorated with const where appropriate.
+ Cast string constants with `String' and `char *' where appropriate.
+ Made it compile with C++ (used as a C compiler).
+ Removed other minor compiler warnings.
+
+ * src/devices/xditview/device.c: Include config.h, string.h, and
+ defs.h.
+ Don't declare `exit', `strtok', `strchr', and `getenv'.
+ (FONTPATH): Remove.
+
+ * src/devices/xditview/font.c: Don't declare `XParseFontName' and
+ `XFormatFontName'.
+
+ * src/devices/xditview/xditview.c: Include config.h.
+ Include stdio.h earlier.
+ Protect declaration of `popen' and `pclose' with
+ NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
+ Replace `caddr_t' with `XtPointer'.
+ (MakePromptFunc): New typedef.
+ (DoPrint): Use RETSIGTYPE.
+ (promptfunction): Change type to MakePromptFunc.
+ (MakePrompt): Use MakePromptFunc for third argument.
+ (xmalloc): Removed.
+
+ * src/devices/xditview/ad2c: Add casts to `String'.
+
+ * src/include/XFontName.h (XFontNameString): Don't use array
+ notation.
+ Add prototypes for `XParseFontName', `XFormatFontName',
+ `XCompareFontName', and `XCopyFontName'.
+
+ * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
+ `XFontName.h'.
+
+ * src/utils/xtotroff/xtotroff.c: Include getopt.h.
+ Don't declare `XParseFontName' and `XFormatFontName'.
+ (xmalloc): Removed.
+ (main): Remove `optind' and `optarg'.
+
+ * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
+ (to select programs which need X).
+ Make XDEVIDIRS depend on `FORCE'.
+ (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
+ X support).
+ (MDEFINES): Updated.
+ (LIBDIRS): Use XLIBDIRS.
+ (CPROGDIRS): Use XPROGDIRS.
+ (DEVDIRS): Remove font directories for gxditview.
+ (ALLDIRS, DISTDIRS): Add XDEVDIRS.
+ (EXTRADIRS): Remove src/xditview.
+
+ * Makefile.sub (DISCLEANFILES): Updated.
+
+ * Makefile.comm (LIBXUTIL): New variable.
+ (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
+ (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
+
+ * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
+
+ * aclocal.m4 (GROFF_X11): New function.
+
+ * configure.ac: Call GROFF_X11.
+ Don't create src/xditview/Imakefile.
+ Don't emit notice how to build gxditview.
+
+ * configure: Regenerated.
+
+ * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
+
+2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
+
+ * Makefile.in (CPPFLAGS): Define.
+ (MDEFINES): Add CPPFLAGS.
+
+2004-05-27 Werner LEMBERG <wl@gnu.org>
+
+ * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
+
+2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
+
+ Fix problems with `friend name injections'.
+
+ * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
+ make_script_box), src/roff/troff/div.h (end_diversions),
+ src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
+ change 2004-04-08.
+
+2004-05-25 Bernd Warken <bwarken@mayn.de>
+
+ * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
+
+2004-05-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
+ src/libs/libgroff/color.cpp: Include lib.h.
+
+2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * PROBLEMS: Update documentation for problems with Sun C++ 5.0
+ through Forte 6u1, and for how to get GNU make on Solaris.
+
+2004-05-24 Werner LEMBERG <wl@gnu.org>
+
+ * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
+ by Paul Eggert.
+
+2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
+ rule.
+
+2004-05-14 Werner LEMBERG <wl@gnu.org>
+
+ * REVISION: Set to 2.
+
+ * aclocal.m4 (GROFF_STDINT_H): Removed.
+ (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
+
+ * configure.ac: Updated.
+ * configure, src/include/config.hin: Regenerated.
+
+ * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
+ inttypes.h conditionally.
+
+2004-05-13 Werner LEMBERG <wl@gnu.org>
+
+Version 1.19.1 released
+=======================
+
+2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
+
+ * src/preproc/refer/label.y (same_author_last_name,
+ same_author_name): Handle empty sort keys.
+
+2004-05-10 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
+ tmac/TODO: Updated.
+
+ * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
+ doc-str-Lb-librt): Reset font.
+ (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
+ Provide `doc-str-Lb' to reset font.
+ * tmac/groff_mdoc.man: Updated.
+
+2004-05-08 Jan Schaumann <jschauma@netmeister.org>
+
+ * src/preproc/html/pre-html.cpp (make_message): Make it work for
+ snprintf versions which don't conform to ANSI C 99 (this is,
+ counting the string's trailing null byte in the return value).
+
+2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
+ that all implementations of sprintf handle null pointers correctly.
+
+2004-05-04 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document `.U' register.
+
+ * src/roff/troff/env.cpp (environment::mark_last_line)
+ [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
+
+2004-05-04 Larry Kollar <kollar@alltel.net>
+
+ New read-only register `.U'; it returns 1 in safer mode and 0
+ otherwise.
+
+ * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
+ register.
+
+2004-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
+
+2004-04-17 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/font.h (font): Use `int' for ch_index.
+ * src/libs/libgroff/font.cpp (font::alloc_ch_index,
+ font::compact): Updated.
+
+ * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
+ warnings.
+
+ * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
+ (hyphen_word): Fix compiler warnings.
+ * src/roff/troff/input.cpp (get_char_for_escape_name): Return
+ `char'.
+ Update all callers.
+ (get_delim_number, get_line_arg): Change second argument type to
+ `unsigned char'.
+ (macro_header::copy, token::next, do_define_string,
+ do_define_character, substring_request, asciify_macro,
+ unformat_macro, read_size, non_interpreted_node::interpret,
+ while_request, main: Fix compiler warnings.
+ (read_color_draw_node): Initialize `col'.
+
+ * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
+ `start_col' and `end_col' of type `int'.
+ (vertical_rule): Make `col' of type `int'.
+
+ * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
+ for EOF.
+
+ * src/preproc/refer/label.y (uppercase_array, lowercase_array):
+ New arrays.
+ (format_serial): Use them to remove dependency on ASCII.
+
+ * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
+ compiler warning.
+ * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
+ Ditto.
+
+ * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
+ compiler warnings.
+ (glyph): Change type of `hpos' to `int'.
+
+ * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
+ * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
+
+ * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
+
+ * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
+
+2004-04-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
+ src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
+ src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
+ `double' instead of `float' everywhere.
+ * src/preproc/grn/main.cpp: Use `double' instead of `float'
+ everywhere.
+ (main): Add return value.
+ * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
+ everywhere.
+ Update all user functions.
+
+ * src/include/search.h, src/include/ptable.h, src/include/printer.h,
+ src/preproc/eqn/box.h, src/preproc/pic/object.h,
+ src/preproc/refer/refer.h, src/preproc/tbl/table.h,
+ src/preproc/tbl/table.cpp, src/roff/troff/env.h,
+ src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
+ src/roff/troff/input.cpp, src/roff/troff/request.h,
+ src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
+ declarations.
+
+ * src/utils/indxbib/signal.c: Include stdlib.h.
+
+2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * tmac/s.tmac (@init, RP): Allow initialization of the PO register
+ before the first page.
+
+2004-04-14 Thomas Klausner <wiz@netbsd.org>
+
+ * tmac/doc-common (doc-volume-as-*): Use lowercase names.
+ (doc-operating-system-*): Updated.
+ * tmac/doc-syms (doc-str-St-*): Various small fixes.
+ (doc-str-Lb-*): Add more library names.
+
+2004-04-10 Art Haas <ahaas@airmail.net>
+
+ * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
+ use anonymous type.
+
+2004-04-09 Art Haas <ahaas@airmail.net>
+
+ * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
+
+2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * arch/misc/shdeps.sh: Generate better comment for sed script.
+
+2004-04-08 Art Haas <ahaas@airmail.net>
+
+ * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
+ src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
+ src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
+ src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
+ (polyfill), src/preproc/grn/main.cpp (polyfill),
+ src/preproc/refer/command.cpp (command_table),
+ src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
+ gcc 3.5 doesn't like).
+
+2004-04-08 Werner LEMBERG <wl@gnu.org>
+
+ Removing many compiler warnings. groff should now compile with
+ a C++ compiler used for C files also. [Simple variable renamings
+ to avoid shadowing aren't logged in detail.]
+
+ * src/devices/grodvi/dvi.cpp: Some local variable renamings.
+ (draw_dvi_printer::draw) ['c']: Enclose in block.
+
+ * src/devices/grohtml/post-html.cpp: Some local variable renamings.
+ (page::add_line): Fix typos.
+ * src/devices/grohtml/html-text.cpp: Some local variable renamings.
+
+ * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
+ Some local variable renamings.
+ * src/devices/grolbp/lbp.h: Some local variable renamings.
+
+ * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
+ variable renamings.
+
+ * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
+ Remove redundant local variable declaration.
+ * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
+ Don't use `caddr_t' but `void *'.
+ Enclose functions with `extern "C"' for C++.
+
+ * src/libs/libdriver/input.cpp (remember_filename,
+ remember_source_filename): Use cast for string constant.
+
+ * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
+ src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
+ src/libs/libgroff/geometry.cpp: Some local variable renamings.
+ * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
+ style.
+ Enclose functions with `extern "C"' for C++.
+ * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
+ (needs_quoting): Return `int'.
+ (quote_arg): Add proper casts to malloc and realloc.
+ * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
+ various MS Windows environments.
+ (spawnvp_wrapper): Add proper cast to malloc.
+
+ * src/preproc/eqn/box.h: Remove redundant declarations of
+ `make_script_box', `make_mark_box' and `make_lineup_box'.
+ * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
+ * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
+ variable renamings.
+
+ * src/preproc/grn/hpoint.cpp: Some local variable renamings.
+ * src/preproc/grn/hgraph.cpp: Some local variable renamings.
+ (dx, dy): Renamed functions to...
+ (deltax, deltay): This.
+ * src/preproc/grn/main.cpp: Some local variable renamings.
+ (deffont): Add `const'.
+ (initpic, conv): Use cast for string constant.
+
+ * src/preproc/html/pre-html.cpp: Some local variable renamings.
+ (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
+ (char_buffer::run_output_filter): Second argument is unused.
+ * src/preproc/html/pushback.cpp: Some local variable renamings.
+
+ * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
+ * src/preproc/pic/object.cpp: Some local variable renamings.
+
+ * src/preproc/refer/label.y (lookup_label): Remove redundant
+ declaration of local variable.
+
+ * src/preproc/soelim.cpp: Remove redundant declaration of
+ `interpret_lf_args'.
+
+ * src/preproc/tbl/main.cpp: Some local variable renamings.
+
+ * src/roff/groff/groff.cpp (main): Use cast for string constant.
+ * src/roff/groff/pipeline.c: Enclose declarations of `error',
+ `c_fatal', and `i_to_a' with `extern "C"' for C++.
+ Don't use C++-style comments.
+
+ * src/roff/troff/env.h: Remove redundant declaration of `title'.
+ * src/roff/troff/node.h, src/roff/troff/env.cpp,
+ src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
+ renamings.
+ * src/roff/troff/div.h: Remove redundant declaration of
+ `end_diversions'.
+ * src/roff/troff/troff.h: Remove redundant declaration of
+ `cleanup_and_exit'
+ * src/roff/troff/input.cpp: Remove redundant declaration of
+ `handle_first_page_transition' and `process_input_stack'.
+
+ * src/utils/hpftodit.cpp: Some local variable renamings.
+
+ * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
+ for C++.
+ Don't define RETSIGTYPE.
+ * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
+
+ * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
+ (error): Use `const' in argument.
+ (main): Remove redundant declaration of `optind'.
+ Move declaration of `Version_string' to top-level.
+
+ * PROBLEMS: Document difficulties compiling signal.c if a C++
+ compiler is used for C.
+
+2004-04-07 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
+
+2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Make scripts like nroff.sh and neqn.sh portable across various
+ (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
+ non-POSIX path separators. The idea is to extend those scripts to
+ decide at run-time (of the script) which path separator to use.
+
+ * arch/misc/Makefile.sub: New file.
+ * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
+ This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
+ a proper definition of the variable `GROFF_RUNTIME'.
+
+ * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
+ (MDEFINES): Add SH_DEPS_SED_SCRIPT.
+ (PROGDEPDIRS): New variable.
+ `FORCE' it.
+ (PROGDIRS): Add PROGDEPDIRS.
+
+ * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
+ Don't substitute @SEP@ and @BINDIR@.
+ * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
+ (PATH): Use GROFF_RUNTIME.
+
+ * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
+ Don't substitute @SEP@ and @BINDIR@.
+ * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
+ (PATH): Use GROFF_RUNTIME.
+
+2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
+ Cygwin which doesn't handle stderr correctly.
+
+2004-03-08 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
+ against empty argument. Problem reported by <cgd@broadcom.com>.
+
+2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * Makefile.in (SEP): Replaced with...
+ (RT_SEP, SH_SEP): Separators for the target platform's native path
+ separator and the build environment, respectively.
+ (fontpath, tmacpath): Use RT_SEP.
+ (MDEFINES): Updated.
+
+ * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
+ * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
+ * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
+
+2004-03-05 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
+ reduce alignment problems with newer printers which use built-in
+ TrueType fonts (instead of the older Intellifonts). The ideal
+ solution is to provide a second set of groff metric files, but this
+ is extremely time-consuming to produce, given that HP's metric
+ files are very rudimentary.
+
+2004-03-01 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
+ s/operand/argument/ in error message.
+
+2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
+ is in use.
+
+2004-03-01 Antti Kantee <pooka@netbsd.org>
+
+ * tmac/s.tmac (XE): Fix error message.
+
+2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
+ New macros.
+
+ * src/roff/groff/pipeline.c: Declare strcasecmp.
+ (run_pipeline) [_WIN32]: Use function name variants which don't
+ start with `_'.
+ Fix stream handling.
+
+2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/include/nonposix.h: Fix declaration of `system_shell_name'.
+ Declare `spawnvp_wrapper' and macro definitions of spawnvp only
+ for platforms which use the native Win32 runtime libraries.
+ (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
+
+ * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
+ QUOTE_ARG_REALLOC_ERROR): Fix string.
+
+ * src/preproc/html/pre-html.cpp: Remove declaration of
+ `spawnvp_wrapper'.
+ Don't use __MINGW32__.
+ s/DEBUG_FILE/DEBUG_FILE_DIR/.
+ (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
+ (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
+ (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
+ calls to `set_redirection' and `WAIT'.
+ [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
+ Fix calls to `set_redirection' and `save_and_redirect'.
+ (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
+ to `set_redirection' and `save_and_redirect'.
+ (usage): Fix message.
+ (makeTempFiles, main): Use `DEBUG_FILE'.
+
+2004-02-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
+
+2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/libs/libgroff/quotearg.c: New file, providing proper argument
+ quoting for MSVC's spawn* and exec* functions.
+ * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
+ spawnvp with proper quoting for MSVC.
+
+ * src/libs/libgroff/assert.cpp (program_name),
+ src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
+ * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
+
+ * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
+
+ * src/include/error.h (program_name): Declare as `extern "C"'.
+ * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
+
+2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
+ spawnvp_wrapper.
+ [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
+
+2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
+ variable.
+ (sbasename) [__MSDOS__ || ...]: New function.
+ (system_shell_name) [__MSDOS__ || ...]: Use a different, more
+ generic algorithm.
+ (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
+ (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
+ of XXX.
+ Use STDOUT_FILENO instead of hardcoded file handle.
+ (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
+
+2004-02-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
+ avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
+
+2004-02-18 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
+ new font and mapping files.
+
+2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
+ Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
+ an input pipe. This is needed for the MSVC compiler to make troff's
+ `-o' option work.
+
+ * src/roff/troff/div.cpp: Include nonposix.h.
+ (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
+
+2004-02-17 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/special.awk: New script.
+ * font/devlj4/generate/Makefile (S): Use special.awk.
+ * font/devlj4/*: Regenerated, including the following new files:
+ Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
+ MS Symbol (SYMBOL), Wingdings (WINGDINGS).
+ * NEWS: Document new lj4 fonts and revised hpftodit.
+
+2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
+
+ * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
+
+2004-01-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/progname.cpp: Replaced with...
+ * src/libs/libgroff/progname.c: New file.
+ * src/libs/libgroff/Makefile.sub: Updated accordingly.
+
+2004-01-17 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
+
+2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
+
+ * font/devlj4/generate/wingdings.map,
+ font/devlj4/generate/symbol.map: Include unnamed glyphs.
+ Use groff glyph names where possible.
+ * src/devices/grolj4/lj4_font.man: Minor updates.
+
+2004-01-13 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac (DC): Handle TTY devices.
+
+ * doc/webpage.ms: Document viewCVS from ffii.org.
+ * NEWS, README: Updated.
+
+ * src/roff/groff/groff.man: Mention lj4_font man page.
+
+ * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
+ variables.
+ (FONTS): Add SYMBOL and WINGDINGS.
+ (SYMBOL, WINGDINGS): New targets.
+
+2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/devices/grolj4/lj4_font.man: New man page.
+ * src/devices/grolj4/Makefile.sub (MAN5): New variable.
+ * src/devices/grolj4.man: Mention lj4_font man page.
+
+ * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
+ * src/utils/hpftodit/hpftodit.man: Document it.
+ (CW): New macro.
+ Remove details about fonts (which are now in lj4_font.man).
+
+ * font/devlj4/generate/symbol.map,
+ font/devlj4/generate/wingdings.map: New files.
+
+2004-01-12 Werner LEMBERG <wl@gnu.org>
+
+ * README: Mention ffii's viewcvs access.
+
+2004-01-09 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
+
+2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
+
+ Revert most of the change from 2004-01-03 to better control used
+ symbol sets.
+
+ * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
+ (text_symbol_sets, special_symbol_sets): New arrays.
+ (symbol_set_table): New global variable.
+ (read_symbol_sets): Use search order given in the text_symbol_sets
+ and special_symbol_sets arrays. If command line flag -a is not
+ given, search both arrays.
+ (output_charset): Require x_height_tag only for command line flag -i.
+
+2004-01-06 Werner LEMBERG <wl@gnu.org>
+
+ Implement string-valued registers \n[.m] and \n[.M] to return the
+ name of the current drawing and background color, respectively.
+
+ * src/roff/troff/symbol.h: Moved to...
+ * src/include/symbol.h: Here.
+ Small fixes to make it work outside of the `troff' directory.
+ * src/roff/troff/symbol.cpp: Moved to...
+ * src/libs/libgroff/symbol.cpp: Here.
+ Small fixes to make it work outside of the `troff' directory.
+
+ * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
+ (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
+ Updated.
+
+ * src/include/color.h: Include symbol.h.
+ (color): Add new field `nm'.
+ * src/libs/libgroff/color.cpp (color::color): Updated.
+
+ * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
+ src/roff/troff/node.cpp, src/roff/troff/number.cpp,
+ src/roff/troff/reg.cpp: Don't include symbol.h.
+
+ * src/roff/troff/env.cpp: Don't include symbol.h.
+ (environment::get_glyph_color_string,
+ environment_get_fill_color_string): New member functions.
+ (init_env_requests): Handle `.m' and `.M' registers.
+ * src/roff/troff/input.cpp: Don't include symbol.h.
+ (default_symbol): Moved to symbol.cpp/symbol.h.
+ (do_glyph_color, do_fill_color, define_color): Pass symbol name
+ to color constructor.
+ * src/roff/troff/env.h: Updated.
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document new registers.
+
+2004-01-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cpp (space_node::get_breakpoints,
+ space_node::nbreaks): Protect against zero `next' field.
+
+2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
+
+ In hpftodit, use the symbol sets offered in the TFM.
+
+ * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
+ (symbol_set, text_symbol_sets, special_symbol_sets,
+ symbol_set_table): Removed.
+ (get_printcode): Removed.
+ (read_symbol_sets): Initialize `symbol_set' field with
+ `NO_SYMBOL_SET'.
+ Simplify code to just use the `kind' value.
+ (output_charset): Improve output formatting.
+ (dump_symbols): Simplified.
+
+2004-01-02 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/text.map: Add more MSL numbers.
+
+2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
+ (text_symbol_sets): Add more symbol sets.
+ (debug_flag): New static variable (moved from `main').
+ (get_printcode, show_symset): New functions.
+ (main): Remove `debug_flag'.
+ (output_charset): Use `show_symset'.
+ (dump_symbols): Use `show_symset'.
+ Print symsets for all glyphs.
+ (read_map): Actually call `unicode_to_ucode_make' but this time
+ correctly.
+
+2004-01-01 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
+ Fix placement of comments.
+
+2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
+ option `-d' is given.
+ (output_charset): Improve warning messages to give more information.
+ (dump_symbols): Make information more precise.
+ (usage): Updated.
+ (read_map): Don't call unicode_to_ucode_name; the glyph names must
+ appear as-is and shouldn't be decomposed.
+
+2003-12-31 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
+ * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
+ (FONTS): Add TrueType font families Arial and Times New Roman.
+ (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
+ * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
+ `fl'.
+
+2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
+
+ * test-groff.in (SEP): Quote value.
+ * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
+ `tem' to `char*' to avoid deallocation of a pointer to a constant
+ object which some compilers don't like.
+
+2003-12-31 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate (text.map, special.map): Rewritten to work
+ with the new hpftodit version.
+
+2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
+ set and 8bit character code for all glyphs also.
+
+2003-12-30 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
+
+2003-12-29 Werner LEMBERG <wl@gnu.org>
+
+ More fixes for MSVC compiler.
+
+ * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
+
+ * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
+ STDERR_FILENO) [_MSC_VER]: Define conditionally.
+ (getpid) [_MSC_VER]: Remove.
+ Include direct.h and process.h conditionally.
+
+ * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
+ parentheses for a_delete.
+
+ * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
+
+ * test-groff: Replaced with...
+ * test-groff.in: This new template to handle path separator
+ properly.
+
+ * configure.ac: Check for direct.h and process.h.
+ Generate test-groff script.
+ * configure, src/include/config.hin: Regenerated.
+
+2003-12-28 Werner LEMBERG <wl@gnu.org>
+
+ Add integral extension glyph.
+ Add new option `-x' to afmtodit to suppress use of built-in AGL.
+
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
+
+ * font/devps/generate/textmap: Provide entry for `integralex' to
+ override (old) PUA value of the AGL.
+ * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
+ * font/devps/*: Regenerated.
+
+ * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
+ * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
+
+2003-12-27 Werner LEMBERG <wl@gnu.org>
+
+ Add forgotten `coproduct' symbol (already available for DVI).
+
+ * font/devhtml/R.proto, font/devps/generate/textmap,
+ font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
+ src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
+ U+2210 (\[coproduct]).
+
+2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
+
+ hpftodit has been extended to handle TrueType metric files and
+ more glyphs. See hpftodit.man for more details.
+
+ * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
+ ctype.h, and unicode.h.
+ s/msl/charcode/ everywhere since we now handle Unicode values also.
+ (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
+ Use it where appropriate.
+ (MULTIPLIER): Replaced with...
+ (multiplier): New global static variable.
+ (scale): Updated.
+ (tag_type): Add more TFM tags.
+ (tag_name): New array.
+ (ENUM_TYPE, FLOAT_TYPE): Removed.
+ (BYTE_TYPE): New value assigned.
+ (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
+ (text_symbol_sets, special_symbol_sets): Extended to cover more
+ sets.
+ (check_type): Add return value.
+ (check_units): Add parameters to get ppi and upem values.
+ Handle TrueType TFM data.
+ (output_font_name): New function.
+ (output_charset): Add parameter to handle TFM type.
+ Handle TrueType TFMs also.
+ (em_fract): New macro.
+ (dump_tags): Be much more verbose and handle more tags.
+ (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
+ (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
+ functions.
+ (read_map): Add parameter to handle TFM type.
+ Handle both MSL and Unicode mappings.
+ (main): Add two new command line options `-a' and `-q'.
+ Updated to make use of new functions.
+ (usage): Updated.
+
+ * src/utils/hpftodit/hpuni.cpp: New file.
+
+ * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
+ Updated.
+
+2003-12-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/nonposix.h (read) [_MSC_VER]: Define.
+
+2003-12-24 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
+ by Michail Vidiassov <master@iaas.msu.ru>.
+
+2003-12-20 Werner LEMBERG <wl@gnu.org>
+
+ * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
+ and u0049_0307.
+ Add missing latin-2 glyphs.
+ * font/devutf8/R.proto: Add missing latin-2 glyphs.
+
+ * tmac/troffrc: Load `composite.tmac' earlier.
+
+ * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
+ u00{53,73}_0327, and u0049_0307.
+ * tmac/X.tmac: Add u00{47,67}_0306.
+ * tmac/tty-char.tmac: Use composite glyph names for readability.
+
+ * NEWS: Updated.
+
+ * src/include/unicode.h: Remove `extern' keywords.
+
+2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
+
+ * tmac/latin5.tmac: New file.
+
+2003-12-19 Werner LEMBERG <wl@gnu.org>
+
+ Add some glyphs needed for Turkish.
+
+ * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
+ and u0049_0307.
+
+ * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
+ * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
+ u00{53,73}_0327, and u0049_0307.
+
+2003-12-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cc (ps_output::put_float): Revert change
+ from 2001-10-04.
+ Remove trailing zeros.
+
+2003-12-17 Werner LEMBERG <wl@gnu.org>
+
+ Make \? transparent to end-of-sentence recognition.
+
+ * src/roff/troff/input.cc (non_interpreted_node): Add
+ `ends_sentence' member function.
+
+2003-12-16 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Document `dt' request correctly.
+ Other minor typographical improvements.
+
+2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
+
+ * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
+
+2003-12-10 Richard Stallman <rms@gnu.org>
+
+ * LICENSE: Better wording.
+
+2003-12-09 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
+ * configure, NEWS: Updated.
+
+2003-12-08 Werner LEMBERG <wl@gnu.org>
+
+ * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
+
+2003-12-07 Bernd Warken <bwarken@mayn.de>
+
+ * LICENSE: Updated.
+
+2003-12-07 Werner LEMBERG <wl@gnu.org>
+
+ * INSTALL: Improved.
+
+2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Use path separator character of target platform for compiled-in
+ default paths.
+
+ * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
+ * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
+ * configure: Regenerated.
+ * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
+
+2003-12-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
+ Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
+
+2003-12-04 Bernd Warken <bwarken@mayn.de>
+
+ * LICENSE: New file.
+
+2003-12-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
+ ligatures present in AFM files since groff currently only
+ understands some standard ligatures and nothing else.
+
+2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/roff/groff/groff.cpp (main): Don't run the spooler if
+ option -v is given.
+
+ * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
+ messages.
+ Close stdout copy.
+ Don't use Unix wait flags.
+
+2003-12-02 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
+ src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
+ src/roff/troff/uniuni.cpp: Moved to...
+ * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
+ src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
+ src/libs/libgroff/uniuni.cpp: Here.
+
+ * src/include/Makefile.sub.old (HDRS),
+ src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
+ src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
+
+2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
+ `DEBUG_FILE'.
+ Updated all users.
+
+2003-12-01 Werner LEMBERG <wl@gnu.org>
+
+ * groff.texinfo: Document special behaviour of `.vs 0'.
+ Improve documentation of `cflags' request.
+ * NEWS: Updated.
+
+2003-11-29 Werner LEMBERG <wl@gnu.org>
+
+ * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
+ * font/devlj4/CORONET: Regenerated.
+
+2003-11-24 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
+ if processing hyphenation patterns in traditional mode.
+ Improve error messages.
+
+2003-11-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cpp (troff_output_file::put_char_width,
+ troff_output_file::put_char): Fix type of local variable `c'.
+
+2003-11-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/pipeline.c (P): Removed. Updated all function
+ declarations.
+ (i_to_a): Removed. libgroff already provides this function.
+ (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
+
+2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
+ HAVE_DECL_SYS_LIST.
+
+2003-11-17 Werner LEMBERG <wl@gnu.org>
+
+ * COPYING: Use correct version.
+
+2003-11-11 Werner LEMBERG <wl@gnu.org>
+
+ LynxOS 4.0.0 doesn't declare vfprintf.
+
+ * configure.ac: Check for vfprintf.
+ * configure: Regenerated.
+ * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
+ * src/include/config.hin: Regenerated.
+
+2003-11-10 Werner LEMBERG <wl@gnu.org>
+
+ LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
+
+ * configure.ac: Check for vsnprintf.
+ * configure: Regenerated.
+ * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
+ `HAVE_VSNPRINTF'.
+ * src/include/config.hin: Regenerated.
+
+2003-11-09 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4: Updated syntax to autoconf 2.59.
+ (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
+ Don't check for gsos2.
+ (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
+ working abs_top_srcdir and abs_top_builddir.
+
+ * configure.ac: Updated syntax to autoconf 2.59.
+ Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
+ Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
+ * configure: Regenerated.
+
+ * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
+ s/@groff_top_builddir@/@abs_top_builddir@/.
+
+ * src/roff/groff/pipeline.c (xstrsignal):
+ s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
+
+2003-11-07 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
+ make start angle smaller than end angle to circumvent a bug in tpic
+ handling of some versions of dvipdfm (and dvipdfmx).
+
+2003-10-30 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/grops.man: Improve section on creating EPS.
+
+2003-10-29 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
+ -P-pletter).
+
+2003-10-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Fix documentation of `.if'.
+
+2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
+
+ * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
+ the form `uniXXXX' also.
+
+2003-10-27 Werner LEMBERG <wl@gnu.org>
+
+ * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
+ contrib/pic2graph/pic2graph.sh: Implement secure management of
+ temporary files.
+ Pass `-P-pletter' to groff to avoid data outside of the converted
+ area -- some versions of `convert' (for example 5.3.8) don't check
+ the bounding box of the image but always use a fixed image size
+ (letter paper format).
+ * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
+ contrib/pic2graph/pic2graph.man: Updated.
+
+ * src/roff/groff/groff.man: Document $TMP and $TEMP.
+
+2003-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/troff.cpp (troff_output::simple_circle,
+ troff_output::simple_ellipse, troff_output::simple_arc,
+ troff_output::simple_line, troff_output::simple_spline,
+ troff_output::simple_polygon): Insert a space before arguments.
+ (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
+ latter doesn't produce a node, so the following `.sp -1' would do
+ the wrong thing.
+ Don't emit `.sp -1' after \M. This also doesn't produce a token
+ (and we don't have to care about compatibility mode).
+ (troff_output::set_color, troff_output::reset_color): Don't emit
+ `.sp -1' after \M and \m.
+
+ * src/roff/troff/input.cpp (old_have_input): New global variable.
+ (input_stack::get): Handle `old_have_input'.
+ (process_input_stack) <token::TOKEN_NEWLINE>: Call
+ `trapping_blank_line' depending on `old_have_input', not
+ `have_input'.
+
+2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
+ (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
+ default directory names for temporary files.
+ [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
+
+ * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
+ [__MSDOS__] (run_pipeline): Honour environment variables.
+ Don't use `tmpnam' but `tempnam' to work around messy
+ implementation.
+
+ * README.MinGW: New file.
+
+2003-10-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
+ `(*t)->next' without testing validity of `*t'.
+ (usage): Make it more readable.
+
+2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ Make html device run under both MS-DOS and Win32.
+
+ * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
+ MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
+ spawn or fork+exec has to be used, and whether parent must sleep
+ until the child process terminates. Used in
+ `char_buffer::run_output_filter'.
+ (copyofstdoutfd): Removed.
+ (char_buffer): Replace `write_file_html' and `write_file_troff'
+ member functions with `emit_troff_output' and `run_output_filter'.
+ (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
+ macros.
+ (replaceFd): Replaced with...
+ (set_redirection): New auxiliary function.
+ (waitForChild): Replaced with...
+ (save_and_redirect): New auxiliary function for.
+
+ (char_buffer::do_html, char_buffer::do_image): Simplified, using new
+ functions.
+
+2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
+
+ * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
+ (GROFF_LIBC): New function.
+ * configure.ac: Call GROFF_LIBC.
+ Check for `kill'.
+ * configure: Regenerated.
+
+ * src/include/lib.h: Handle __MINGW32__.
+ * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
+ Add macro for `pipe'.
+ Define P_tmpdir.
+
+ * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
+ correctly.
+
+ * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
+ Implement.
+
+2003-10-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
+ src/roff/troff/input.cc (usage): Updated.
+
+ * NEWS, doc/groff.texinfo: Updated.
+
+2003-10-12 Peter Miller <millerp@canb.auug.org.au>
+
+ * src/libs/libgroff/searchpath.cpp
+ (search_path::open_file_cautious): New function which also handles
+ `-' as stdin and stdout depending on the access mode.
+ * src/include/searchpath.h (search_path): Updated.
+
+ * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
+ * src/devices/grops/ps.h: Include `searchpath.h'.
+ * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
+ Open resource file with `include_search_path.open_file_cautious'.
+ * src/devices/grops/grops.man: Document new `-I' switch.
+
+ * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
+ (main), src/devices/grolj4/lj4.cpp (main),
+ src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
+
+ * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
+ Replaced with...
+ (include_search_path): New global variable.
+ (include_path_append): Removed.
+ (main): Use `include_search_path.command_line_dir' to handle `-I'.
+ (do_file): Simplify, using new
+ `include_search_path.open_file_cautious'.
+
+ * src/roff/groff/groff.cpp (print_commands): Accept file handle as
+ parameter.
+ (main): Pass arguments to `-I' to both troff and devices.
+ Improve handling of `-V'.
+ * src/roff/groff/groff.man: Document changes to -I and -V.
+
+ * src/roff/troff/input.cpp (include_search_path): New global
+ variable.
+ (next_file, source, ps_bbox_request, transparent_file,
+ process_input_file): Use new
+ `include_search_path.open_file_cautious'.
+ (main) Handle `-I' switch.
+ * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
+ Use new `include_search_path.open_file_cautious'.
+ * src/roff/troff/node.h: New extern symbol `include_search_path'.
+ * src/roff/troff/troff.man: Document new `-I' switch.
+
+2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
+
+ Support multiple calls of .Lb in LIBRARY section.
+
+ * tmac/doc-common (doc-in-library-section): New register.
+ (doc-section-library): New string.
+ (Sh): Set `doc-in-library-section'.
+ (Rd): Updated.
+ * tmac/doc-syms (Lb): Insert breaks before and after arguments
+ if in LIBRARY section.
+ * tmac/doc.tmac (doc-save-global-vars): Updated.
+ * NEWS, tmac/groff_mdoc.man: Updated.
+
+2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc-common (doc-default-operating-system): New variable.
+ (Os): Use it.
+
+2003-09-08 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
+
+2003-08-31 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
+ (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
+ $(DEVFILES) are not empty.
+ * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
+
+2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
+
+ * src/preproc/refer/ref.cpp (reference::compute_sort_key): Always
+ insert SORT_SEP. With certain combinations of sort specifications,
+ refer sorted entries in the wrong order. In particular, entries
+ with a missing field should be be sorted before all entries that
+ have that field, before refer looks to the next field.
+
+2003-08-23 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
+ g++ linker is used. Reported by Mark J. Reed
+ <mark.reed@turner.com>.
+
+2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
+
+ Add key character `x' to tbl which makes tbl call a user-defined
+ macro on a table cell.
+
+ * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
+ * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
+ `set_modifier' after printing the compatibility request.
+ (set_modifier): Print call to `m->macro' if not empty.
+ * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
+ `macro'.
+ (process_format): Implement cases `x' and `X'.
+ * src/preproc/tbl/tbl.man, NEWS: Updated.
+
+2003-08-15 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Minor fixes.
+
+2003-08-09 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
+
+2003-08-07 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub: Not all shells expand wildcards in the `for'
+ argument list to nothing if there is no file to match. Use `ls' as
+ a protection, similar to autoconf.
+
+ * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
+ empty argument lists.
+
+ * doc/groff.texinfo: Improve documentation how vertical spacing
+ and line breaks interact.
+ Other minor fixes.
+
+ * tmac/www.tmac: Initialize `www-htmlimage-gap'.
+
+2003-08-03 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
+ EPS (using eps2eps or similar programs to compute the bounding box).
+
+2003-07-24 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
+ * doc/texinfo.tex: Updated from texinfo 4.6.
+ * README.CVS: From now on we need texinfo 4.6.
+
+2003-07-23 Werner LEMBERG <wl@gnu.org>
+
+ Add requests `dei1' and `ami1' for completeness.
+
+ * src/roff/troff/input.cc (calling_mode): Remove
+ CALLING_DISABLE_COMP.
+ (comp_mode): New enumeration.
+ (do_define_string, define_string, define_nocomp_string,
+ append_string, append_nocomp_string): Updated.
+ (do_define_macro): Add third parameter.
+ (define_macro, define_nocomp_macro, define_indirect_macro,
+ append_macro, append_nocomp_macro, append_indirect_macro): Updated.
+ (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
+ functions.
+ (ignore): Updated.
+ (init_input_requests): Add `dei1' and `ami1'.
+
+ * tmac/trace.tmac: Handle de1 and am1.
+ (de): Improve tracing message.
+ (am): Add missing `do'.
+ (return): Use de1.
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document new requests.
+
+2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
+
+ Add option -G to .MPIMG to insert a gap between text and the image.
+
+ * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
+ www-finish-left-ll): Updated.
+ (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
+ (MPIMG): Make option -L and -R optional.
+ Implement option -G.
+
+2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp
+ (html_printer::do_file_components): Don't use `stdout' as lvalue
+ since it can be a macro.
+
+2003-07-22 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
+ the corresponding test in aclocal.m4.
+
+2003-07-21 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
+ names but RGB values directly. Otherwise pnmtopng depends on
+ an external file `rgb.txt' which maps colour names to values.
+
+2003-07-20 Werner LEMBERG <wl@gnu.org>
+
+ * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
+ * configure, src/include/config.hin: Regenerated.
+
+ * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
+
+2003-07-19 Werner LEMBERG <wl@gnu.org>
+
+ * PROBLEMS: Add solution for UTF-8 problem with hyphens.
+
+2003-07-18 Werner LEMBERG <wl@gnu.org>
+
+ * *.man: Switch to non-compatibility mode temporarily if GNU
+ syntax extensions are used in the particular man page.
+
+ * PROBLEMS: Add solutions for SGR problems.
+
+2003-07-17 Werner LEMBERG <wl@gnu.org>
+
+ Don't ignore grotty's command line options if \X'tty: sgr ...' is
+ used to change the drawing scheme.
+
+ * src/devives/grotty/tty.cpp (bold_flag_option,
+ underline_flag_option, italic_flag_option, reverse_flag_option,
+ bold_underline_mode_option): New global variables.
+ (update_options): New function.
+ (tty_printer::special): Call update_options.
+ (main): Don't set xxx_flag but xxx_flag_option, then call
+ update_options.
+
+2003-07-14 Werner LEMBERG <wl@gnu.org>
+
+ Make grotty emit proper Unicode box drawing characters for -Tutf8.
+
+ * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
+ values.
+ (hline_char, vline_char): New global variables.
+ (tty_printer::tty_printer): Initialize them.
+ (tty_printer::draw): Emit START_LINE and END_LINE flags for both
+ horizontal and vertical lines.
+ (crossings): New global array.
+ (tty_printer::end_page): Use it to determine the proper crossing
+ character for -Tutf8.
+
+2003-07-12 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefilesub (HTMLDOCFILESALL): New macro.
+ (HTMLDOCFILES): Revert to `pic.html'.
+ (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
+
+2003-07-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/pic.ms: Improve documentation of absolute coordinates.
+ Document absolute positioning of pictures.
+
+ * NEWS: Add new pic capability.
+
+2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
+
+ * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
+ Rewritten.
+
+2003-07-07 Werner LEMBERG <wl@gnu.org>
+
+ Implement support for dashed and dotted ellipses in pic. Based on
+ a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
+
+ * src/preproc/pic/common.cpp (common_output::ellipse_arc,
+ common_output::dashed_ellipse, common_output::dotted_ellipse): New
+ functions. Ellipse arcs are approximated with circle arcs.
+ * src/preproc/pic/common.h (common_output): Updated.
+ * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
+ functions.
+ * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
+
+ * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
+
+2003-07-06 Werner LEMBERG <wl@gnu.org>
+
+ Make grotty work on platforms which have unsigned char as the
+ default for char. Based on a patch by Thomas Klausner
+ <wiz@netbsd.org>.
+
+ * src/devices/grotty/tty.cpp (schar): New typedef.
+ Updated calls to declare_ptable and implement_ptable.
+ (glyph): Use schar for back_color_idx and fore_color_idx.
+ (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
+ (tty_printer::tty_color, tty_printer::tty_printer,
+ tty_printer::color_to_idx, tty_printer::put_color): Updated.
+
+2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * src/roff/nroff/nroff.sh: Add option -d for completeness.
+ * src/roff/nroff/nroff.man: Updated.
+
+2003-07-05 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, tmac/groff_www.man: Updated.
+ * doc/Makefile.sub: Updated.
+
+2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
+
+ Implement support for multiple HTML output files.
+
+ * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
+ -j command line option.
+
+ * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
+ global variables.
+ (file): New fields `new_output_file', `require_links',
+ `output_file_name'.
+ (file::file): Updated.
+ (files::set_file_name, files::set_links_required,
+ files::are_links_required, files::is_new_output_file,
+ files::file_name, files::next_file_name): New functions.
+ (header_desc): New fields `no_of_level_one_headings',
+ `header_filename'.
+ (header_desc::header_desc): Updated.
+ (header_desc::write_headings): Handle multiple files.
+ (html_printer::write_header): Save file name in which header occurs.
+ (html_printer::determine_header_level): Possibly split files on
+ level one headings.
+ (html_printer::do_links, html_printer::troff_tag): Updated.
+ (html_printer::insert_split_file, html_printer::do_job_name,
+ html_printer::emit_link, html_printer::write_navigation,
+ html_printer::do_file_components): New functions.
+ (html_printer::~html_printer): Handle multiple files.
+ (main): Handle command line option `-j'.
+
+ * src/devices/grohtml/grohtml.man: Updated.
+
+ * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
+ which splits file.
+
+ * tmac/www.tmac (JOBNAME): New macro.
+ * tmac/s.tmac (SH-NO-TAG): New macro.
+ (@SH): Call SH-NO-TAG.
+ (@NH): Updated.
+
+2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/groff_mdoc.man: Improve documentation of punctuation
+ characters.
+
+2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc.tmac (Bd): Change to doc-Li-font later.
+
+2003-07-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
+
+2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
+ after `/*' and `*/'.
+ Fix spacing.
+ (Fn, Fo): Reduce indentation in synopsis.
+
+ * tmac/doc-common (doc-check-depth): New macro.
+ (doc-end-macro, Sh, Ss): Use it.
+ (Cd): Fix behaviour in synopsis.
+ (In): Make it parsed and callable.
+ If not in the synopsis, represent the C header file enclosed in
+ angle brackets.
+ (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
+ Use minus, not hyphen.
+
+ * tmac/groff_mdoc.man: Updated.
+
+2003-07-01 Werner LEMBERG <wl@gnu.org>
+
+ Integrated grap2graph, contributed by Eric S. Raymond.
+
+ * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
+ New files.
+ * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
+ contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
+
+2003-07-01 Colin Watson <cjwatson@debian.org>
+
+ * src/xditview/*.c: Add prototypes, fix return types, add includes.
+ Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
+
+2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
+
+2003-06-31 Werner LEMBERG <wl@gnu.org>
+
+ * doc/Makefile.sub (CLEANADD): Remove all files created by
+ running `make groff.{pdf,dvi}'.
+
+ * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
+ src/xditview also.
+
+2003-06-30 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (SHELL): Define as @SHELL@.
+ (mkinstalldirs): Use $(SHELL).
+ (MDEFINES): Add $(SHELL).
+ * Makefile.comm (SHELL): Removed.
+
+2003-06-29 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
+ The X11 documentation files use them.
+ * tmac/groff_ms.man, doc/groff.texinfo: Document them.
+
+2003-06-15 Robert Goulding <goulding@Princeton.EDU>
+
+ * tmac/e.tmac (@C): Handle .ad also.
+
+2003-06-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/tbl/tbl.man: Document formatting of text blocks.
+
+ * src/roff/troff/input.cc (token::next) <handle_escape_char>:
+ Assign `n' even here. It is possible to construct a node
+ immediately following an escape character:
+
+ .di xx
+ \?\\\?a
+ .br
+ .di
+ .xx
+
+2003-06-10 Werner LEMBERG <wl@gnu.org>
+
+ * README.WIN32: Removed.
+ * MANIFEST: Updated.
+
+2003-06-07 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
+
+2003-06-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
+ in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
+
+2003-06-03 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
+ is done by the calling function.
+
+2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/X.tmac: Fix definition of `em'.
+
+2003-05-22 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (return_macro_request): Fix detection of
+ argument.
+
+2003-05-18 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
+ to make items work which consist only of a tag.
+
+2003-05-17 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
+ aren't stretched in a tag (this can fail with unformatted boxes).
+ Instead, insert a break and go back one line.
+
+2003-05-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (return_macro_request): If called with
+ argument pop macro twice. We need this to trace `return'.
+
+ * tmac/trace.tmac: Handle `return'.
+ Fix typos.
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document.
+
+2003-05-15 Larry Kollar <kollar@alltel.net>
+
+ * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
+ registers `FPS', `FVS', and `FPD'.
+
+2003-05-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
+ correctly.
+
+2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/groff_mdoc.man: Slight improvements.
+
+2003-05-03 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
+ `doc-header-space' after header line if register `cR' is set.
+
+2003-05-02 Werner LEMBERG <wl@gnu.org>
+
+ * TODO: Updated.
+
+2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * tmac/doc-common (Nd): Use \[em].
+
+2003-05-01 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
+ doc-footer-space): Initialize to 0.5i.
+ (doc-setup-page-layout): Don't set doc-header-space and
+ doc-footer-space.
+
+2003-04-30 Werner LEMBERG <wl@gnu.org>
+
+ * REVISION: Set to 1.
+
+ * doc/pic.ms: Document possible problems with `figname'.
+
+2003-04-29 Werner LEMBERG <wl@gnu.org>
+
+Version 1.19 released
+=====================
+
+ * VERSION: Set to 1.19.
+ * REVISION: Set to 0.
+ * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
+
+ * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
+ Define charset as `US-ASCII' in html output.
+
+ * tmac/www.tmac (ULE): Add missing scaling indicator.
+
+ * win32-diffs: Removed.
+
+2003-04-28 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Document `dn' and `dl' registers if used with
+ `.da' and `.boxa'.
+ Document how to insert discardable whitespace with `.ss'.
+
+2003-04-27 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
+ work with plain TeX also.
+
+ * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
+
+2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
+ Use a loose DTD.
+
+2003-04-24 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
+ vbox with positive height and zero depth if in TeX mode.
+
+ * NEWS: Document glyph name changes for grodvi and grolj4.
+
+2003-04-23 Werner LEMBERG <wl@gnu.org>
+
+ * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
+ * doc/pic.ms: Fixed.
+
+2003-04-21 Werner LEMBERG <wl@gnu.org>
+
+ HP-UX 10.20 has `snprintf' but it isn't declared.
+
+ * configure.ac: Add declaration test for snprintf.
+ * configure: Regenerated.
+ * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
+ * src/include/config.hin: Regenerated.
+
+2003-04-19 Werner LEMBERG <wl@gnu.org>
+
+ Add keyword `figname' to pic, specifying the name of the picture
+ box in TeX mode. Based on a patch from William J Poser
+ <wjposer@unagi.cis.upenn.edu>.
+
+ * src/preproc/pic/pic.y: New token `FIGNAME'.
+ (macro_name): New rule of type <str>.
+ (placeless_element): Handle `FIGNAME'.
+ * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
+ * src/preproc/pic/main.cpp (graphname): New global variable.
+ (do_picture): Initialize `graphname'.
+ * src/preproc/pic/pic.h: Updated.
+ * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
+ `graphname'.
+ Simplify TeX code.
+ (tex_output::text): Beautify output.
+ * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
+ `shaded' and `outlined' unconditionally.
+ * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
+ Minor improvements.
+
+ * PROBLEMS, README.CVS: Mention that bison version 1.875b or
+ greater is necessary.
+
+2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
+
+ Add option -r to soelim to avoid emission of `.lf' lines.
+ Add option -t to produces TeX comment lines instead of `.lf' lines.
+
+ * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
+ and `tex_flag'.
+ (usage): Updated.
+ (main): Handle `-r' and `-t'.
+ (set_location): Handle `raw_flag' and `tex_flag'.
+ * src/preproc/soelim/soelim.man, NEWS: Updated.
+
+2003-04-17 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/hyphenex.sh: Replaced with...
+ * tmac/hyphenex.pl: This perl script to avoid sed compatibility
+ nightmares.
+
+ * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
+ if --quiet is used for the configure script.
+ * configure: Regenerated.
+
+2003-04-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
+ Add `const' to second argument.
+ (html_printer::add_table_end): Add `const' to argument.
+ * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
+ `const' to arguments.
+ * src/devices/grohtml/html-text.h: Updated.
+
+ * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
+ * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
+ argument.
+
+ * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
+ cast for integer constant.
+
+ * src/preproc/html/pre-html.cpp (image_device): Use `const'.
+ (writeNbytes): Add `const' to first argument.
+ (writeString): Add `const' to argument.
+ (char_buffer::can_see): Add `const' to third argument.
+ * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
+ `const' to argument.
+ * src/preproc/html/pushback.h: Updated.
+
+ * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
+ (include_path_append): Add `const' to argument.
+ (do_file): Updated.
+
+ * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
+ for `value'.
+ (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
+ * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
+ for `value'.
+ (unicode_decompose_init::unicode_decompose_init): Updated.
+ * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
+ for `value'.
+ (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
+ * src/roff/troff/input.cc (process_startup_file): Add `const' to
+ argument.
+
+ * tmac/hyphenex.sh: Make script more portable by using a here
+ document.
+
+2003-04-15 Werner LEMBERG <wl@gnu.org>
+
+ Renamed all `*.cc' files to `*.cpp'.
+ Updated all configuration files, makefiles, and documentation.
+
+2003-04-14 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/hyphenex.sh: Slight improvements.
+
+2003-04-13 Werner LEMBERG <wl@gnu.org>
+
+ * font/devascii/R.proto, font/devcp1037/R.proto,
+ font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
+ character slots with unnamed glyphs.
+
+ * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
+ (an-first): New global variable.
+ (an-header): Emit vertical space between multiple man pages.
+
+2003-04-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
+ values.
+
+2003-04-10 Werner LEMBERG <wl@gnu.org>
+
+ * PROBLEMS: Revised.
+
+2003-04-10 Bernd Warken <bwarken@mayn.de>
+
+ * doc/webpage.ms: Improved.
+
+2003-04-09 Werner LEMBERG <wl@gnu.org>
+
+ Add register \n[.height] which returns the value of \H.
+ Add register \n[.slant] which returns the value of \S.
+
+ * src/roff/troff/env.cc (init_env_requests): Implement.
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document.
+
+2003-04-08 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/html.tmac: Move some of the data into html-end.tmac.
+ Remove most of the character translations for eqn since html fonts
+ now cover those characters.
+ Load www.tmac.
+ * tmac/html-end.tmac: New file.
+ * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
+ * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
+ * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
+
+2003-04-07 Werner LEMBERG <wl@gnu.org>
+
+ * man/groff_out.man: Document negative values of `N' if -Thtml is
+ used.
+
+2003-04-06 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.comm (depend.temp): Check location of YTABC.
+
+2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * doc/Makefile.in (TROFFBIN): New variable for troff
+ binary path.
+ (GROFFBIN): New variable for groff binary path.
+ (groff_bin_path): Rename to GROFF_BIN_PATH.
+ (TROFF): Use TROFFBIN.
+ (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
+ * doc/Makefile.sub (GROFFBIN): New variable for groff
+ binary path.
+ (groff_bin_path): Rename to GROFF_BIN_PATH.
+ (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
+
+ * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
+ with INSTALL_SCRIPT.
+ (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
+ * Makefile.dev (all): Depend on DEVSCRIPTS.
+ (install_dev): Likewise.
+ * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
+ scripts.
+ * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
+ (DEVGENSCRIPTS): New variable to hold generated scripts.
+
+2003-04-05 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libdriver/input.cc (IntArray::operator[],
+ IntArray::get_data): Remove meaningless `const' in return value.
+
+ * README.CVS: New file.
+
+2003-04-04 Werner LEMBERG <wl@gnu.org>
+
+ Check for stdint.h in C++, not in C.
+
+ * aclocal.m4 (GROFF_STDINT_H): New function,
+ * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
+ AC_CHECK_HEADERS.
+ * configure, src/include/config.hin: Regenerated.
+ * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
+
+
+ Fix handling of &nbsp; in grohtml. To do this, troff emits `N'
+ with a negative value, representing the width of the unbreakable
+ space (only for -Thtml). grohtml then converts this back to
+ &nbsp; and uses the value of N as its width.
+
+ * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
+ unbreakable_space_node::tprint): Emit `N-<width>'.
+ * src/include/printer.h (printer::set_numbered_char): Make it
+ virtual.
+ Make members `font_table' and `nfonts' protected instead of private.
+ * src/devices/grohtml/post-html.cc
+ (html_printer::set_numbered_char): New member function.
+
+
+ * src/libs/libgroff/maxfilename.cc:
+ s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
+
+ * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
+ emit word marker.
+
+2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
+
+ * man/roff.man: Small fixes.
+
+2003-04-03 Werner LEMBERG <wl@gnu.org>
+
+ Make groff independent from locale's numeric settings.
+
+ * configure.ac: Check for `setlocale'.
+ * configure, src/include/config.hin: Regenerated.
+
+ * src/include/lib.h: Handle HAVE_SETLOCALE.
+
+ * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
+ (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
+ (main), src/preproc/pic/main.cc (main): Call `setlocale'.
+
+
+ * doc/groff.texinfo: Change dir category to `Typesetting'.
+ (Man font macros): Mention that there is no space between arguments
+ of .BI and friends.
+
+ * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
+ (*printer::change_color, *printer::change_fill_color): Add missing
+ `const'.
+
+2003-04-02 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/html-table.cc (html_table::emit_col,
+ html_table::is_gap): Compute table widths after converting border
+ positions to avoid rounding errors.
+
+2003-04-01 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
+ `space_emitted' properly.
+
+2003-03-31 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grohtml/html-table.cc: Fix column width calculation.
+ (html_table::set_linelength): Don't add 1.
+ (html_table::add_indent): Don't subtract 1.
+
+ * tmac/html.tmac: Set default page offset to zero.
+
+2003-03-30 Werner LEMBERG <wl@gnu.org>
+
+ Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
+
+ * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
+ unbreakable_space_node::tprint): New functions.
+ (troff_output_file): Make space_char_hmotion_mode::tprint and
+ unbreakable_space_node::tprint to friends.
+ * src/roff/troff/node.h: Updated.
+
+ * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
+ in the HTML standard).
+
+2003-03-29 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/env.cc (point_size): Fix emission of html tag.
+ Otherwise, the following code
+
+ .di xxx
+ .ps 10
+ a
+ .br
+ .di
+ x\*[xxx]
+
+ produces `x a' instead of `xa'. This is a temporary fix, disabling
+ font changes in diversions for -Thtml.
+
+ * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
+ `HTML-TAG'.
+ (an-do-tag-html): Merge with ...
+ (an-do-tag): This macro.
+ Change code slightly to circumvent grohtml bug.
+ * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
+
+ * src/devices/grohtml/html-table.cc (html_table::emit_col,
+ html_table::is_gap): Round `width' properly.
+
+ * tmac/html.tmac: Provide some default layout parameters for
+ grohtml.
+
+ * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
+ command.
+
+2003-03-28 Werner LEMBERG <wl@gnu.org>
+
+ src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
+
+2003-03-27 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
+ defined.
+
+2003-03-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
+ `.vs'.
+ * doc/groff.texinfo: Updated.
+
+2003-03-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
+ TOKEN_END_TRAP>: Reset `have_input'.
+
+2003-03-18 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/groff/groff.man: Mention groff_trace man page.
+
+2003-03-16 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.in (LIBEXT): New variable to indicate the file extension
+ of library files. Computed heuristically from $(OBJEXT).
+ (MDEFINES): Add $(LIBEXT).
+ * Makefile.lib, Makefile.comm: Use it.
+
+ * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
+ overlong lines into smaller chunks.
+ (get_binary): New function.
+ (main): Use them.
+ * src/utils/pfbtops/pfbtops.man: Updated.
+
+2003-03-15 Colin Watson <cjwatson@debian.org>
+
+ * src/roff/groff/groff.man: Minor syntax fix.
+
+2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
+
+ * src/devices/grops/ps.cc (ps_printer::media_set,
+ ps_printer::~ps_printer): Handle zero paper width and length.
+
+2003-03-13 Werner LEMBERG <wl@gnu.org>
+
+ Add options -p and -l to grodvi.
+
+ * src/devices/grodvi/dvi.cc: Include paper.h.
+ (landscape_flag, user_paper_length, user_paper_width): New global
+ variables.
+ (dvi_printer::begin_page): Emit `papersize' special.
+ Set color after initialization of `cur_h' and `cur_v'.
+ (main): Add options `-l' and `-p'.
+ * font/devdvi/Makefile.sub (DESC): Set `papersize'.
+ * src/devices/grodvi/grodvi.man, NEWS: Updated.
+
+ * src/devices/grops/psrm.cc (valid_input_table): Fixed.
+
+2003-03-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/grops.man: Move documentation of .PSPIC to...
+ * man/groff_tmac.man: This man page.
+ * man/groff_font.man: Declare `paperwidth' and `paperlength' as
+ deprecated.
+
+ * tmac/X.tmac: Don't load pspic.tmac.
+
+2003-03-11 Werner LEMBERG <wl@gnu.org>
+
+ Make variable `pr' local to libdriver/input.cc. Based on a patch
+ by Bernd Warken <bwarken@mayn.de>.
+
+ * src/include/driver.h (pr): Removed.
+
+ * src/libs/libdriver/input.cc (pr): New global variable.
+ (do_file): Deallocate `pr'.
+ * src/libs/libdriver/printer.cc (pr): Removed.
+
+ * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
+ (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
+ (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
+ (main): Don't delete `pr'.
+
+2003-03-10 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
+ * tmac/papersize.tmac: New file.
+ * tmac/troffrc: Include `papersize.tmac'.
+ * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
+ * tmac/an-old.tmac: Set LT to LL by default.
+
+ * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
+ doc/groff.texinfo: Updated.
+
+ * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
+ bug which caused all odd iso papers to have wrong dimensions.
+
+ * src/devices/grops/ps.cc (user_paper_width): New global variable.
+ (main) <'p'>: Set `user_paper_width' also.
+ (ps_printer::media_width, ps_printer::media_height): Use values
+ given with option `-p'.
+
+2003-03-09 Werner LEMBERG <wl@gnu.org>
+
+ * src/include/nonposix.h: Provide default for SET_BINARY.
+
+ * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
+ src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
+ unconditionally.
+
+ * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
+ (main): Treat \r\n as \n.
+
+2003-03-08 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac: Use register `HY' to control hyphenation.
+ * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
+
+2003-03-07 Werner LEMBERG <wl@gnu.org>
+
+ Added support to access more than 256 glyphs in Type 1 fonts.
+
+ * src/devices/grops/ps.cc (subencoding): New structure.
+ (style): Add `sub' field.
+ Updated all users.
+ (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
+ Add `set_subencoding', `get_subfont' and `encode_subfont' member
+ functions.
+ Updated all users.
+ (ps_printer::set_char): Use `set_subencoding'.
+ (make_subencoding_name): New function.
+ (ps_printer::set_style): Handle case where `sty.sub' is not zero.
+ (ps_printer::~ps_printer): Emit subencoding definitions.
+
+ * src/devices/grops/psrm.cc (valid_input_table): New array to
+ properly support EBCDIC.
+ (white_space): Add `\f'.
+ (ps_get_line): Change first argument to be of type `string &'.
+ Updated all callers.
+ This allows to get lines of arbitrary length.
+ Use `valid_input_table'.
+ Remove warning about non-conforming PS line length. This seems
+ not to be of great importance -- for example, dvips don't emit
+ a warning either.
+ (PS_LINE_MAX): Removed.
+ (matches_comment): Change first argument to be of type `string &'.
+
+ * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
+
+ * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
+ %AGL_to_unicode, %default_ligatures): New hash tables.
+ Read all map entries.
+ Add unencoded characters.
+ Check for default ligatures if there are no `L' entries.
+ Print all kern entries.
+ Print all characters in charset.
+ * src/utils/afmtodit/afmtodit.man: Updated.
+
+ * font/devps/*: Regerated all fonts.
+
+ * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
+ of characters, just use `.trin'. Otherwise the mapping depends
+ on the font encoding.
+ * tmac/ps.tmac: Add `fi' and `fl'.
+ Improve `Fi' and `Fl'.
+ * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
+ * tmac/Xps.tmac: Fix `em'.
+
+ * NEWS: Updated.
+
+2003-03-04 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (charinfo_to_node_list): Reset
+ `have_input'.
+
+2003-03-03 Werner LEMBERG <wl@gnu.org>
+
+ * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
+
+ * font/devps/generate/textmap: Remove entry `similarequal'.
+ * font/devps/symbolmap: Updated.
+
+2003-03-02 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/font.cc (font::load): Fix error message for
+ bad character type.
+
+ * src/devices/grops/grops.man: Improve documentation of the -b
+ flag.
+
+ * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
+ `ascii' and `cp1047'.
+
+2003-03-01 Werner LEMBERG <wl@gnu.org>
+
+ Document composite glyphs and the `composite' request.
+
+ * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
+
+2003-02-28 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate/ec.map: Add some more Unicode entities.
+ * font/devdvi/*EC: Updated.
+
+ * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
+ * tmac/latin1 (latin1-tr): Undo any previous mapping.
+ * tmac/troffrc: Load `composite.tmac'.
+ * tmac/Makefile.sub (NORMALFILES): Updated.
+
+ * doc/groff.texinfo (Input Encodings): New section.
+ * NEWS: Updated.
+
+2003-02-27 Werner LEMBERG <wl@gnu.org>
+
+ * doc/texinfo.tex: New version 2003-02-11.06.
+
+ * tmac/doc-common (Dt): Don't emit warning for unknown section.
+ * tmac/groff_mdoc.man: Fix description of `Dt'.
+
+2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
+
+ * font/devps/prologue.ps: Fix for included Postscript that does
+ a setpagedevice -- which is now safely ignored.
+
+ * NEWS: Updated.
+
+ * src/devices/grops/ps.cc: Now sets the page size in the generated
+ document. This is done in two ways: Via a %%-comment for gv and
+ the like, and via a PageSize and setpagedevice for programs that
+ understands Postscript proper, like ps2pdf.
+
+ * src/devices/grops/ps.h: New broken-flag to avoid page size
+ definition, if required.
+
+ * src/devices/grops/grops.man: New broken-flag 16 mentioned.
+
+ * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
+ Not really necessary due to the fix in prologue.ps, but cleaner:
+ Such information does not belong in an .eps file.
+
+ * doc/Makefile.sub: See doc/Makefile.in.
+
+2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
+
+ * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
+ instead of P1 since the latter is broken in some versions of netpbm.
+ * configure: Updated.
+
+2003-02-26 Larry Kollar <kollar@alltel.net>
+
+ Make man pages more customizable.
+
+ * tmac/an-old.tmac (FT): New register holding footer distance from
+ bottom.
+ (HF): New string holding the default heading font.
+ (TH): Handle registers `IN' and `SN' set on the command line.
+ Use `FT'.
+ (PT, BT): New strings to customize header and footer lines.
+ (an-header, an-footer): Use them.
+ (SH, SS): Use `HF'.
+ * tmac/groff_man.man: Document changes.
+
+ * doc/groff.texinfo: Document man changes.
+ Document Ultrix extensions of man.
+
+2003-02-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (do_width, do_if_request): Reset
+ `have_input' after changing back to old environment.
+
+ * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
+ function up to be defined before first call. This is necessary to
+ avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
+
+ * src/utils/afmtodit/afmtodit.pl: Make script search for files in
+ the default font directory also. Based on a patch from James
+ J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
+ * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
+ * src/utils/afmtodit/afmtodit.man: Document it.
+
+ * NEWS: Updated.
+
+ * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
+
+2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
+
+ * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
+ (GROFF_PNMTOPS_NOSETPAGE): New macro.
+ * configure.ac: Use it.
+ * configure: Regenerated.
+ * Makefile.in: Updated.
+
+ * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
+ (CLEANADD): Add www.tmac-sed.
+ (pnmtops_nosetpage): Define default.
+ (install_data): Handle www.tmac-sed and substitute
+ @PNMTOPS_NOSETPAGE@.
+ (stamp-sed): Add www.tmac.
+ * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
+ It now breaks URLs at suitable places.
+ (www:substring_ok): New register set by...
+ (www:@test_substring): New macro.
+ (www:error): New alias to www-error.
+ (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
+ New macros.
+ (URL): Use www:url_breaks.
+ (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
+ (CDS, CDE): New macros.
+
+2003-02-25 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
+ buffer overflow.
+
+2003-02-24 Werner LEMBERG <wl@gnu.org>
+
+ Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
+ can be negative also.
+
+ * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
+ `int16'.
+ (read_char_table): Avoid negative ascenders.
+ (output_charset): Add cast.
+ * font/devlj4/*: Regenerated.
+
+ Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
+ possible.
+
+ * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
+ * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
+ of `<>'.
+ * font/devdvi/*: Regenerated.
+
+ Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
+ normal width, while the previously used characters (U+2329 and
+ U+232A) are classified as wide due to canonical equivalence with the
+ CJK punctuation characters U+3008 and U+3009.
+
+ * font/devutf8/R.proto: Updated.
+ * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
+
+ * man/groff_char.man: Simplify handling of table traps by
+ introducing `start block' and `end block' macros.
+ (Ns, Ne, 2s, 2e, Ds, De): New macros.
+ (DL): Make it work with Unix troff also.
+ Fix code values of `la' and `ra'.
+
+ * tmac/dvi.tmac: Define `<>' for CW and CWI.
+
+2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
+
+ * src/devices/grohtml/post-html.cc (element_list::~element_list):
+ New destructor, fixing a major memory leak.
+
+2003-02-22 Werner LEMBERG <wl@gnu.org>
+
+ * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
+ to be in conformance with Unicode 3.0 and newer.
+
+ * font/devlj4/generate/text.map: Add `Eu'.
+ * font/devlj4/generate/special.map: Flip `*e' and `+e'.
+ * font/devlj4/S: Regenerated.
+
+ * man/groff_char.man: Completely rewritten.
+
+ * doc/groff.texinfo: Fix description of request and macro arguments.
+
+2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
+
+ Valgrind fixes.
+
+ * src/devices/grohtml/html-table.cc (html_table::~html_table):
+ Deallocate `columns' list.
+ * src/devices/grohtml/post-html.cc (char_block::~char_block):
+ New destructor.
+ (text_glob::text_glob_html, text_glob::text_glob_special,
+ text_glob::text_glob_line, text_glob::text_glob_auto_image,
+ text_glob::text_glob_tag): Avoid memory leaks.
+ (text_glob::remember_table): Free memory before reassigning.
+
+2003-02-19 Werner LEMBERG <wl@gnu.org>
+
+ Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
+ alias `hbar'), the Planck constant over two pi.
+
+ * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
+ `+e' for position 34.
+ * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
+ `u2662' and `u2661'.
+ * font/devdvi/{MI,S}: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
+ * font/devlbp/*: Add `hbar' alias.
+ * font/devlj4/generate/special.map: Ditto.
+ * font/devlj4/S: Regenerated.
+ * font/devps/generate/symbolchars: Add `+e'.
+ * font/devps/generate/textmap: Fix PS name for `-h'.
+ Add `hbar' alias.
+ * font/devps/symbolmap: Regenerated.
+
+ * src/devices/grops/ps.cc (transform_fill): Removed since unused.
+
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
+ `-h', `hbar'.
+ * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
+ `-h'.
+
+ * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
+ `hbar'.
+ * tmac/tty-char.tmac: Add `+e'.
+
+2003-02-17 Werner LEMBERG <wl@gnu.org>
+
+ Another round trying to really fix problems with `have_input'.
+
+ * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
+ (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
+
+ * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
+ handling if both foreground and background colors are default.
+
+ * doc/groff.texinfo (Debugging): Document .lf differences to
+ AT&T troff.
+
+2003-02-16 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
+ null-bytes in created string.
+
+ * src/roff/troff/input.cc (lookup_color, interpolate_macro,
+ alias_macro, lookup_request): Improve warning messages.
+
+ * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
+ not `strdup'.
+ Free `last_image_filename'.
+
+ * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
+ `buffer'.
+ (imageList::createPage, imageList::createImage): Use `free', not
+ `a_delete'.
+ (imageItem::~imageItem): Free `imageName'.
+ (addRegDef): Use `strsave', not `strdup'.
+ (get_resolution): Free `pathp'.
+
+2003-02-15 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
+ to `dummy'.
+
+2003-02-14 Werner LEMBERG <wl@gnu.org>
+
+ Add memory management for colors to deallocate unnamed colors
+ properly.
+
+ * src/include/color.h (color): New members `free_list' and `next'.
+ New member functions `new' and `delete'.
+ Add destructor.
+ * src/libs/libgroff/color.cc: Implement it.
+
+ * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
+ for array size of new operator.
+
+ * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
+ redundant comparison.
+
+ * src/roff/troff/input.cc (word_space_node::reread,
+ hmotion_node::reread): Avoid warning about unused parameter.
+ (reset_output_registers): Remove redundant parameter.
+ (define_color): Undo change 2003-02-12.
+
+ * src/roff/troff/reg.h: Updated.
+
+ * src/roff/troff/node.cc (troff_output_file::really_print_line,
+ output_file::put_filename, real_output_file::really_put_filename,
+ ascii_output_file::really_print_line,
+ break_char_node::get_hyphen_list): Avoid warning about unused
+ parameter.
+ (suppress_node::tprint): Updated.
+
+ * configure.ac: Check declaration for rand() and srand().
+ * configure: Regenerated.
+
+ * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
+ conditionally.
+ * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
+ and srand().
+
+ * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
+ to avoid compiler warnings.
+
+ * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
+ unused.
+
+ * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
+ is unused.
+ * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
+ (unused) parameter.
+ Updated all callers.
+
+ * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
+ is unused.
+ * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
+ * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
+
+ * src/devices/grohtml/post-html.cc (html_printer::emit_line):
+ Parameter is unused.
+ (html_printer::add_table_end): Define parameter conditionally.
+ * src/devices/grohtml/output.cc (simple_output::special): Parameter
+ is unused.
+
+ * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
+ (lbp_printer::set_char): Last parameter is unused.
+
+ * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
+
+2003-02-13 Werner LEMBERG <wl@gnu.org>
+
+ New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
+ Make \D'f ...' move horizontally again for backwards compatibility.
+ Replace it with \D'Fg ...' where appropriate to avoid dependency
+ on horizontal resolution.
+
+ * src/roff/troff/input.cc (do_get_long_name): New function.
+ (get_long_name): Call it.
+
+ (read_draw_node): Handle `\D'Fx ...' by calling ...
+ (read_color_draw_node): New function.
+
+ (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
+ `end'.
+ Pass it to `do_get_long_name' which is used instead of
+ `get_long_name'.
+
+ * src/libs/libdriver/input.cc (color_from_Df_command): Remove
+ unnecessary value guard.
+ (parse_D_command) <'f'>: Add horizontal shift.
+
+ * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
+ * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
+ (FILL_MAX): Removed.
+
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Updated.
+
+2003-02-12 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/input.cc (do_name_test, do_expr_test,
+ do_zero_width): Push `\n' if closing delimiter is missing.
+
+ (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
+ <'F'>: Make \F non-transparent at the beginning of line.
+ (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
+ token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
+ `have_input'.
+
+ (define_color): Free color in case of reassignment.
+
+ * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
+ @DefescListEnd): Use @Var, not @var.
+ Fix all calls.
+
+ * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
+
+ * src/preproc/pic/object.cc (object_spec::~object_spec): Free
+ `shaded' and `outlined' arrays.
+ (object_spec::object_spec): Initialize `shaded' and `outlined'.
+ (graphic_object::set_fill_color, graphic_object::set_outline_color):
+ Use strsave.
+ (closed_object::set_fill_color): Ditto.
+ * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
+ instead of strdup.
+ (troff_output::reset_color): Use a_delete instead of free.
+ * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
+
+2003-02-11 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo: Improve documentation of `ad'.
+ Document that \D'f...' is dependent on the horizontal resolution.
+ * man/groff_diff.man: Improve documentation of \D'f...'.
+
+ * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
+ compensating \h'...' for \D'f ...' since the latter no longer moves
+ current position.
+ * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
+
+2003-02-10 Werner LEMBERG <wl@gnu.org>
+
+ Improve error messages for `x F' (and `F') commands.
+
+ * src/include/error.h: Add declaration for
+ `current_source_filename'.
+ * src/libs/libgroff/filename.cc: Add `current_source_filename'.
+ * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
+ parameter for source file string.
+ Updated all callers.
+
+ * src/libs/libdriver/input.cc: Add `current_source_filename'.
+ (remember_source_filename): New function.
+ (parse_x_command <'F'>, do_file <'F'>): Use it.
+
+2003-02-09 Werner LEMBERG <wl@gnu.org>
+
+ Make grotty not emit warnings about unknown colors more than
+ necessary.
+
+ * src/devices/grotty/tty.cc: Include `ptable.h'.
+ (TTY_MAX_COLORS): Removed.
+ (DEFAULT_COLOR_IDX): Defined to -1.
+ (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
+ (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
+ Change `tty_colors' to be a ptable.
+ First arg of `put_color' is now `char'.
+ New functions `make_rgb_string' and `tty_color'.
+ (tty_printer::tty_printer): Use `tty_color'.
+ (tty_printer::color_to_idx): Return value is now `char'.
+ Use `tty_color'.
+
+ * src/include/color.h (color): Add `print_color' member function.
+ * src/libs/libgroff/color.cc (color::print_color): Implement it.
+
+2003-02-08 Werner LEMBERG <wl@gnu.org>
+
+ Valgrind fixes.
+
+ * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
+ encoding file.
+
+ * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
+ assume that value has been allocated with `new[]', thus use
+ `a_delete' for deallocation.
+
+ * src/libs/libdriver/input.cc (get_integer_arg,
+ get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
+ where appropriate.
+
+ * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
+ * src/libs/libgroff/nametoindex.cc
+ (character_indexer::named_char_index): Use `new <type>[1]'.
+
+ * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
+ <type>[1]'.
+ * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
+ (split_text): Use `a_delete'.
+
+ * src/preproc/pic/pic.y (define_label, define_variable): Use `new
+ <type>[1]'.
+
+ * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
+ harmless memory leak.
+ (hyphen_trie::read_patterns_file): Initialize `buf'.
+ * src/roff/troff/node.cc (troff_output_file::troff_output_file):
+ Initialize `current_fill_color'and `current_glyph_color'.
+ * src/roff/troff/glyphuni.cc
+ (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
+ * src/roff/troff/uniuni.cc
+ (unicode_decompose_init::unicode_decompose_init): Ditto.
+ * src/roff/troff/uniglyph.cc
+ (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
+
+2003-01-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
+ `access' before calling `unlink'.
+ (do_file): Handle __EMX__.
+
+ * src/include/nonposix.h: Handle __EMX__.
+
+ * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
+ (fontpath,tmacpath): Use it.
+ (MDEFINES): Add it.
+ Sorted alphabetically.
+
+ * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
+ @SEP@.
+ * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
+ @SEP@.
+
+2003-01-27 Werner LEMBERG <wl@gnu.org>
+
+ * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
+ New files, copied from gnulib.
+ * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
+ * configure.ac: Updated.
+ * configure: Regenerated.
+
+ * src/include/config.hin: Regenerated.
+ * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
+ Don't define `strcasecmp' as `strcmp'.
+ [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
+ Dont define `strncasecmp' as `strncmp'.
+
+ * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
+ Removed.
+
+2003-01-26 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
+ s/unline/unlink/.
+
+2003-01-25 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
+
+2003-01-24 Werner LEMBERG <wl@gnu.org>
+
+ Add US-english hyphenation exceptions (converted from Barbara
+ Beeton's hyphenation exception log reports which appear irregularly
+ in TUGBoat).
+
+ * tmac/hyphen.us: Updated to latest version.
+ * tmac/README: Updated.
+ * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
+ * tmac/troffrc: Load `hyphenex.us'.
+ * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
+ * doc/groff.texinfo: Updated.
+
+2003-01-23 Werner LEMBERG <wl@gnu.org>
+
+ Improve hyphenation slightly. This is a first step in redesigning
+ the hyphenation algorithm to make it more flexible (e.g. allowing
+ kerns and ligatures between the hyphenation character and the
+ following character -- while not used normally in English, other
+ languages like German would benefit).
+
+ * src/roff/troff/env.cc (environment::hyphenate_line): Use
+ assertion instead of if-clause.
+ Let `get_hyphen_list' return the number of involved characters in
+ the hyphenation pattern instead of computing it directly (which
+ often yields too small values).
+ * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
+ * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
+ parameter.
+
+2003-01-22 Werner LEMBERG <wl@gnu.org>
+
+ Fixing a bug which caused groff to hang if the hyphenation exception
+ dictionary tried to grow.
+
+ * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
+ hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
+ pointer to dictionary.
+
+2003-01-20 Werner LEMBERG <wl@gnu.org>
+
+ * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
+ negative left italic correction.
+ * src/utils/afmtodit/afmtodit.man: Document it.
+
+ * font/devps/generate/Makefile (RFLAG): Add `-m'.
+ * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
+ S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
+
+ * NEWS: Updated.
+
+2003-01-16 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS: Updated.
+
+2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
+
+ * src/preproc/refer/refer.man: Mention REFER environment variable.
+
+2003-01-05 Werner LEMBERG <wl@gnu.org>
+
+ Similar to \[is], the square root glyph (\[sr]) and the square root
+ extension glyph (\[radicalex]) are now text symbols. The new
+ mathematical versions are called \[sqrt] and \[sqrtex],
+ respectively.
+
+ * font/devX*/S: Regenerated.
+ * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
+ * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
+ * font/devdvi/EX, font/devdvi/S: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
+ * font/devlj4/generate/special.map: Add `sqrt'.
+ * font/devlj4/S: Regenerated.
+ * font/devps/generate/textmap: Add `sqrt'.
+ * font/devps/S, font/devps/symbolmap: Regenerated.
+
+ * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
+ SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
+ * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
+ overlap horizontally.
+
+ * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
+ * tmac/dvi.tmac: Add `sr', and `sqrtex'.
+ Fix `radicalex'.
+
+ * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
+ and `sqrtex' are overlapping glyphs.
+
+2003-01-04 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate/texsy.map: Add `is'.
+ * font/devps/symbolmap: Regenerated.
+ * font/devdvi/*TC, MI, S: Regenerated.
+
+ * tmac/dvi.tmac: Remove `is'.
+
+2003-01-03 Werner LEMBERG <wl@gnu.org>
+
+ `is' is now a text symbol (only relevant for dvi). The math variant
+ can be accessed with `integral'.
+
+ * font/devX*/S: Regenerated.
+ * font/devdvi/generate/texex.map: Remove `is'.
+ * font/devdvi/EX: Updated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
+ * font/devlj4/generate/special.map: Ditto.
+ * font/devlj4/S: Regenerated.
+ * font/devps/generate/textmap: Add `integral'.
+ * font/devps/S: Regenerated.
+
+ * tmac/dvi.tmac: Define `is'.
+
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
+
+ * src/preproc/tbl/main.cc (process_format): Fix error message.
+
+2003-01-02 Werner LEMBERG <wl@gnu.org>
+
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
+ * font/devps/textmap: Fix entries for `ne' and `nc'.
+ * font/devps/symbolmap: Regenerated.
+
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
+ src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
+ `38', `58', `78', `-+', `|=', `nc', `ne'.
+
+ * tmac/dvi.tmac: Add `nm', `ne', `nc'.
+ Use `schar' for `aq'.
+ * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
+ * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
+ * tmac/tty.tmac: Add `ne'.
+
+ * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
+ for fallback glyphs.
+
+2002-12-29 Werner LEMBERG <wl@gnu.org>
+
+ Add glyph `|='.
+
+ * font/devX*/*: Regenerated.
+ * font/devdvi/generate/ec.map: Remove `eq'.
+ * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
+ Assign `|=' to position 39.
+ * font/devdvi/*EC, S: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
+ * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
+ Assign `|=' to position 549.
+ * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
+ `equalmath'.
+ Add `uni2243' for `|='.
+
+ * tmac/ec.tmac: Add `eq'.
+ * tmac/dvi.tmac: Add `=~'.
+ * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
+ `|='.
+
+2002-12-21 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate/tc.map: Remove `**'.
+ * font/devdvi/*TC: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
+ `78', `<<', `>>'.
+ * font/devutf8/NOTES: Updated.
+
+ * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
+ Don't give default parameter to `set_macro'.
+ * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
+ instead of `set_macro'.
+ (charinfo::setx_macro): Implement it.
+ (charinfo::set_macro): Don't change `mode'.
+
+ * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
+ * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
+ * tmac/dvi.tmac: Define `!=' with `.schar'.
+
+2002-12-20 Werner LEMBERG <wl@gnu.org>
+
+ * font/devX*/S: Regenerated.
+ * font/devdvi/generate/ec.map: Remove `pl'.
+ * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
+ * font/devdvi/*{TC,EC}: Regenerated.
+ * font/devhtml/R.proto: Add `-+'.
+ Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
+ * font/devlbp/*: Remove `or'.
+ * font/devlj4/generate/special.map: Remove `or'.
+ * font/devlj4/S: Regenerated.
+ * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
+ `seveneighths', `threeeighths'.
+ Remove `plusmath'.
+ Replace `minusplus' with `uni2213'.
+ * font/devps/symbolmap: Regenerated.
+ * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
+ Add `-+'.
+
+ * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
+ function.
+ * src/roff/troff/node.cc (troff_output_file::put_char_width):
+ Call glyph_color and fill_color even if tcommand_flag isn't set.
+ (make_node, node::add_char): Check not ci->is_fallback but
+ ci->is_normal.
+
+ * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
+ * tmac/ec.tmac: Add .rchar entry for `f/'.
+ Don't remove `12', `14', `34'.
+ Define `pl' to be always roman.
+ * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
+ Define `18', `38', `58', `78'.
+ * tmac/tty.tmac: Add `-+'.
+ * tmac/dvi.tmac: Define `f/'.
+ (dvi-frac): Use `f/'.
+ * tmac/X.tmac (X-frac, X-frac-mono): New macros.
+ Define `18', `38', `58', `78'.
+
+2002-12-15 Colin Watson <cjwatson@debian.org>
+
+ * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
+
+2002-12-10 Werner LEMBERG <wl@gnu.org>
+
+ Add glyph `tno', a textual variant of `no'.
+
+ * font/devX*/*: Regenerated.
+ * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
+ * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
+ * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
+ * font/devdvi/*: Regenerated.
+ * font/devlbp/*: Add `tno'.
+ * font/devlj4/generate/tex.map: Replace `no' with `tno'.
+ * font/devlj4/*: Regenerated.
+ * font/devps/generate/textmap: Replace `no' with `tno'.
+ * font/devps/generate/symbolchars: Add `no'.
+ * font/devps/*: Regenerated.
+
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
+
+ * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
+ * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
+
+ * NEWS: Updated.
+
+ * tmac/dvi.tmac: Replace most `\\' with `\E'.
+ Add definition for `sd'.
+ * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
+
+ * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
+
+2002-12-08 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
+ mode to avoid rounding errors.
+ (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
+
+ * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
+ src/roff/troff/troff.man: Improve documentation of -T.
+
+2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
+
+ * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
+ (run_pipeline) [_WIN32]: Provide working function without `fork'.
+
+2002-12-06 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
+ glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
+ Scaling Euro.sansserif glyphs down to have the same height as
+ digits.
+ Removed unnecessary points; added some extrema.
+
+ * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
+ Regenerated.
+
+2002-12-04 Werner LEMBERG <wl@gnu.org>
+
+ * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
+ and `Euro.symbol.bold.slanted'.
+ Improve some glyph offsets and widths.
+ * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
+ Regenerated.
+ * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
+ typo.
+ * font/devps/generate/sfdtopfa.pe: Generate PFA in current
+ direcory.
+
+ * tmac/europs.tmac: Updated to new glyph indices.
+ Use Euro.symbol for font familiy `A'.
+
+ * doc/groff.texinfo: Minor improvements.
+
+2002-12-02 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate.tc.map: s/%O/%0/.
+ * font/devdvi/*TC: Regenerated.
+
+ * src/roff/troff/div.cc (init_div_requests): Sorted.
+
+ * tmac/dvi.tmac: Remove `Ye'.
+ * tmac/ec.tmac: Remove `Ye'.
+ Add .rchar entry for `de'.
+
+ * man/groff.man, man/groff_diff.man: Document register `.pe'.
+ * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
+ * NEWS: Updated.
+
+2002-11-30 Werner LEMBERG <wl@gnu.org>
+
+ Add PS font for various Euro glyphs.
+
+ * font/devps/generate/freeeuro.sfd: New master font file for
+ pfaedit.
+ * font/devps/generate/sfdtopfa.pe: New conversion script for
+ pfaedit.
+ * font/devps/generate/Makefile (FONTS): Add `EURO'.
+ (EURO, freeeuro.afm, freeeuro.pfa): New rules.
+ * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
+ `freeeuro.sfd'.
+ * font/devps/EURO: Generated from `freeeuro.afm'.
+ * font/devps/download: Add `freeuro.pfa'.
+ * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
+ `freeeuro.pfa'.
+
+ * tmac/europs.tmac: New file.
+ * tmac/ps.tmac: Include `europs.tmac'.
+ * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
+
+2002-11-29 Werner LEMBERG <wl@gnu.org>
+
+ * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
+ * font/devdvi/S: Regenerated.
+ * font/devhtml/R.proto: Fix `CR' and `ci'.
+ Add `OK'.
+ * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
+ Remove `bs'.
+ * font/devps/symbolmap: Regenerated.
+ * font/devutf8/R.proto: Fix `CR' and `ci'.
+ Add `OK'.
+ * font/devutf8/NOTES: Updated.
+
+ * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
+ `ci'.
+ Add `OK'.
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
+
+ * tmac/dvi.tmac: Add `lh' and `rh'.
+ * tmac/Xps.tmac: Fix `lh' and `rh'.
+ * tmac/X.tmac: Add `OK'.
+ * tmac/lj4.tmac: Ditto.
+
+2002-11-24 Werner LEMBERG <wl@gnu.org>
+
+ * font/devX*/S: Regenerated.
+ * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
+ `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
+ * font/devdvi/generate/texsy.map: Remove `or' glyph.
+ * font/devdvi/S: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
+ `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
+ `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
+ `bracketleftbt', `bracketrighttp', `bracketrightex',
+ `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
+ `braceex', `braceleftex', `bracerightex', `bracerighttp',
+ `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
+ `rb', and `bv'.
+ * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
+ * font/devutf8/NOTES: Updated.
+ * font/devlj4/generate/special.map: Add glyph `braceex'.
+ * font/devlj4/S: Regenerated.
+
+ * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
+
+2002-11-14 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
+ and `vA'.
+ Fix code for `an'.
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
+
+ * doc/texinfo.tex: New version from texinfo 4.3.
+ * doc/groff.texinfo: Updated for texinfo 4.3.
+ Use @tie{} where appropriate.
+ * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
+ * font/devdvi/generate/tc.map: Remove `rn'.
+ * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
+ Fix code for `an'.
+ * font/devX100/*, font/devX100-12/*, font/devX75/*,
+ font/devX75-12/*: Regenerated.
+
+ * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
+ Use .char (again) for `br', `ul', `rn', `or', and `ru'.
+ Improve definition of `an'.
+ * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
+ `ru'.
+ * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
+ * tmac/X.tmac: Add definition for `or'.
+ * tmac/Xps.tmac: Undo change 2002-11-05.
+ * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
+
+2002-11-11 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cc (troff_output_file::put_char): Always
+ call flush_tbuf.
+
+2002-11-10 Werner LEMBERG <wl@gnu.org>
+
+ Added three new requests `schar', `fschar', and `rfschar'. `schar'
+ defines a glyph which is searched after the check for fonts declared
+ with `.special' (and before the check for all mounted special
+ fonts). `fschar' defines a glyph for a particular font which is
+ searched after the check for fonts declared with `.fspecial' (and
+ before the check for fonts declared with `.special'). `rfschar'
+ removes glyphs defined with `fschar'.
+
+ * src/roff/troff/token.h (char_mode): New enum.
+ Declare do_define_character.
+ * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
+ `mode'.
+ (charinfo::is_fallback): Updated.
+ (charinfo::is_special): New method.
+ * src/roff/troff/input.cc (do_define_character): Add and use
+ optional second parameter used as a prefix for font-specific glyph
+ names.
+ (define_character, define_fallback_character): Updated.
+ (define_special_character): New function.
+ (init_input_requests): Add `schar'.
+ (charinfo::charinfo, charinfo::set_macro): Updated.
+ * src/roff/troff/node.cc: Include `stringclass.h'.
+ (make_glyph_node): Handle special glyphs defined with `.schar' and
+ `.fschar'.
+ (define_font_special_character, remove_font_special_character): New
+ functions.
+ (init_node_requests): Sorted.
+ Add `fschar' and `rfschar'.
+ * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
+ Document new requests.
+
+ * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
+ * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
+
+2002-11-08 Werner LEMBERG <wl@gnu.org>
+
+ Added new font `SC' (cmtex10) to devdvi.
+
+ * devdvi/generate/Makefile (FONTS): Add `SC'.
+ (SC): New rule.
+ * devdvi/generate/textex.map: New map file for cmtex.
+ * devdvi/SC: New.
+ * devdvi/Makefile.sub (DEVFILES): Updated.
+ * tmac/dvi.tmac: Add fspecial entries for SC.
+ Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
+ found before `S' since the font position of `SC' is lower due to the
+ gaps in DESC's `font' line.
+ * tmac/ec.tmac: Add a `special' call.
+ * NEWS: Updated.
+
+ * font/devhtml/R.proto: Remove double entry for `ti'.
+ * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
+ * tmac/tty-char.tmac: Remove entry for `bq'.
+ * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
+ * tmac/ec.tmac: Don't remove `aq' glyph.
+ * tmac/X.tmac: Fix entry for `em'.
+ Add entries for `fo' and `fc'.
+ * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
+
+ * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
+ documentation of `special' and `fspecial' requests.
+
+2002-11-05 Werner LEMBERG <wl@gnu.org>
+
+ * font/devascii/R.proto, font/devcp1047/R.proto,
+ font/devlatin1/R.proto: Remove entry for `.i'.
+ * font/devdvi/generate/textt.map: Add entry for `ad'.
+ * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
+ font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
+ We need this for getting kerning values to compose `/l' and `/L'.
+ * font/devdvi: Regenerated font definition files for CM fonts.
+ * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
+ * font/devutf8/R.proto: Ditto.
+ Remove double entry for `ti'.
+
+ * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
+ for (groff) ligatures, `la', and `ra'.
+ Add "'C", "'c", `IJ', and `ij'.
+ Remove double entry for `ti'.
+ * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
+ double entries.
+ Add "'C", "'c", `IJ', and `ij'.
+ Fix entries for (groff) ligatures, `la', and `ra'.
+
+ * tmac/ps.tmac (ps-achar): New macro.
+ Define "'c" and "'C".
+ * tmac/tty.tmac: Add entry for `.i'.
+ * tmac/X.tmac (X-achar): New macro.
+ Define "'c", "'C", and `:Y'.
+ Add entries for `IJ' and `ij'.
+ * tmac/Xps.tmac (Xps-achar): New macro.
+ Define "'c" and "'C".
+ Add entries for `IJ' and `ij'.
+ * tmac/lbp.tmac (lbp-achar): New macro.
+ Add fallback characters for all groff ligatures and many other
+ glyphs.
+ * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
+ Add entries for `/l' and `/L'.
+ Define "'c" and "'C".
+ Add entries for `IJ' and `ij'.
+
+2002-11-02 Larry Kollar <kollar@alltel.net>
+
+ * PROBLEMS: Document how to solve Mac OS X compilation problems.
+
+2002-11-02 Werner LEMBERG <wl@gnu.org>
+
+ Adding support for composite glyphs: \[xxx yyy ...] and the
+ `composite' request.
+
+ * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
+ to Unicode-based glyph names.
+ * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
+ glyph names to groff glyph names.
+ * src/roff/troff/uniuni.cc: New file for canonically decomposing
+ Unicode-based glyph names.
+ * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
+ for handling Unicode glyph names.
+ * src/roff/troff/input.cc: Include unicode.h.
+ (composite_glyph_name): New function.
+ (token::next) <'['>: Handle Unicode glyph names and composite
+ glyphs.
+ (composite_dictionary): New dictionary for the `composite' request.
+ (composite_request): Implement `composite' request.
+ (init_input_requests): Add `composite'.
+ Alphabetically sorted.
+ * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
+ commented out).
+ (init_env_requests): Alphabetically sorted.
+ Removed `tas' and `tar' (already commented out).
+ * src/roff/troff/Makefile.sub: Updated.
+
+2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
+ of options.
+
+2002-10-29 Werner LEMBERG <wl@gnu.org>
+
+ Fix computation of .trunc register. Additionally, its value (and
+ the value of the .ne register) is now always set before entering the
+ trap.
+
+ * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
+ `needed_space' before calling `space'.
+ (top_level_diversion::space): Remove special code for 'sp before the
+ first page.
+ Call `begin_page' with the discarded space as a parameter.
+ (top_level_diversion::begin_page): Add optional parameter to set
+ `truncated_space'.
+ * src/roff/troff/div.h: Updated.
+
+ * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
+ \n[.ne].
+
+ * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
+ (LP): Remove superfluous call to `br'.
+ * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
+ * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
+
+2002-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/doc-ditroff: Remove useless switch/variable -rC.
+ (doc-setup-header): Don't set page register `%'.
+ * tmac/doc-nroff: Remove variable `C'.
+ (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
+ (doc-setup-header): Don't set page register `%'.
+ Don't call `bp'.
+ * tmac/doc-common (doc-header): Call `ns'.
+ (doc-paragraph): Protect .sp with .br so that it survives traps
+ possibly set by the user.
+ * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
+
+ * tmac/doc*: Replace ' with . for consistency if no effect.
+
+2002-10-26 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
+ so that it survives traps possibly set by the user.
+
+ * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
+ (troff_output_file::set_font): Call flush_tbuf if necessary.
+ (troff_output_file::fill_color, troff_output_file::glyph_color): Call
+ flush_tbuf and do_motion only if necessary.
+ (troff_output_file::start_special,
+ troff_output_file::put_char_width, troff_output_file::put_char,
+ troff_output_file::draw): Updated.
+ (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
+ vmotion_node::tprint): Undo change 2002-10-23.
+
+2002-10-25 Werner LEMBERG <wl@gnu.org>
+
+ * tmac/www.tmac (DC): Fix case of overlapping images.
+
+2002-10-23 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cc (troff_output_file::fill_color,
+ troff_output_file::glyph_color): Set current color before testing
+ color_flag.
+ (troff_output_file::put_char_width, troff_output_file::put_char,
+ troff_output_file::draw): Don't call flush_tbuf and/or do_motion
+ before glyph_color.
+ (troff_output_file::file_color, troff_output_file::glyph_color):
+ Call do_motion.
+ (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
+ vmotion_node::tprint): Move first, then call fill_color.
+
+2002-10-20 Werner LEMBERG <wl@gnu.org>
+
+ * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
+ possible to use multiple main macro packages.
+
+2002-10-19 Werner LEMBERG <wl@gnu.org>
+
+ * src/devices/grops/ps.cc (cmyk_flag): New global variable.
+ (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
+ (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
+ is set.
+ * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
+ `where' construction since `cmyksetcolor' is a PS Level 2 operator.
+
+2002-10-16 Werner LEMBERG <wl@gnu.org>
+
+ * NEWS, doc/webpage.ms: Updated.
+
+2002-10-14 Werner LEMBERG <wl@gnu.org>
+
+ * src/roff/troff/node.cc (troff_output_file::put_char_width,
+ troff_output_file::put_char, troff_output_file::fill_color,
+ troff_output_file::glyph_color): Handle case where color pointer
+ is null.
+
+2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
+
+ Add the new -r option to grotty. It is similar to the -i option
+ except it tells grotty(1) to use the `reverse video' attribute to
+ render italic fonts.
+
+ * src/devices/grotty/tty.cc (reverse_flag): New global variable.
+ (SGR_REVERSE, SGR_NO_REVERSE): New macros.
+ (tty_printer::make_underline, tty_printer::put_color,
+ tty_printer::end_page): Use it.
+ (main): Add -r switch.
+ (usage): Updated.
+ * src/devices/grotty/grotty.man: Document it.
+
+2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
+ cast to `unsigned char' to properly read patterns with 8bit
+ characters.
+
+2002-10-08 Werner LEMBERG <wl@gnu.org>
+
+ * REVISION: Increased to 2.
+
+Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
@@ -1191,5 +9048,5 @@ notice and this notice are preserved.
Local Variables:
version-control: never
-coding: utf-8
+coding: latin-1
End:
diff --git a/ChangeLog.119 b/ChangeLog.119
deleted file mode 100644
index eab87ce9..00000000
--- a/ChangeLog.119
+++ /dev/null
@@ -1,5236 +0,0 @@
-
-Version 1.19.2 released
-=======================
-
- * tmac/groff_ms.man, doc/groff.texinfo: Synchronize.
-
- * doc/webpage.ms: Updated.
-
- * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
-
-2005-09-04 Jörgen Grahn <jgrahn@algonet.se>
-
- * tmac/groff_ms.man: Document `PO' better.
-
-2005-09-03 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Document grotty changes.
-
-2005-09-01 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Backward compatibility support for `man' program.
-
- * tmac/an-old.tmac (LL): Initialize it to respect prior LL register
- assignment, prior `.ll' request and then package defaults, in this
- specified order of decreasing priority.
-
- * tmac/groff_man.man, doc/groff.texinfo (Man options): Document
- altered `LL' register initialization priorities.
-
-2005-08-29 Gary W. Swearingen <garys@opusnet.com>
-
- * tmac/groff_mdoc.man: Go into more details how the `AUTHORS'
- section should look like.
-
-2005-08-29 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_mdoc.man: The month's name in a call to .Dd shouldn't
- be abbreviated.
-
-2005-08-27 Bernd Warken
-
- * tmac/groff_man.man: Add man(7) too SEE ALSO and more minor
- fixes.
-
-2005-08-11 Bernd Warken
-
- * tmac/www.tmac (URL, MTO): Handle empty \\$1 better.
-
-2005-08-09 Bernd Warken
-
- * tmac/www.tmac (URL, MTO): Use bold series if color support is
- deactivated.
-
-2005-08-02 Bernd Warken
-
- * doc/Makefile.sub (uninstall_sub): Use --remove, not --delete
- as argument to $(INSTALL_INFO). The latter isn't portable.
- Remove $(HTMLEXAMPLEFILES) too.
-
- * Makefile.in (uninstall_dirs): Remove $(datadir)/doc/groff and
- $(datadir)/doc too.
- Suppress warning messages and return always true.
-
- * tmac/Makefile.sub (uninstall_sub): Remove www.tmac too.
-
-2005-07-02 Bernd Warken
-
- * src/devices/xditview/gxditview.man: Change many `.I' to `.B'.
- * man/groff_out.man: More markup and minor improvements.
- * src/roff/groff/groff.man: Minor improvements.
-
-2005-06-28 Werner LEMBERG <wl@gnu.org>
-
- * ChangeLog: Split off older entries into...
- * ChangeLog.115 ChangeLog.116, ChangeLog.117, ChangeLog.118: New
- files.
-
-2005-06-26 Bernd Warken
-
- * src/devices/xditview/gxditview.man: More minor fixes.
-
-2005-06-24 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/troff.cpp (troff_output::set_fill,
- troff_output::set_color, troff_output::reset_color): Use .bcolor and
- .fcolor instead of \m and \M, respectively.
-
-2005-06-23 Bernd Warken
-
- * src/devices/xditview/gxditview.man: More minor fixes.
- * README: Formatting issues.
- Mention some problems with Debian.
-
-2005-06-23 Bernd Warken
-
- * src/devices/xditview/gxditview.man: Revised and improved.
-
-2005-06-22 Werner LEMBERG <wl@gnu.org>
-
- Another round in fixing getopt problems. Hopefully the last one!
- This time we use the getopt stuff from gnulib and define a prefix
- unconditionally so that there are no collisions with any other
- getopt implementations. This is a slight waste of space in case
- we already use a GNU getopt implementation, but on
- the other hand it really simplifies life.
-
- * src/include/getopt.h: Use gnulib version.
-
- * src/include/getopt_int.h: Use gnulib version.
-
- * src/include/groff-getopt.h: Removed. Obsolete now.
-
- * src/include/lib.h: Regarding getopt, don't handle any platform
- specially; just include getopt.h.
- (__GETOPT_PREFIX): Define (before getopt.h).
-
- * src/include/Makefile.sub (HDRS): Updated.
-
- * src/libs/libgroff/getopt1.c, src/libs/libgroff/getopt.c: Use
- gnulib version.
-
- * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Set
- __GETOPT_PREFIX.
-
- * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c
- (__GETOPT_PREFIX): Define (before getopt.h).
-
-2005-06-21 Werner LEMBERG <wl@gnu.org>
-
- * src/include/lib.h: Provide a fix for Mac OS X to not include
- groff-getopt.h.
-
-2005-06-20 Denis M. Wilson <dmw@oxytropis.plus.com>
-
- * font/devps/prologue.ps (EP): Dont' use `bind'. Reason: Using
- `bind' to define a procedure which contains `showpage' means that an
- invocation of `showpage' may execute wrongly (the exact effect
- depending on the interpreter). Not usually a problem except under
- transformations, such as combining pages.
- (PEND): Don't call `clear'. Reason: Using `clear' in the definition
- of /PEND means that stack underflow will occur if the stack is
- deliberately non-empty before document inclusion. If included
- files are found to be generally badly behaved, we could replace the
- `clear' with `mark' in /PBEGIN and `cleartomark' in /PEND (I've
- never found this necessary).
-
-2005-06-20 Jörgen Grahn <jgrahn@algonet.se>
-
- * src/preproc/soelim/soelim.cpp (do_file): Append trailing zero
- earlier to get correct error message.
-
-2005-06-16 Bernd Warken
- * src/roff/nroff/nroff.sh: Add support for iso-8859-15.
-
-2005-06-15 Werner LEMBERG <wl@gnu.org>
-
- Another try to update getopt files. This time we add a dummy
- gettext.h file to satisfy the dependency.
-
- * src/include/getopt.h, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
-
- * src/include/getopt_int.h: New file (from GNU libc CVS).
-
- * src/include/gettext.h: Dummy file which just defines a gettext()
- macro.
-
- * src/include/groff-getopt.h: Updated.
-
- * src/include/Makefile.sub (HDRS): Add getopt_int.h and gettext.h.
-
-
- * src/libs/libdriver/input.cpp (IntArray): Remove superfluous
- `const' keywords in return value.
-
- * src/preproc/html/pushback.cpp (pushBackBuffer::~pushBackBuffer):
- Remove redundant variable `old'.
- (pushBackBuffer::skipToNewline): Remove redundant variable `ch'.
-
- * src/preproc/tbl/main.cpp (process_table): Remove redundant
- variable `c'.
-
-
- Fix more friend name injection problems since modern C++ compilers
- fail otherwise. We simply provide (global) declarations for all
- functions declared as friends. This is not really necessary but
- doesn't harm.
-
- * src/preproc/eqn/lex.cpp: Provide declarations for get_char,
- peek_char, and get_location.
-
- * src/preproc/refer/ref.h: Provide declarations for
- compare_reference, same_reference, same_year, same_date,
- same_author_last_name, and same_author_name.
-
- * src/roff/troff/div.h: Provide declarations for do_divert and
- page_offset.
-
- * src/roff/troff/env.h: Provide declarations for title_length,
- space_size, fill, no_fill, adjust, no_adjust, center, right_justify,
- vertical_spacing, post_vertical_spacing, line_spacing, line_length,
- indent, temporary_indent, do_underline, do_input_trap, set_tabs,
- margin_character, no_number, number_lines, leader_character,
- tab_character, hyphenate_request, no_hyphenate,
- hyphen_line_max_request, hyphenation_space_request,
- hyphenation_margin_request, line_width, tabs_save, tabs_restore,
- line_tabs_request, widow_control_request, and do_divert.
-
- * src/roff/troff/input.cpp: Provide declaration for chop_macro.
-
- * src/roff/troff/node.cpp: Provide declarations for class
- tfont_spec.
- Provide declaration for make_tfont.
-
-2005-05-29 Werner LEMBERG <wl@gnu.org>
-
- * doc/fdl.texi: Updated to version 1.2. Reported by Bernd Warken.
-
-2005-05-28 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grolbp/lbp.cpp, src/devices/grolbp/lbp.h: Remove
- redundant semicolons.
-
- * src/preproc/eqn/Makefile.sub, src/preproc/html/Makefile.sub,
- src/preproc/soelim/Makefile.sub, src/preproc/tbl/Makefile.sub:
- Define `MLIB'. Some compilers need this for linking with libgroff.
-
-2005-05-27 Werner LEMBERG <wl@gnu.org>
-
- * MANIFEST, README, doc/webpage.ms: Updated.
-
-2005-05-26 Werner LEMBERG <wl@gnu.org>
-
- * All affected files: Update postal address of FSF.
-
-2005-05-25 Keith Marshall <keith.d.marshall@ntlworld.com>
- Bernd Warken
-
- * README: More fixes.
-
- * README.CVS: Removed. Its contents is now part of the README file.
-
-2005-05-21 Werner LEMBERG <wl@gnu.org>
-
- * README: Updated. Based on a patch from Bernd Warken.
-
-2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Miscellaneous script portability enhancements.
-
- * aclocal.m4: (GROFF_CSH_HACK): Add space in shebang prototype for
- generated conftest.sh script, conforming to portability
- recommendation in autoconf docs.
- * configure: Likewise, for code generated by GROFF_CSH_HACK.
- * contrib/eqn2graph/eqn2graph.sh: Add space in shebang, conforming
- to portability recommendation in autoconf docs.
- * contrib/grap2graph/grap2graph.sh: Likewise.
- * contrib/pic2graph/pic2graph.sh: Likewise.
- * font/devps/generate/afmname: Likewise.
- * src/devices/xditview/ad2c: Likewise.
- * src/preproc/eqn/neqn.sh: Likewise.
- * src/roff/grog/grog.pl: Likewise.
- * src/roff/grog/grog.sh: Likewise.
- * src/roff/nroff/nroff.sh: Likewise.
- * PROBLEMS: Likewise, in embedded script examples.
-
-2005-05-16 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Improve portability of `pdfroff' shell script.
-
- * arch/misc/shdeps.sh: Add space in shebang, conforming to
- portability guidelines in `autoconf' docs.
- (PATH_SEARCH_SETUP): New substitution; emits PATH_SEPARATOR
- initialization code. Used by contrib/pdfmark/pdfroff.sh's
- `searchpath' function.
-
-2005-05-14 Werner LEMBERG <wl@gnu.org>
-
- * contrib/pic2graph/pic2graph.sh, contrib/graph2graph.sh,
- contrib/eqn2graph.sh: Add option `-trim' to `convert' which is
- needed for newer ImageMagick versions.
-
-2005-05-07 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/refer/refer.man: Many small typographic fixes.
-
-2005-05-06 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/devices/grohtml/post-html.cpp (assert_state::~assert_state):
- Use `char *' cast for a_delete.
-
-2005-05-03 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/maxpathname.cpp: Include stdlib.h.
- src/libs/libgroff/relocate.cpp: Use path_name_max everywhere.
-
-2005-05-03 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/devices/grohtml/post-html.cpp: Use casts to `char *' if using
- `a_delete' for `const char *'.
-
-2005-05-03 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/post-html.cpp,
- src/devices/grohtml/html-table.cpp,
- src/devices/grohtml/html-text.cpp, src/devices/grohtml/output.cpp:
- Replace malloc/free with new/delete/a_delete.
-
- * src/devices/grolbp/lbp.h: Remove superfluous semicolons which
- are prohibited with ANSI C++.
- (lbpprintf, vdmprintf): Remove useless `inline' keyword (since the
- function has a variable number of arguments).
-
- * src/preproc/grn/main.cpp (doinput): Change return type to `int'.
- Simplify function and update all callers.
-
-2005-05-02 Werner LEMBERG <wl@gnu.org>
-
- Undo getopt changes from 2005-04-30. We don't want a dependency
- on gettext.
-
- * src/include/getopt_int.h: Removed.
-
- * src/include/getopt.h, src/include/groff-getopt.h,
- src/include/Makefile.sub, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Revert to previous version.
-
-
- * src/include/nonposix.h (access) [_MSC_VER]: New macro.
-
- * src/include/posix.h (F_OK): Define conditionally.
-
- * src/devices/grotty/tty.cpp (tty_printer::make_underline): Use
- different variable name in second `for' loop to avoid MSVC compiler
- problem.
-
-2005-04-30 Werner LEMBERG <wl@gnu.org>
-
- AC_TYPE_SIGNAL from current autoconf can fail if CC=g++.
-
- * aclocal.m4 (GROFF_TYPE_SIGNAL): New function.
- * configure.ac: Use GROFF_TYPE_SIGNAL, not AC_TYPE_SIGNAL.
- * configure, src/include/config.hin: Regenerated.
-
- * PROBLEMS: Updated.
-
-
- Update getopt files.
-
- * src/include/getopt.h, src/libs/libgroff/getopt.c,
- src/libs/libgroff/getopt1.c: Updated from GNU libc CVS.
-
- * src/include/getopt_int.h: New file (from GNU libc CVS).
-
- * src/include/groff-getopt.h: Updated.
-
- * src/include/Makefile.sub (HDRS): Add getopt_int.h.
-
-
- * font/devutf8/NOTES: Updated.
-
-2005-04-28 Werner LEMBERG <wl@gnu.org>
-
- Bug fix for Win32 relocatable code. Based on a patch from Keith
- Marshall.
-
- * src/libs/libgroff/maxpathname.cpp (PATH_MAX): Test for `_MAX_PATH'
- also.
-
- * src/libs/libgroff/relocate.c (DEBUG): Define it conditionally.
- (searchpath) [_WIN32]: Use `_fullpath', not `realpath'.
-
-2005-04-28 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Correct `gnu.eps' handling for build from distribution tarball, with
- separate source and build directories.
-
- * doc/Makefile.sub: (examples.stamp): New target; forces copy of
- grnexmpl.g, groff.css and gnu.eps from source to build directory;
- generate gnu.eps from gnu.xpm if required; touch examples.stamp.
- (prepare_examples): Make it depend on examples.stamp.
- (CLEANADD): Add examples.stamp.
-
-2005-04-27 Werner LEMBERG <wl@gnu.org>
-
- Implement the rule
-
- position: `(' position `)'
-
- in pic.
-
- * src/preproc/pic/pic.y (position, position_not_place): Handle
- additional parentheses.
-
- * doc/pic.ms: Updated.
-
-2005-04-23 Larry Jones <lawrence.jones@ugs.com>
-
- * src/utils/xtotroff/xtotroff.c (MapFont): Fix variable declaration.
-
-2005-04-18 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/pipeline.c: Don't include ctype.h.
-
-2005-04-13 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/nroff/nroff.man: Document option `-M'.
-
-2005-04-13 Bruce Lilly <blilly@erols.com>
-
- * src/roff/nroff/nroff.sh: Make the script accept option `-M'.
-
-2005-04-01 Kees Zeelenberg <kzlg@users.sourceforge.net>
- Werner LEMBERG <wl@gnu.org>
-
- Add binary relocation support for Windows platforms.
-
- * src/include/Makefile.sub (defs.h): Add `INSTALLPATH'.
-
- * src/include/relocate.h, src/libs/libgroff/relocate.cpp: New files.
-
- * src/libs/libgroff/searchpath.cpp: Handle `relocate'.
- (search_path::search_path, search_path::open_file_cautious): Use
- `relocate'.
-
- * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
- src/include/Makefile.sub (HDRS): Updated.
-
-2005-04-01 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/post-html.cpp: Don't use strdup/free but
- strsave/a_delete.
-
- * src/libs/libgroff/font.cpp: Replace strdup with strsave.
-
- * src/libs/libgroff/maxfilename.cpp: Don't include limits.h since
- lib.h already does it.
-
- * src/libs/libgroff/maxpathname.cpp: New file, defining
- path_name_max.
-
- * src/include/lib.h: Add prototype for path_name_max.
-
- * src/libs/libgroff/Makefile.sub (OBJS, CCSRCS): Updated.
-
- * src/include/nonposix.h (PATH_EXT): New macro.
-
-2005-03-28 Werner LEMBERG <wl@gnu.org>
-
- Add support for double- and zero-width characters in grotty.
-
- * src/devices/grotty/tty.cpp (glyph): Add width.
- (tty_printer::make_underline, tty_printer::make_bold,
- tty_printer::add_character): Add parameter to pass character width.
- Update all callers.
- (tty_printer::end_page): Increase hpos by actual character width.
-
- * font/devutf8/R.proto: Specify zero width for non-spacing
- characters.
-
- * tmac/unicode.tmac: Remove definitions for non-spacing entities.
-
- * Makefile.comm (extraclean): Remove more junk files.
-
-2005-03-25 Werner LEMBERG <wl@gnu.org>
-
- * configure.ac: Undo change from 2005-03-24.
- * configure: Regenerated.
-
-2005-03-24 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (NOMAKEDIRS): Add contrib/gdiffmk/tests.
- (dist): Search Makefile while descending into $(EXTRADIRS).
-
- * doc/Makefile.in (.PHONY): Add.
- (clean): Don't remove *.png and *.eps.
- Don't handle *.gif.
- (realclean): Remove *.png and *.eps.
- (extraclean): Depend on distclean.
-
- * configure.ac: Add copyright.
- Handle contrib/pdfmark/Makefile.
-
- * configure: Regenerated.
-
-2005-03-18 Larry Kollar <kollar@alltel.net>
-
- Add numbered and definition lists to www.tmac.
-
- * tmac/www.tmac (www-ul-level1, www-ul-level2, www-ul-level3,
- www-ol-level1, www-ol-level2, www-ol-level3, www-ol-tmp): New
- auxiliary string registers.
- (www-ul-level, www-ol-level, www-dl-level, www-ol-ctr1, www-ol-ctr2,
- www-ol-ctr3, www-dl-shift): New auxiliary number registers.
- (www-level): Removed.
- (www-level1, www-level2, www-level3): Initialize to empty.
- (www-level0, www-level4, www-level5, www-level6, www-level7,
- www-level8, www-level9): New string registers.
- (www-push-li, www-pop-li): New macros.
- (www-push-level, www-pop-level): Renamed to...
- (www-push-ul-level, www-pop-ul-level): This.
- Updated.
- (www-push-ol-level, www-pop-ol-level): New macros.
- (ULS, ULE): Updated.
- (OLS, OLE, DLS, DLE): New user macros.
- (LI): Removed. It is aliased to one of...
- (www-li-ul, www-li-ol, www-li-dl): New macros.
-
- * tmac/groff_www.man: Document new macros.
-
- * NEWS: Updated.
-
-2005-03-18 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (doc-operating-system-NetBSD-2.0.1,
- doc-operating-system-NetBSD-2.0.2): New strings.
-
- * tmac/groff_mdoc.man: Updated.
-
-2005-03-17 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub (CLEANADD): Add `groff.html'.
-
-2005-03-17 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/hypot.c: Renamed to...
- * src/libs/libgroff/hypot.cpp: This. Updated to C++.
-
- * src/libs/libgroff/Makefile.sub (CCSRCS, CSRCS): Updated.
-
- * src/include/lib.h: Updated.
-
-2005-03-16 Werner LEMBERG <wl@gnu.org>
-
- Add workaround for broken hypot() on Interix.
-
- * src/libs/libgroff/hypot.c: New wrapper file for `hypot'.
-
- * src/libs/libgroff/Makefile.sub (OBJS): Add `hypot.o'.
- (CSRCS): Add `hypot.c'.
-
- * src/include/lib.h: Declare `groff_hypot'.
-
- * src/preproc/grn/hgraph.cpp: Don't declare `hypot'.
- Use `groff_hypot'.
-
- * src/preproc/pic/pic.h: Don't declare `hypot'.
-
- * src/preproc/pic/object.cpp (hypot): Use `groff_hypot'.
-
-2005-03-15 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::lookahead_for_tables): End .ce properly to avoid a
- segfault.
-
-2005-03-15 Werner LEMBERG <wl@gnu.org>
-
- makeinfo 4.8 doesn't produce good HTML output from groff.texinfo.
-
- * doc/fixinfo.sh: New script to postprocess makeinfo's HTML output.
-
- * doc/Makefile.in (.texinfo.html): Call fixinfo.sh.
-
-2005-03-14 Werner LEMBERG <wl@gnu.org>
-
- Add Cyrillic support to devutf8 and devhtml.
-
- * font/devutf8/R.proto, font/devhtml/R.proto: Add Cyrillic blocks.
-
- * tmac/unicode.tmac: New file.
-
- * tmac/tty.tmac: Include unicode.tmac if device is utf8.
-
- * tmac/Makefile.sub (NORMALFILES): Add unicode.tmac.
-
- * NEWS: Updated.
-
-2005-03-02 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/libs/libdriver/printer.cpp (check_for_output_error): New
- function. It has been introduced to catch peculiar error contexts
- on MS-Windows platforms.
-
-2005-02-28 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (string_iterator::fill): Protect against
- null pointer.
-
- * tmac/papersize.tmac: Convert `paper' string contents to lowercase.
-
- * configure: Regenerated.
-
- * NEWS: Updated.
-
-2005-02-28 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Integrate `pdfmark' into normal groff build system;
- install macro `pdfmark' packages, build and install `pdfroff',
- and PDF format documentation.
-
- * Makefile.comm: Add PDFDOCDIR.
-
- * Makefile.in: (MDEFINES) ALT_AWK_PROGS, ALT_GHOSTSCRIPT_PROGS,
- pdfdocdir, make_pdfdoc, make_install_pdfdoc: New variables.
- (unstall_dirs): Add pdfdocdir.
-
- * aclocal.m4: (GROFF_GHOSTSCRIPT_PREFS): New function; support
- `--with-alt-gs' option, set ALT_GHOSTSCRIPT_PROGS.
- (GROFF_GHOSTSCRIPT_PATH): Support `--with-gs' option, force use of
- GROFF_GHOSTSCRIPT_PREFS, set GHOSTSCRIPT.
- (GROFF_HTML_PROGRAMS): Force use of GROFF_GHOSTSCRIPT_PATH; tidy up.
- (GROFF_AWK_PREFS): New function; support `--with-alt-awk' option,
- set ALT_AWK_PROGS.
- (GROFF_AWK_PATH): New function; support `--with-awk' option, force
- use of GROFF_AWK_PREFS.
- (GROFF_PDFDOC_PROGRAMS): New function; force use of GROFF_AWK_PATH
- and GROFF_GHOSTSCRIPT_PATH, set make_pdfdoc and make_install_pdfdoc.
-
- * configure.ac: Add AC_PREREQ(2.59), GROFF_PDFDOC_PROGRAMS.
- Remove GROFF_GHOSTSCRIPT_PATH, (forced by GROFF_PDFDOC_PROGRAMS, and
- also by modified GROFF_HTML_PROGRAMS).
-
-2005-02-27 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/html-text.cpp (html_text::do_pre): Preserve
- paragraph spacing.
- (html_text::done_para): Unset `start_space'.
- (html_text::remove_para_align): Call `retrieve_para_space' for the
- spacing.
-
- * src/devices/grohtml/post-html.cpp (html_printer::emit_raw): Unset
- `seen_space'.
- (html_printer::do_check_center): Emit vertical space if necessary.
-
- * src/roff/troff/env.cpp (environment_switch): Preserve
- `seen_space', `seen_eol', and `suppress_next_eol' while switching
- environments.
-
- * src/roff/troff/node.cpp (suppress_node::suppress_node): Set
- `is_special'.
-
-2005-02-20 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/eqn/eqn.man, NEWS: Document various extensions of
- eqn.
-
-2005-02-17 Werner LEMBERG <wl@gnu.org>
-
- * doc/pic.ms, man/groff.man: Fix typos.
-
- * doc/groff.texinfo: Fix typos.
- (\LEmacro): Get proper mathematical spacing.
-
-2005-02-16 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_APPRESDIR_CHECK): Improve warning message.
- * configure: Regenerated with autoconf 2.59b.
-
-2005-02-16 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp (html_printer::is_line_start,
- html_printer::start_font): Fix handling of preformatted text.
-
-2005-02-15 Gaius Mulley <gaius@glam.ac.uk>
-
- These patches modify the indentation implementation to use `<p
- style=margin-left: n%>'. Many thanks to Peter and Larry for
- suggesting this solution. Grohtml only uses tables for `.IP' and
- related tags when the first operand has a short width.
-
- Similarly, they modify all vertical space code. By default, grohtml
- sets up a style sheet which uses no vertical space between `table',
- `pre', and `p' tags. It forces spaces when it needs them using
- `style="margin-top: 1em"'.
-
- * src/devices/grohtml/html-table.cpp: Include `html-text.h'.
- (html_table::emit_table_header, html_table::emit_new_row):
- Rewritten.
- (html_table::set_space): New function.
- (html_indent::html_indent): Don't set `is_used'.
- (html_indent::begin): Rewritten.
- (html_indent::end): Remove code in function.
-
- * src/devices/grohtml/html-table.h: Updated.
- (html_table): Make `out' public.
-
- * src/devices/grohtml/html-text.cpp (html_text::html_text):
- Initialize `start_space' with FALSE.
- (html_text::end_tag) <P_TAG, PRE_TAG>: Updated.
- (html_text::issue_tag): Add argument to handle space style.
- (html_text::start_tag) <P_TAG, PRE_TAG>: Updated.
- (html_text::flush_text): Don't set `start_space'.
- (html_text::push_para): Don't set `p->really_issued'.
- (html_text::do_emittext): Updated.
- (html_text::do_para): Add paremeter to handle space.
- Update all callers.
- (html_text::retrieve_para_space): New function.
-
- * src/devices/grohtml/html-text.h (STYLE_VERTICAL_SPACE): New macro.
- (tag_definition): Remove `really_issued'.
- (html_text): Updated.
-
- * src/devices/grohtml/post-html.cpp (html_printer): Add variables
- `current_column' and `row_space'.
- Update constructor.
- (html_printer::emit_raw, html_printer::write_header,
- html_printer::do_indent, html_printer::do_check_center,
- html_printer::do_tab_ts): Handle vertical space.
- (html_printer:do_tab_te, html_printer::do_end_para): Call
- `remove_para_space'.
- (html_printer::do_col): Rewritten.
- (html_printer::flush_globs): Remove debugging code.
- (html_printer::is_line_start): New function.
- (html_printer::start_font): Use `is_line_start'.
- (html_printer::writeHeadMetaStyle): New function.
- (html_printer::do_file_components, html_printer::~html_printer):
- Call `writeHeadMetaStyle'.
-
- * tmac/www.tmac (www-handle-percent): New macro.
- (MPIMG): Handle percent values for width and height parameters.
- (DC): Updated.
-
- * tmac/groff_www.man: Updated.
-
-2005-02-14 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/afmtodit/afmtodit.pl: Remove an incorrect `my' from
- $psname and $italic_angle.
- Immediately restart file input loops if `split' returns an empty
- array.
-
-2005-02-13 Michail Vidiassov <master@iaas.msu.ru>
- Werner LEMBERG <wl@gnu.org>
-
- Update afmtodit to better support Unicode (Michail).
- Update afmtodit to use Perl 5 syntax (Werner).
-
- * src/utils/afmtodit/afmtodit.pl: Don't use `getopts.pl' but
- `Getopts::Std'.
- Decorate variables with `my' where necessary.
- Use `defined' where necessary to avoid warnings.
- Don't use `do' for subroutine calls.
- Other minor syntax updates.
- Check for both `uXXXX[X[X]]' and `uniXXXX'.
- Handle glyph variants properly.
- (%unicode_decomposed, %AGL_to_unicode): Don't use `u' prefix in
- strings.
-
- * src/utils/afmtodit/afmtodit.man: Updated.
-
-2005-02-13 Werner LEMBERG <wl@gnu.org>
-
- Make groff.texinfo work with texinfo 4.8.
-
- * doc/groff.texinfo (@Var): Use @r and @slanted.
- (@defdummy, @Def*): Use @c to avoid empty lines.
- (\angles): Replaced with...
- (\Langlemacro, \Ranglemacro): New TeX macros.
- (@Langlemacro, @Ranglemacro): New variables defined with @set.
- (@angles): Use @Langlemacro and @Ranglemacro.
- (\LE): Replaced with...
- (\LEmacro): New TeX macro.
- (@LEmacro): New variable defined with @set.
- (@LE): Use @LEmacro.
- (@Lparenmacro, @Rparenmacro, @Lbrackmacro, @Rbrackmacro): New
- variables defined with @set.
- (@lparen, @rparen, @lbrack, @rbrack): Replaced with...
- (@Lparen, @Rparen, @Lbrack, @Rbrack): New macros.
- Update all callers.
-
- Other minor updates.
-
- * doc/texinfo.tex: Update to texinfo version 4.8.
-
- * README.CVS: Updated.
-
-2005-02-09 Alejandro López-Valencia <palopez@etb.net.co> (tiny change)
-
- * doc/groff.texinfo (ms Document Control Registers): Document `HY'
- and `FAM' registers.
-
-2005-02-05 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_mdoc.man, tmac/doc-common, tmac/doc-ditroff,
- tmac/doc-nroff, tmac/doc-old.tmac, tmac/doc-syms, tmac/doc.tmac:
- Update BSD license.
-
-2005-02-01 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/groff.man: Add information about paper size.
-
-2005-01-25 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/nroff/nroff.sh: Handle `*.ISO8859-1' in locale. From
- NetBSD bin/29114.
-
-2005-01-22 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc.tmac (Sm): Improved. It didn't work properly in many
- cases.
- (Re): Emit a warning if called without `.Rs'.
- (doc-finish-reference): Use parameter for decreasing
- `doc-reference-count'.
- (doc-print-reference): Pass specific count parameters to
- `doc-finish-reference'.
-
-2005-01-21 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libdriver/input.cpp (delete_current_env, do_file):
- Reset pointers to zero after deallocation. This fixes a crash
- if a driver is called with multiple input files. Reported by
- Ken Chilton <ken@chiltonfamily.org>.
-
- * src/devices/grops/grops.man: Add more info on DSC.
-
-2005-01-17 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc-common (Dd), tmac/doc-ditroff (gX, doc-setup-header):
- Remove dead code.
-
-2005-01-17 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/div.cpp (top_level_diversion::space): Protect
- against division by zero.
-
-2005-01-13 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc.tmac (Ef): Restore doc-curr-font and doc-curr-size.
-
-2004-12-19 Werner LEMBERG <wl@gnu.org>
-
- * install-sh: New version; taken from texinfo CVS.
-
-2004-12-17 Werner LEMBERG <wl@gnu.org>
-
- * tmac/devtag.tmac: Protect against loading twice.
- Protect agains compatibility mode.
- * tmac/www.tmac: Protect against loading twice.
- Load `devtag.tmac' before switching off compatibility mode.
- * tmac/an-old.tmac, tmac/s.tmac: Load `devtag.tmac'.
-
-2004-12-16 Mike Bianchi <mbianchi@Foveal.com>
-
- * configure.ac: Produce `contrib/gdiffmk/tests/runtests'.
- * configure: Updated.
-
-2004-12-15 Thomas Klausner <wiz@netbsd.org>
-
- * tmac/doc-syms, tmac/groff_mdoc.man: Add `libpam' library.
-
-2004-12-15 Werner LEMBERG <wl@gnu.org>
-
- Make `test-groff' work again -- previously, wrong paths have been
- used. Additionally, it can now be called from anywhere.
-
- * test-groff.in: Don't test for groff binary. This is no longer
- necessary since the proper paths are determined by `configure'.
- (EXEEXT): Removed. No longer used.
- (srcdir, builddir): Use values provided by the configure script.
- (XENVIRONMENT): Updated.
-
- * INSTALL: Updated.
-
-2004-12-14 Gaius Mulley <gaius@glam.ac.uk>
-
- Make .tag and .taga work for all devices (but only grohtml actually
- handles them).
-
- * src/devices/grohtml/post-html.cpp: s/html-tag/devtag/.
- (text_glob::is_br, page::add_tag, html_printer::troff_tag,
- html_printer::handle_assertion): Don't use hard-coded string
- lengths.
- (html_printer::lookahead_for_table): Reset `tbl' properly if
- necessary.
- (html_printer::devtag): New function, handling `devtag'.
- (html_printer::special): Don't handle `html-tag'.
-
- * src/include/printer.h, src/libs/libdriver/printer.cpp
- (printer::devtag): New virtual function.
-
- * src/libs/libdriver/input.cpp (parse_x_command) <'X'>: Handle
- `devtag'.
-
- * src/roff/troff/env.cpp, src/roff/troff/mtsm.cpp,
- src/roff/troff/node.cpp: s/html-tag/devtag/.
-
- * src/roff/troff/input.cpp (tag, taga): Always call
- curenv->add_node.
-
- * tmac/an-old.tmac, tmac/s.tmac, tmac/troffrc-end: Use DEVTAG*
- macros instead of HTML-TAG*.
-
- * tmac/devtag.tmac: New file, defining the DEVTAG-* macros.
-
- * tmac/www.tmac: Load devtag.tmac.
- Replace HTML-TAG* macros with DEVTAG* macros.
- (HTML, HTML-NS): Changed definitions.
- (URL): Use HTML-NS.
- (HTML-TAG, HTML-TAG-NS, HTML-TAG-NEXT): Removed.
-
- * tmac/Makefile.sub (NORMALFILES): Add devtag.tmac.
-
-2004-12-10 Werner LEMBERG <wl@gnu.org>
-
- Import Mike's `gdiffmk' package.
-
- * contrib/gdiffmk/*: New files.
- * Makefile.in (OTHERDIRS): Add contrib/gdiffmk.
- * NEWS: Updated.
-
-2004-12-08 Werner LEMBERG <wl@gnu.org>
-
- Import Keith's `pdfmark' package. Integration is very preliminary.
-
- * contrib/pdfmark/*: New files.
- * Makefile.in (OTHERDIRS): Add contrib/pdfmark.
- * NEWS: Updated.
-
-2004-12-07 Gaius Mulley <gaius@glam.ac.uk>
-
- Fix a bug with title handling in HTML.
-
- * src/devices/grohtml/post-html.cpp (text_glob::is_nf,
- text_glob::is_fi, text_glob::is_ce): Use strlen to compute string
- length.
- (html_printer::handle_tag_within_title): New function.
- (html_printer::do_title): Use it.
-
- * tmac/s.tmac (TL): Don't set `need_eo_tl'.
- (cov*tl-au-print): Emit `.eo.tl' tag.
-
-2004-12-05 Alejandro López-Valencia <dradul@etb.net.co>
-
- * man/groff_char.man: Minor imrovements.
-
-2004-12-04 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/eqn/eqn.man: Revised.
-
-2004-11-25 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/xtotroff/xtotroff.c: Reformat to be similar to other
- groff source files.
- Include config.h.
- Include limits.h.
- Remove X_NOT_STDC_ENV conditional.
- (Version_string, program_name): New global variables.
- (groff_flag): Removed.
- (MapFont): Updated.
- (usage): Take a stream as argument.
- Use `program_name'.
- Update all callers.
- (main): Add `long_options' array for `--help' and `--version'.
- Make `-g' a dummy option.
- Handle `-v' and unknown options.
- Remove unused `position' variable.
-
- * src/utils/xtotroff/Makefile.sub (MAN1): Define.
- (XLIBS): Add LIBGROFF.
-
- * src/utils/xtotroff/xtotroff.man, src/utils/xtotroff/Makefile.in:
- New files.
-
- * src/devices/xditview/Dvi.c (default_font_map): Split into three
- parts to avoid compiler warning.
- (resources): Don't initialize with `default_font_map'.
- (ClassInitialize): Initialize first element of `resources'.
-
- * src/devices/xditview/Makefile.sub (devdir, xtotroff, DPIS, fonts):
- Removed.
-
- * src/utils/lkbib/lkbib.man, src/utils/lookbib/lookbib.man,
- src/utils/pfbtops/pfbtops.man: Revised, updated.
-
- * configure.ac: Generate src/utils/xtotroff/Makefile.
- * configure: Regenerated.
-
-2004-11-24 Werner LEMBERG <wl@gnu.org>
-
- First fixes to get produce HTML.
-
- * src/devices/grohtml/post-html.cpp (generate_img_src): Add `alt'
- attribute.
-
- * tmac/www.tmac (IMG, PIMG, MPIMG): Add `alt' attribute.
- (HR, LI): Use `HTML</p>', not `HTML'.
-
- * doc/webpage.ms: Minor updates.
-
-2004-11-23 Larry Kollar <kollar@alltel.net>
-
- Add option -S grohtml to determine the file split level.
-
- * src/devices/grohtml/post-html.cpp (split_level): New global
- variable.
- (html_header::determine_header_level): Use split_level.
- (main): Handle `-S' command line option.
- Sort options.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Updated.
-
- * src/devices/grohtml/grohtml.man: Document it.
- Sort options.
-
- * NEWS: Document it.
-
-2004-11-23 Y T <doarhop@hotmail.com>
-
- * tmac/s.tmac (ref*add-V, ref*add-N): New macros for handling
- the volume and number refer entries.
-
-2004-11-22 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/html-table.cpp
- (html_table::emit_table_header): Don't emit `cols' attribute which
- doesn't exist in HTML 4.0 and is thus invalid.
-
- * NEWS: More minor fixes and updates.
-
-2004-11-18 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac (HTML-NS, HTML-TAG-NS, HTML-TAG-NEXT): Simplified.
- (HTML</p>): Minor clean-up.
-
- * tmac/groff_www.man: Updated.
-
- * src/devices/grohtml/grohtml.man: Revised and updated.
-
- * NEWS: Updated.
-
-2004-11-18 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
- Fix space insertion.
- (html_printer::do_links): Fix rules generation around automatic
- heading links.
-
- * tmac/www.tmac (LK): Use HTML-TAG-NS.
- (HR): Simplify.
- No longer emit empty line for non-HTML devices.
-
-2004-11-17 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.in (prepare_examples, webpage.html): Handle
- `groff.css'.
-
- * doc/Makefile.sub (EXAMPLEFILES, CLEANNOTSRCDIRADD,
- prepare_examples, webpage.html): Handle `groff.css'.
-
-2004-11-15 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, README, doc/webpage.ms: Updated.
-
- * tmac/www.tmac (HTML, HTML-TAG): Minor clean-ups.
-
-2004-10-30 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/include/printer.h (printer): Remove virtual function
- `round_width'.
- Update all source files.
-
- * src/devices/grohtml/post-html.cpp (html_printer): New member
- function `round_width'.
-
-2004-10-20 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
-
- * src/preproc/tbl/table.cpp (table::do_row): Fix handling of the `d'
- column key letter suffix.
-
-2004-10-14 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (check): Depend on `site.exp' and `docheck'.
- (docheck): Run dejagnu's `runtest' if it exists.
- (site.exp): Create dejagnu configuration file.
-
- * Makefile.sub (DISTCLEANFILES): Add files related to dejagnu.
-
-2004-10-13 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/html-text.cpp (html_text_get_alignment),
- src/devices/grohtml/post-html.cpp (make_val,
- html_printer::handle_state_assertion): Fix compiler warnings.
-
- * src/roff/troff/div.cpp: Include `stringclass.h' and `mtsm.h'.
- (diversion::diversion): Fix order of initializers.
-
- * src/roff/troff/div.h: Don't include `mtsm.h'.
-
- * src/roff/troff/env.cpp: Include `stringclass.h' and `mtsm.h'.
- (environment::environment): Fix order of initializers.
- (environment::make_tag, environment::construct_format_state): Fix
- compiler warnings.
-
- * src/roff/troff/input.cpp: Include `stringclass.h' and `mtsm.h'.
- (input_iterator::input_iterator, macro::macro): Fix order of
- initializers.
-
- * src/roff/troff/mtsm.cpp: Include only necessary header files.
- (state_set::add, state_set::val): Fix compiler warnings.
-
- * src/roff/troff/mtsm.h: Don't include `stringclass.h'.
- (bool_value_state, int_value_state, units_value_state,
- string_value_state): Remove comma after last element which causes
- an error with g++ 3.3.3.
-
- * src/roff/troff/node.cpp: Include `stringclass.h'.
- (hline_node::hline_node, vline_node::vline_node,
- space_char_hmotion_node, left_italic_corrected_node): Fix compiler
- warnings.
- (zero_width_node::zero_width_node): Fix order of initializers.
-
- * src/roff/troff/node.h: Don't include `mtsm.h'.
- (hmotion_node): Fix compiler warnings.
-
- * src/roff/troff/number.cpp: Include `stringclass.h' and `mtsm.h'.
-
-2004-10-12 Gaius Mulley <gaius@glam.ac.uk>
-
- * doc/groff.css: New file.
-
- * doc/webpage.ms: Use `groff.css'.
- Other small fixes.
-
- * tmac/an-old.tmac (need_eo_h): New number register.
- (TH): Emit `.eo.tl' tag after title.
- (SH): Set `need_eo_h'.
- (an-trap): Handle `need_eo_h'.
- (an-do-tag): s/HTML-TAG-NS/HTML-TAG-NEXT/.
-
- * tmac/s.tmac (need_eo_h, need_eo_tl): New number registers.
- (TL): Always start diversion.
- Updated.
- (@AI): Always call `par@reset'.
- (@AB): Update code for -Thtml.
- (cov*tl-au-print): Handle -Thtml.
- (par@reset): Handle `need_eo_tl', `need_eo_h'.
- (@IP): Simplified.
- (@IT-html): Removed.
- (@SH): Set `need_eo_h' for -Thtml.
- (par@TL): s/HTML-TAG/HTMl-TAG-NS/.
- Set `need_eo_tl'.
- (@NH): s/HTML-TAG/HTMl-TAG-NS/.
- Set `need_eo_h' for -Thtml.
- (@EQ, @EN): Don't handle -Thtml specially.
- (par@load-init): Don't handle -Thtml specially.
-
- * tmac/www.tmac (www:paraspace): New macro.
- (HTML-NS, HTML-TAG-NS): Use new `tag' request.
- (HTML</p>, HTML-TAG-NEXT): New macros.
- (HnE): Emit tag `.eo.h' instead of break.
- (HR): s/HTML-NS/HTML/.
- (www-end-nowhere): End diversion only if `www-html' not set.
- Emit `.eo.tl' tag.
- (ULS, ULE): s|HTML|HTML</p>|.
- (LI): Call `www:paraspace'.
- (HEAD): New macro.
-
-2004-10-11 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/roff/troff/request.h (macro): Make `p' public.
- New variable `is_a_diversion'.
- New member function `is_diversion'.
-
-
- * src/devices/grohtml/html.h (simple_output): New member function
- `force_nl'.
-
- * src/devices/grohtml/html-table.cpp (tabs::compatible): Fix
- computation of `total'.
- (tabs::check_init): New function.
- (html_table::emit_table_header): Emit style data.
- (html_table::insert_column): Improved.
-
- * src/devices/grohtml/html-table.h: Updated.
-
- * src/devices/grohtml/html-text.cpp (html_text::html_text):
- Initialize `start_space' with TRUE.
- (html_text::end_tag, html_start_tag): Fix `P_TAG' and `PRE_TAG'
- cases.
- (html_text::flush_text): Set `start_space' flag.
- (html_text::uses_indent, html_text::remove_para_space,
- html_text::get_alignment): New functions.
- (html_text::push_para): Updated.
- (html_text::do_para): Check for empty argument.
- Don't set `space_emitted'.
- (html_text::do_space, html_text::emit_space): Updated.
-
- * src/devices/grohtml/html-text.h (tag_definition): New variable
- `really_issued'.
- (html_text): New member function `uses_indent', `remove_para_space',
- `get_alignment'.
-
- * src/devices/grohtml/output.cpp (simple_output::force_nl): New
- function.
- (simple_output:nl): Always emit `\n'.
-
- * src/devices/grohtml/post-html.cpp: Include `string.h'.
- (BASE_POINT_SIZE): Removed.
- (base_point_size, head_info): New global variables.
- (text_glob): New member functions `is_ll', `is_tl', `is_eo_tl',
- `is_eo_h'.
- (text_glob::is_nf, text_glob::is_fi): Handle `.fi 0' and `.fi 1'
- tags, respectively.
- (page::add_and_encode): Pass additional parameter for tag flag.
- (assert_pos): New structure.
- (assert_state): New class.
- (html_printer): Remove `indentation', `prev_indent'.
- Add variables `troff_indent', `device_indent', `temp_indent'.
- Add variables `seen_indent', `next_indent', `seen_pageoffset',
- `next_pageoffset', `seen_linelenght', `next_linelength',
- `seen_center', `next_center', `seen_space', `seen_break', `as'.
- Add member functions `do_check_center', `do_space', `do_head',
- `get_troff_indent', `restore_troff_indent', `handle_assertion',
- `handle_state_assertion', `do_end_para', `set_char_and_width'.
- Change argument to `do_fill' to `char *'.
- Update constructor.
- (html_printer::emit_raw): Call `shutdown_table'.
- Use new functions.
- (html_printer::do_center): Simplified.
- (html_printer::do_title): Improved.
- (html_printer::write_header): Emit one more newline.
- Use new functions.
- (html_printer::do_heading, html_printer::do_indent,
- html_printer::do_eol, html_printer::do_tab_ts,
- html_printer::do_tab, html_printer::do_tab0,
- html_printer::calc_po_in, html_printer::next_horiz_pos,
- html_printer::remove_courier_tabs,
- html_printer::insert_tab0_foreach_tab, html_printer::begin_page):
- Updated.
- (html_printer::do_linelength, html_printer::do_pageoffset,
- html_printer::do_indentation, html_printer::do_tempindent,
- html_printer::do_tab_te): Simplified.
- (html_printer::do_pointsize): Check whether point size is really
- associated a `.tl' tag.
- (html_printer::do_break): Rewritten.
- (html_printer::troff_tag): Improved.
- (html_printer::flush_globs): Updated.
- (html_printer::lookahead_for_tables): Handle `is_br'.
- Use new functions.
- (html_printer::set_char): Check `sbuf_style.f'.
- (html_printer::write_navigation): Use string comparison.
- (html_printer::~html_printer): Emit `head_info'.
- (html_printer::special): Rewritten.
- (get_str, make_val): New functions.
- (main): New option `s' to set the base point size.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Handle option `s'.
-
-2004-10-10 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/roff/troff/node.cpp: New extern `debug_state'.
- Include `stringclass.h' and `mtsm.h'.
- Implement new classes and class members from `node.h'.
- (real_output_file): Make `fp' public.
- (troff_output_file): New variables `cur_div_level' and `tag_list'.
- Update constructors.
- (troff_output_file::really_print_line): Check whether we should push
- the current troff state and use the state at the start of the
- invocation of this diversion.
- (troff_output_file::add_to_tag_list): New member function.
- (node::add_char): Handle `glyph_comp_np'.
-
- * src/roff/troff/node.h: Include `mtsm.h'.
- (node): New variables `state', `push_state', `div_nest_level',
- `is_special'. Update constructors, all descendants.
- Pass additional argument to `add_char' member function.
- New virtual member functions `is_tag', `debug_node',
- `debug_node_list'. Update all descendants.
- (tag_node): New class for handling tags.
- (output_file): Add variable `state'.
-
-2004-10-09 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/roff/troff/mtsm.cpp, src/roff/troff/mtsm.h: New files,
- providing a minimal troff state machine to emit meta tags for the
- post-grohtml device driver.
-
- * src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS): Handle new
- files.
-
-2004-10-09 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac: Fix handling of `am' and `am1' calls.
-
-2004-10-06 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/roff/troff/column.cpp (vjustify_node::copy): Updated.
-
- * src/roff/troff/div.h: Include `mtsm.h'.
- (diversion): New variables `any_chars_added', `needs_push',
- `saved_seen_break', `saved_seen_space', `saved_seen_eol',
- `saved_suppress_next_eol', `modified_tag'.
- New virtual member function `is_diversion'. Update all descendants.
-
- * src/roff/troff/div.cpp (diversion::diversion,
- macro_diversion::macro_diversion): Updated.
- (do_divert): Handle `seen_break', `seen_space', `seen_eol',
- `suppress_next_eol'.
- (top_level_diversion::space): Handle `curenv->seen_space'.
- (page_offset): Update tag handling.
- (space_request, blank_line, flush_output): Don't call `add_html_tag'.
-
- * src/roff/troff/env.h (environment): Make `tabs' public.
- Remove `ignore_next_eol', `emitted_node'.
- Update `output_line', `output'.
- New variables `seen_space', `seen_eol', `suppress_next_eol',
- `seen_break'.
- New member functions `construct_state', `make_tag',
- `construct_format_state, `construct_new_line_state,
- `dump_troff_state'.
- Remove `add_html_tag', `make_html_tag'.
-
- * src/roff/troff/env.cpp: New externs `suppress_push',
- `get_diversion_state', `global_diverted_space'.
- (pending_output_line): New variable `was_centered'.
- Update constructor and all callers.
- (pending_output_line::output): Call `curenv->construct_format_state'.
- (environment::environment, environment::copy): Updated.
- (environment::output): Handle `was_centered'.
- (environment::add_char): Handle construct and diversion state.
- (environment::add_node): Handle construct state.
- (environment::newline): Handle `was_centered'.
- (environment::output_line): Updated.
- (environment::possibly_break_line): Updated.
- Update tag handling.
- (environment::add_html_tag): Replaced with...
- (environment::make_tag): New function.
- (environment::add_html_tag_tabs, environment::make_html_tag): Removed.
- (environment::dump_troff_state): New debugging function.
- (environment::construct_state, environment::construct_format_state,
- environment::construct_new_line_state): New functions.
- (environment::do_break): Updated.
- Handle `global_diverted_space'.
- (environment::handle_tag): Update tag handling.
- (point_size, fill, do_break_request): Don't call `add_html_tag'.
- (no_fill): Don't call `add_html_tag'.
- Set `suppress_next_eol'.
- (center, right_justify, line_length, indent, temporary_indent,
- set_tabs):
- Update tag handling.
-
- * src/roff/troff/input.cpp: Don't include `stringclass.h'.
- (input_iterator): New variables `is_diversion', `diversion_state'.
- Update constructors.
- (input_stack): New member functions `get_div_level',
- `get_diversion_state', `check_end_diversion'.
- New variables `div_level', `diversion_state'. Initialize them.
- (suppress_push, global_diverted_space): New global variables.
- (input_stack::finish_get, input_stack::finish_peek,
- input_stack::remove_boundary, input_stack::end_file,
- input_stack::clear, input_stack::pop_macro): Call
- `check_end_diversion'.
- (input_stack::push): Handle `div_level' and `diversion_state'.
- (get_diversion_state): New function.
- (diverted_space_node::reread): Handle `global_diverted_space'.
- (macro::macro): Update constructors.
- (macro::is_diversion): New function.
- (macro::operator=): Set `is_a_diversion'.
- (string_iterator): New member function `is_diversion'.
- (string_iterator::string_iterator): Update constructors.
- (string_iterator::fill): Set `div_nest_level'.
- (macro_iterator): New member function `is_diversion'.
- (do_if_request): Handle `suppress_push'.
- (tag, taga): New functions.
- (init_input_requests): Add `tag' and `taga' requests.
-
-2004-10-05 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/include/font.h (font): New member function
- `get_image_generator'.
- New variables `unscaled_charwidths' and `image_generator'.
-
- * src/libs/libgroff/font.cpp (font::get_width): Always return the
- character's unscaled width if `font::unscaled_charwidths' is set.
- (font::get_image_generator): New function.
- (font::load_desc): Check the `unscaled_charwidths' and
- `image_generator' keywords.
-
- * src/libs/libgroff/fontfile.cpp: Initialize
- `font::unscaled_charwidths' and `font::image_generator'.
-
- * font/devhtml/DESC.proto: s/html/unscaled_charwidths/.
-
- * font/devhtml/Makefile.sub (DESC): Set `image_generator' keyword.
-
- * man/groff_font.man: Document `unscaled_charwidths' and
- `image_generator'.
-
- * src/preproc/html/pre-html.cpp: Include `device.h'.
- (image_gen): New global variable.
- (imageList::createPage): Use `image_gen'.
- (main): Use `image_generator' keyword.
-
-2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
-
- * tmac/html.tmac: Handle \[sqrtex].
-
-2004-10-04 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/include/printer.h (printer): New virtual method `round_width'.
-
- * src/devices/grodvi/dvi.cpp, src/devices/grolbp/lbp.cpp,
- src/devices/grolj4/lj4.cpp, src/devices/grops/ps.cpp,
- src/devices/grotty/tty.cpp (printer::round_width): New function
- member.
-
- * src/devices/grohtml/post-html.cpp (printer::round_width): New
- function member.
- (html_printer::set_numbered_char): Use it.
-
-2004-10-03 Gaius Mulley <gaius@glam.ac.uk>
-
- * aclocal.m4 (GROFF_GHOSTSCRIPT_PATH): New macro.
-
- * configure.ac: Call GROFF_GHOSTSCRIPT_PATH.
-
- * configure: Regenerated.
-
- * Makefile.in (GHOSTSCRIPT): New variable.
- (MDEFINES): Add GHOSTSCRIPT.
-
-2004-10-03 Werner LEMBERG <wl@gnu.org>
-
- * INSTALL.gen: Updated (taken from texinfo CVS).
-
-2004-09-28 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Updated.
-
-2004-09-28 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
-
- * tmac/groff_www.man: Revised and updated.
-
-2004-09-26 Werner LEMBERG <wl@gnu.org>
-
- Fix \$@ and \$* to handle any number of arguments.
-
- * src/roff/troff/input.h (BEGIN_QUOTE, END_QUOTE): New special
- characters.
-
- * src/roff/troff/input.cpp (input_iterator::internal_level):
- Removed.
- (input_stack): New member functions `increase_level' and
- `decrease_level'.
- (input_stack::get_level): Don't use `internal_level'.
- (get_copy, token::next): Handle BEGIN_QUOTE and END_QUOTE.
- (end_quote_iterator): Completely removed.
- (interpolate_arg): Build string for \$@ and \$* which is then
- pushed onto the input stack.
-
-2004-09-23 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * tmac/groff_ms.man, doc/groff.texinfo (ms Document Control
- Registers): Document changes from 2004-09-19.
-
-2004-09-23 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (ne): Using default scaling operator.
-
-2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- This change implements the following features:
-
- PORPHANS
- New numeric register: Defines number of lines following LP, PP,
- QP, IP or XP, which must be kept together, before any automatic
- page break. If insufficient space remains on the current page, a
- page break is forced before the new paragraph begins.
-
- HORPHANS
- New numeric register: Sets number of lines of following paragraph
- which must be kept with a heading, defined by NH or SH, before any
- automatic page break. If insufficient space remains on the
- current page, a page break is forced before the heading.
-
- GROWPS
- (Thanks to Joerg van den Hoff, for this idea).
-
- New numeric register: Sets the first level of heading (set with
- NH), which will keep the same point size as body text; e.g. if
- GROWPS is set to 3, .NH 3, .NH 4, ... will produce headings at the
- point size specified by \n[PS], but .NH 2 and .NH 1 will have
- progressively larger point sizes, determined by \n[PSINCR] (see
- below).
-
- PSINCR
- New numeric register: Sets the point size increment for each level
- of heading, (set with NH), below the threshold level set by
- GROWPS; e.g. if \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p,
- then .NH 1 will produce 14pt headings, .NH 2 will produce 12pt,
- and all other levels will remain at 10pt, (because \n[PS] = 10).
-
- SH
- Existing macro now accepts a numeric argument, to make heading
- size match that of NH with same argument value, when the
- GROWPS/PSINCR feature is enabled.
-
- SN-DOT
- New string, set by NH macro, replaces the existing (undocumented)
- use of SN, to represent the assigned section number.
-
- SN-NO-DOT
- New string, set by NH macro, represents the assigned section
- number, but omits the terminal period (periods at intermediate
- levels are retained).
-
- SN
- String set by NH macro, originally undocumented, now implemented
- as an alias for SN-DOT (which reproduces original behaviour).
-
- * tmac/s.tmac (PORPHANS): New register.
- (par*start): Use it.
- (HORPHANS, GROWPS, PSINCR): New registers.
- (SH-NO-TAG, @SH): Use them.
- (@NH): Improved.
-
-2004-09-19 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * NEWS, doc/groff.texinfo (ms Display and Keeps), tmac/groff_ms.man:
- Document the deletion of `Ds' and `De' macros.
-
-2004-09-10 Werner LEMBERG <wl@gnu.org>
-
- In tbl, handle \a as an interpreted leader character if in
- compatibility mode.
-
- * src/preproc/tbl/table.h (PREFIX, PREFIX_CHAR, LEADER,
- LEADER_CHAR): New macros.
- (compatible_flag): New declaration.
-
- * src/preproc/tbl/main.cpp (table_input): Add LEADER_1, LEADER_2,
- LEADER_3, and LEADER_4 to `state'.
- (table_input::get): Handle `\a'.
-
- * src/preproc/tbl/table.cpp (PREFIX): Removed.
- (LEADER_REG): New macro.
- (table::init_output): Define LEADER_REG string register if in
- compatibility mode.
-
- * src/preproc/tbl/tbl.man: Document it.
-
-2004-08-18 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc.tmac (An): Fix error message.
-
-2004-08-06 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/main.cpp (main): Call `fatal' not `error' if a
- file can't be opened. UNIX tbl has the same behaviour.
-
-2004-08-05 Y T <doarhop@hotmail.com>
-
- * src/preproc/grn/hdb.cpp (compatibility_flag): Add declaration.
- (DBRead): If in compatibility mode, take into account the text
- when computing figure boundaries.
-
-2004-08-05 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/soelim/soelim.man: Improved. Based on suggestions
- from Tadziu Hoffmann.
-
-2004-08-03 Werner LEMBERG <wl@gnu.org>
-
- * doc/meref.me: Document `_M' register.
-
-2004-08-03 Martin Husemann <martin@duskware.de>
-
- Make hpftodit work correctly on big-endian systems.
-
- * src/utils/hpftodit/hpftodit.cpp (File): New method
- `get_uint32(char *)'.
- (entry): New member `orig_value'.
- (read_tags): Use new method.
- (output_font_name, read_and_output_pcltypeface, dump_ascii):
- Updated.
-
-2004-08-01 Werner LEMBERG <wl@gnu.org>
-
- * tmac/s.tmac: Undo change 2003-06-29. The proper macro definitions
- are already in X11's `macros.t' file.
-
-2004-08-01 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/utils/hpftodit/hfptodit.cpp (output_font_name, dump_ascii):
- Fix casting bug.
- (read_and_output_pcltypeface): Handle strings with length <= 4.
-
-2004-07-27 Egil Kvaleberg <egil@kvaleberg.no>
-
- * tmac/s.tmac (pg@top): Don't save `PO' register.
- (pg*end-col, pg*end-page): Directly use `PO' register.
-
-2004-07-27 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_tmac.man: Mention `trace' and `pic' macro packages.
-
- * src/preproc/refer/refer.cpp (output_references): Check for
- empty hash table.
- * src/preproc/refer/refer.man: Improve documentation of
- `bibliography' command.
-
-2004-07-26 Werner LEMBERG <wl@gnu.org>
-
- Add requests `fcolor' and `gcolor'.
-
- * src/roff/troff/env.cpp (fill_color_change, glyph_color_change):
- New functions.
- (init_env_requests): Add `fcolor' and `gcolor'.
-
- * src/roff/troff/input.h: Export do_glyph_color and do_fill_color.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo
- (Colors): Document new requests.
-
-2004-07-24 Werner LEMBERG <wl@gnu.org>
-
- Add support for fractional point sizes in ms macros. A value for
- PS, VS, FPS, and FVS greater than or equal to 1000 is always divided
- by 1000. For example, `.nr PS 10250' sets the font size to 10.25p.
-
- * tmac/s.tmac (@AU, @AI, par@load-init, par@init, par@reset, NL,
- PX): Handle fractional point sizes for PS, VS, FPS, and FVS.
-
- * tmac/groff_ms.man, docs/groff.texinfo (ms Document Control
- Registers), NEWS: Document it.
-
-2004-07-19 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/lex.cpp (for_input): Add member `from'.
- Update constructor.
- (do_for, for_input::get, for_input::peek): Handle negative `by'.
- * src/preproc/pic/pic.man, doc/pic.ms, NEWS: Document it.
-
-2004-07-08 Thomas Klausner <wiz@netbsd.org>
-
- * tmac/doc-syms (doc-str-St--p1003.1-2004): New string.
- * tmac/groff_mdoc.man: Updated.
-
-2004-07-05 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Manipulating Hyphenation): Further improve
- documentation of `hcode'.
-
-2004-07-04 Sang Dae Yu <sdyu@bh.knu.ac.kr>
-
- Improve appearance of arrows in pic.
-
- * src/preproc/pic/object.cpp (draw_arrow): Make outline of filled
- arrow head thin.
- Use two line segments for drawing non-filled arrow head.
- (line_object::print, spline_object::print): Shorten line length to
- avoid arrow sticking.
- (arc_object::print): Take arrow direction into account.
-
-2004-07-03 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
-
- * tmac/groff_www.man: Update documentation of .MPIMG.
-
-2004-07-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (RI): Always start with font `R'.
- (RI, IR): Properly end with font `R'.
-
-2004-07-02 Paul Eggert <eggert@cs.ucla.edu>
-
- * man/ditroff.man, man/groff_font.man, man/groff_out.man,
- src/devices/grohtml/grohtml.man, src/preproc/grn/grn.man,
- src/preproc/pic/pic.man, tmac/groff_man.man, tmac/groff_ms.man:
- Don't pass more than six arguments to .R, .I, .B, etc., for
- compatibility with traditional troff macros.
-
-2004-07-02 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.h: s/COMPATIBLE_SAVE/PUSH_GROFF_MODE/.
- s/COMPATIBLE_RESTORE/POP_GROFFCOMP_MODE/.
- Update all users.
- (PUSH_COMP_MODE): New internal character constant.
- Update all users.
-
- * src/roff/troff/input.cpp (get_copy): Handle PUSH_GROFF_MODE,
- PUSH_COMP_MODE, and POP_GROFFCOMP_MODE.
- (token::next, macro::append): Handle PUSH_COMP_MODE.
- (decode_args): Add PUSH_GROFF_MODE or PUSH_COMP_MODE before and
- POP_GROFFCOMP after each of the decoded arguments to make them
- independent from the compatibility mode status.
- (comp_mode): Add `COMP_ENABLE'.
- (do_define_string, do_define_macro): Handle COMP_ENABLE.
- (define_string, append_string, define_macro, define_indirect_macro,
- append_macro, append_indirect_macro): Handle `compatible_flag'.
- (chop_macro, substring_request, asciify): Handle PUSH_COMP_MODE.
-
- * man/groff_diff.man, doc/groff.texinfo: Updated.
-
-2004-07-01 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Improve documentation of `hcode'.
- Use @documentencoding and convert document to latin-1; to do that
- make latin characters active and assign proper macros (within a
- @tex...@end tex environment).
- * doc/Makefile.in (.texinfo.html, groff): Use --enable-encoding.
- * doc/Makefile.sub (groff): Ditto.
-
-2004-06-29 Werner LEMBERG <wl@gnu.org>
-
- Implement two new conditional operators `F <name>' and `S <name>'
- which check whether <name> is a valid font or style, respectively.
-
- * src/libs/libgroff/font.cpp (text_file): Add `silent' member.
- (text_file::text_file): Updated.
- (text_file::error): Don't emit message if `silent' is set.
- (font::load_font): Add optional third argument (which is directly
- passed to `load'.
- (font::load): Add optional second argument to check the header of
- a font only, without emitting warning or error messages.
- * src/include/font.h (font): Updated.
-
- * src/roff/troff/input.cpp (do_if_request): Implement `S' and `F'
- conditionals.
- * src/roff/troff/node.cpp (mount_font_no_translate): Add optional
- fourth argument to check a font without mounting.
- (check_font, check_style): New functions.
- * src/roff/troff/node.h: Updated.
-
- * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
- Updated.
-
-2004-06-27 Werner LEMBERG <wl@gnu.org>
-
- Implement new string-valued register `.sty' to return the current
- style name.
-
- * env.cpp (environment::get_style_name_string): New function.
- (init_env_requests): Add `.sty' register.
- * env.h (environment): Updated.
- * node.cpp (font_info): Make `get_style_name' a friend.
- (get_style_name): New function.
- * node.h: Updated.
-
- * man/groff_diff.man, man/groff.man, NEWS, doc/groff.texinfo:
- Updated.
-
-2004-06-15 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/main.cpp (process_data) <GOT_RIGHT_BRACE>: Handle
- `nospaces' option.
-
-2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
-
- * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
- and \n[mo] to avoid dependency on current date.
-
-2004-06-08 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.sub (install_data): New target.
-
-2004-06-04 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libxutil/Makefile.sub (EXTRA_CFLAGS): Define.
-
-2004-06-03 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Fix typo and
- order of libraries.
- (install_data): Add $(srcdir).
-
- * src/utils/xtotroff/Makefile.sub (EXTRA_LDFLAGS): Fix order of
- libraries.
-
-2004-06-02 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_X11): s/have_no_x/groff_no_x/.
- Add X11 stuff to CFLAGS, LDFLAGS, and LIBS temporarily.
- Add test for Xmu library.
- (GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
- GROFF_APPRESDIR_DEFAULT): New macros.
-
- * configure.ac: Call GROFF_APPRESDIR_OPTION, GROFF_APPRESDIR_CHECK,
- and GROFF_APPRESDIR_DEFAULT.
-
- * configure: Regenerated.
-
- * Makefile.in (appresdir): New variable.
- (MDEFINES): Add appresdir.
-
- * src/devices/xditview/Makefile.sub (EXTRA_LDFLAGS): Add -Xmu and
- -Xt.
- (install_data, uninstall_sub): New targets to handle GXditview.ad.
-
- * src/utils/indxbib/Makefiles.ub (install_data): Depend on
- `$(srcdir)/eign', not `eign'.
-
- * MANIFEST, INSTALL, NEWS, PROBLEMS: Updated.
-
- * man/groff_out.man, man/roff.man, src/devices/grops/grops.man,
- src/devices/xditview/gxditview.man, src/roff/groff/groff.man:
- Protect (g)xditview with `\%' to avoid hyphenation.
- Other minor formatting.
-
-2004-06-01 Werner LEMBERG <wl@gnu.org>
-
- Integrate gxditview into groff's standard directory hierarchy.
-
- * src/xditview/*: Moved to ...
- * src/devices/xditview/*: Here.
- Moved DviChar.h and XFontName.h to src/include.
- Moved DviChar.c and XFontName.c to new directory src/libs/libxutil.
- Split off `xmalloc' into new file src/libs/libxutil/xmalloc.c.
- Moved xtotroff.c to new directory src/utils/xtotroff.
- Provide proper Makefile.sub files (reusing the stuff from
- Imakefile.in).
- DESC renamed to DESC.in.
- Removed GXDitview-ad.h, INSTALL, Imakefile.in.
- Converted everything from K&R to ANSI C.
- Decorated with const where appropriate.
- Cast string constants with `String' and `char *' where appropriate.
- Made it compile with C++ (used as a C compiler).
- Removed other minor compiler warnings.
-
- * src/devices/xditview/device.c: Include config.h, string.h, and
- defs.h.
- Don't declare `exit', `strtok', `strchr', and `getenv'.
- (FONTPATH): Remove.
-
- * src/devices/xditview/font.c: Don't declare `XParseFontName' and
- `XFormatFontName'.
-
- * src/devices/xditview/xditview.c: Include config.h.
- Include stdio.h earlier.
- Protect declaration of `popen' and `pclose' with
- NEED_DECLARATION_POPEN and NEED_DECLARATION_PCLOSE.
- Replace `caddr_t' with `XtPointer'.
- (MakePromptFunc): New typedef.
- (DoPrint): Use RETSIGTYPE.
- (promptfunction): Change type to MakePromptFunc.
- (MakePrompt): Use MakePromptFunc for third argument.
- (xmalloc): Removed.
-
- * src/devices/xditview/ad2c: Add casts to `String'.
-
- * src/include/XFontName.h (XFontNameString): Don't use array
- notation.
- Add prototypes for `XParseFontName', `XFormatFontName',
- `XCompareFontName', and `XCopyFontName'.
-
- * src/include/Makefile.sub (HDRS): Add `DviChar.h' and
- `XFontName.h'.
-
- * src/utils/xtotroff/xtotroff.c: Include getopt.h.
- Don't declare `XParseFontName' and `XFormatFontName'.
- (xmalloc): Removed.
- (main): Remove `optind' and `optarg'.
-
- * Makefile.in (XDEVDIRS, XPROGDIRS, XLIBDIRS): New variables
- (to select programs which need X).
- Make XDEVIDIRS depend on `FORCE'.
- (X_CFLAGS, X_LIBS, X_EXTRA_LIBS, X_PRE_LIBS): New variables (for
- X support).
- (MDEFINES): Updated.
- (LIBDIRS): Use XLIBDIRS.
- (CPROGDIRS): Use XPROGDIRS.
- (DEVDIRS): Remove font directories for gxditview.
- (ALLDIRS, DISTDIRS): Add XDEVDIRS.
- (EXTRADIRS): Remove src/xditview.
-
- * Makefile.sub (DISCLEANFILES): Updated.
-
- * Makefile.comm (LIBXUTIL): New variable.
- (.cpp.o, .cpp.obj): Handle EXTRA_CCFLAGS.
- (.c.o, .c.obj, .y.o): Handle EXTRA_CFLAGS.
-
- * Makefile.cpg, Makefile.ccpg ($PROG): Handle EXTRA_LDFLAGS.
-
- * aclocal.m4 (GROFF_X11): New function.
-
- * configure.ac: Call GROFF_X11.
- Don't create src/xditview/Imakefile.
- Don't emit notice how to build gxditview.
-
- * configure: Regenerated.
-
- * test-groff.in (GROFF_BIN_PATH, XENVIRONMENT): Updated.
-
-2004-05-28 Akihiro Sagawa <sagawa@sohgoh.net>
-
- * Makefile.in (CPPFLAGS): Define.
- (MDEFINES): Add CPPFLAGS.
-
-2004-05-27 Werner LEMBERG <wl@gnu.org>
-
- * arch/misc/Makefile.sub (shdeps.sed): Use $(srcdir).
-
-2004-05-26 Niklas Edmundsson <nikke@acc.umu.se>
-
- Fix problems with `friend name injections'.
-
- * src/preproc/eqn/box.h (make_mark_box, make_lineup_box,
- make_script_box), src/roff/troff/div.h (end_diversions),
- src/roff/troff/env.h (title), input.cpp (process_input_stack): Undo
- change 2004-04-08.
-
-2004-05-25 Bernd Warken <bwarken@mayn.de>
-
- * src/preproc/pic/pic.man, doc/pic.ms: Add example for `command'.
-
-2004-05-25 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/cset.cpp, src/libs/libgroff/lf.cpp,
- src/libs/libgroff/color.cpp: Include lib.h.
-
-2004-05-25 Paul Eggert <eggert@cs.ucla.edu>
-
- * PROBLEMS: Update documentation for problems with Sun C++ 5.0
- through Forte 6u1, and for how to get GNU make on Solaris.
-
-2004-05-24 Werner LEMBERG <wl@gnu.org>
-
- * PROBLEMS: Document problems with gcc 3.4.0 on Sun. Reported
- by Paul Eggert.
-
-2004-05-15 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * arch/misc/Makefile.sub (shdeps.sed): Don't use `$<' in explicit
- rule.
-
-2004-05-14 Werner LEMBERG <wl@gnu.org>
-
- * REVISION: Set to 2.
-
- * aclocal.m4 (GROFF_STDINT_H): Removed.
- (GROFF_INTTYPES_H): Define HAVE_CC_INTTYPES_H.
-
- * configure.ac: Updated.
- * configure, src/include/config.hin: Regenerated.
-
- * src/libs/libgroff/tmpname.cpp: Don't include stdint.h but
- inttypes.h conditionally.
-
-2004-05-13 Werner LEMBERG <wl@gnu.org>
-
-Version 1.19.1 released
-=======================
-
-2004-05-10 Stephen Gildea <http://www.gildea.com/stephen>
-
- * src/preproc/refer/label.y (same_author_last_name,
- same_author_name): Handle empty sort keys.
-
-2004-05-10 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, README, TODO, PROJECTS, PROBLEMS, MANIFEST, doc/webpage.ms,
- tmac/TODO: Updated.
-
- * tmac/doc-syms (doc-str-Lb-libposix, doc-str-Lb-libpthread,
- doc-str-Lb-librt): Reset font.
- (Lb): Rename `doc-str-Lb' to `doc-str-Lb1'.
- Provide `doc-str-Lb' to reset font.
- * tmac/groff_mdoc.man: Updated.
-
-2004-05-08 Jan Schaumann <jschauma@netmeister.org>
-
- * src/preproc/html/pre-html.cpp (make_message): Make it work for
- snprintf versions which don't conform to ANSI C 99 (this is,
- counting the string's trailing null byte in the return value).
-
-2004-05-07 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/troff/node.cpp (suppress_node::tprint): Don't expect
- that all implementations of sprintf handle null pointers correctly.
-
-2004-05-04 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document `.U' register.
-
- * src/roff/troff/env.cpp (environment::mark_last_line)
- [WIDOW_CONTROL]: Fix scope of `p' for new C++ compilers.
-
-2004-05-04 Larry Kollar <kollar@alltel.net>
-
- New read-only register `.U'; it returns 1 in safer mode and 0
- otherwise.
-
- * src/roff/troff/input.cpp (init_input_requests): Implement `.U'
- register.
-
-2004-05-03 Werner LEMBERG <wl@gnu.org>
-
- * install-sh, mkinstalldirs: New versions; taken from texinfo CVS.
-
-2004-04-17 Werner LEMBERG <wl@gnu.org>
-
- * src/include/font.h (font): Use `int' for ch_index.
- * src/libs/libgroff/font.cpp (font::alloc_ch_index,
- font::compact): Updated.
-
- * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix compiler
- warnings.
-
- * src/roff/troff/div.cpp (begin_page), src/roff/troff/env.cpp
- (hyphen_word): Fix compiler warnings.
- * src/roff/troff/input.cpp (get_char_for_escape_name): Return
- `char'.
- Update all callers.
- (get_delim_number, get_line_arg): Change second argument type to
- `unsigned char'.
- (macro_header::copy, token::next, do_define_string,
- do_define_character, substring_request, asciify_macro,
- unformat_macro, read_size, non_interpreted_node::interpret,
- while_request, main: Fix compiler warnings.
- (read_color_draw_node): Initialize `col'.
-
- * src/preproc/tbl/table.cpp (horizontal_span, table_entry): Make
- `start_col' and `end_col' of type `int'.
- (vertical_rule): Make `col' of type `int'.
-
- * src/preproc/grn/hdb.cpp (DBRead): Protect call to getc with check
- for EOF.
-
- * src/preproc/refer/label.y (uppercase_array, lowercase_array):
- New arrays.
- (format_serial): Use them to remove dependency on ASCII.
-
- * src/devices/grops/ps.cpp (ps_printer::define_encoding): Fix
- compiler warning.
- * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
- Ditto.
-
- * src/devices/grotty/tty.cpp (tty_font::load_tty_font): Fix
- compiler warnings.
- (glyph): Change type of `hpos' to `int'.
-
- * src/devices/lbp/lbp.cpp (strsep): Removed. Unused.
- * src/devices/lbp/lbp.h (splinerel): Fix compiler warnings.
-
- * src/utils/tfmtodit.cpp (gf::load): Fix compiler warnings.
-
- * src/utils/pfbtops/pfbtops.c (get_text): Fix compiler warning.
-
-2004-04-16 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grolbp/lbp.h, src/preproc/grn/gprint.h,
- src/preproc/grn/hgraph.cpp, src/preproc/grn/hpoint.cpp,
- src/preproc/html/pushback.cpp, src/preproc/html/pushback.h: Use
- `double' instead of `float' everywhere.
- * src/preproc/grn/main.cpp: Use `double' instead of `float'
- everywhere.
- (main): Add return value.
- * src/preproc/grn/hdb.cpp: Use `double' instead of `float'
- everywhere.
- Update all user functions.
-
- * src/include/search.h, src/include/ptable.h, src/include/printer.h,
- src/preproc/eqn/box.h, src/preproc/pic/object.h,
- src/preproc/refer/refer.h, src/preproc/tbl/table.h,
- src/preproc/tbl/table.cpp, src/roff/troff/env.h,
- src/roff/troff/div.h, src/roff/troff/token.h, src/roff/troff/node.h,
- src/roff/troff/input.cpp, src/roff/troff/request.h,
- src/roff/troff/node.cpp: Don't mix `struct' and `class' in forward
- declarations.
-
- * src/utils/indxbib/signal.c: Include stdlib.h.
-
-2004-04-14 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * tmac/s.tmac (@init, RP): Allow initialization of the PO register
- before the first page.
-
-2004-04-14 Thomas Klausner <wiz@netbsd.org>
-
- * tmac/doc-common (doc-volume-as-*): Use lowercase names.
- (doc-operating-system-*): Updated.
- * tmac/doc-syms (doc-str-St-*): Various small fixes.
- (doc-str-Lb-*): Add more library names.
-
-2004-04-10 Art Haas <ahaas@airmail.net>
-
- * src/utils/hpftodit/hpuni.cpp (hp_msl_to_unicode_list): Don't
- use anonymous type.
-
-2004-04-09 Art Haas <ahaas@airmail.net>
-
- * src/utils/tfmtodit.cpp (lig_chars): Don't use anonymous type.
-
-2004-04-09 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * arch/misc/shdeps.sh: Generate better comment for sed script.
-
-2004-04-08 Art Haas <ahaas@airmail.net>
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
- src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list),
- src/libs/libgroff/uniuni.cpp (unicode_decompose_list),
- src/preproc/eqn/box.cpp (param_table), src/preproc/grn/hgraph.cpp
- (polyfill), src/preproc/grn/main.cpp (polyfill),
- src/preproc/refer/command.cpp (command_table),
- src/utils/tfmtodit.cpp (lig_table): Don't use anonymous types (which
- gcc 3.5 doesn't like).
-
-2004-04-08 Werner LEMBERG <wl@gnu.org>
-
- Removing many compiler warnings. groff should now compile with
- a C++ compiler used for C files also. [Simple variable renamings
- to avoid shadowing aren't logged in detail.]
-
- * src/devices/grodvi/dvi.cpp: Some local variable renamings.
- (draw_dvi_printer::draw) ['c']: Enclose in block.
-
- * src/devices/grohtml/post-html.cpp: Some local variable renamings.
- (page::add_line): Fix typos.
- * src/devices/grohtml/html-text.cpp: Some local variable renamings.
-
- * src/devices/grolbp/lbp.cpp: Don't define _GNU_SOURCE.
- Some local variable renamings.
- * src/devices/grolbp/lbp.h: Some local variable renamings.
-
- * src/devices/grolj4/lj4.cpp, src/devices/grotty/tty.cpp: Some local
- variable renamings.
-
- * src/libs/libbib/index.cpp (index_search_item_iterator::get_tag):
- Remove redundant local variable declaration.
- * src/libs/libbib/map.c (mapread, unmap): Don't use K&R style.
- Don't use `caddr_t' but `void *'.
- Enclose functions with `extern "C"' for C++.
-
- * src/libs/libdriver/input.cpp (remember_filename,
- remember_source_filename): Use cast for string constant.
-
- * src/libs/libgroff/font.cpp, src/libs/libgroff/fontfile.cpp,
- src/libs/libgroff/nametoindex.cpp, src/libs/libgroff/paper.cpp,
- src/libs/libgroff/geometry.cpp: Some local variable renamings.
- * src/libs/libgroff/iftoa.c, src/libs/libgroff/itoa.c: Don't use K&R
- style.
- Enclose functions with `extern "C"' for C++.
- * src/libs/libgroff/quotearg.c (TRUE,FALSE): Define as macros.
- (needs_quoting): Return `int'.
- (quote_arg): Add proper casts to malloc and realloc.
- * src/libs/libgroff/spawnvp.c: Compile code only for MS-DOS and
- various MS Windows environments.
- (spawnvp_wrapper): Add proper cast to malloc.
-
- * src/preproc/eqn/box.h: Remove redundant declarations of
- `make_script_box', `make_mark_box' and `make_lineup_box'.
- * src/preproc/eqn/eqn.y: Remove redundant declaration of `strsave'.
- * src/preproc/eqn/script.cpp, src/preproc/eqn/pile.cpp: Some local
- variable renamings.
-
- * src/preproc/grn/hpoint.cpp: Some local variable renamings.
- * src/preproc/grn/hgraph.cpp: Some local variable renamings.
- (dx, dy): Renamed functions to...
- (deltax, deltay): This.
- * src/preproc/grn/main.cpp: Some local variable renamings.
- (deffont): Add `const'.
- (initpic, conv): Use cast for string constant.
-
- * src/preproc/html/pre-html.cpp: Some local variable renamings.
- (makeFileName, alterDeviceTo, addZ): Use cast for string constant.
- (char_buffer::run_output_filter): Second argument is unused.
- * src/preproc/html/pushback.cpp: Some local variable renamings.
-
- * src/preproc/pic/pic.y: Remove redundant declaration of `do_copy'.
- * src/preproc/pic/object.cpp: Some local variable renamings.
-
- * src/preproc/refer/label.y (lookup_label): Remove redundant
- declaration of local variable.
-
- * src/preproc/soelim.cpp: Remove redundant declaration of
- `interpret_lf_args'.
-
- * src/preproc/tbl/main.cpp: Some local variable renamings.
-
- * src/roff/groff/groff.cpp (main): Use cast for string constant.
- * src/roff/groff/pipeline.c: Enclose declarations of `error',
- `c_fatal', and `i_to_a' with `extern "C"' for C++.
- Don't use C++-style comments.
-
- * src/roff/troff/env.h: Remove redundant declaration of `title'.
- * src/roff/troff/node.h, src/roff/troff/env.cpp,
- src/roff/troff/div.cpp, src/roff/troff/node.cpp: Some local variable
- renamings.
- * src/roff/troff/div.h: Remove redundant declaration of
- `end_diversions'.
- * src/roff/troff/troff.h: Remove redundant declaration of
- `cleanup_and_exit'
- * src/roff/troff/input.cpp: Remove redundant declaration of
- `handle_first_page_transition' and `process_input_stack'.
-
- * src/utils/hpftodit.cpp: Some local variable renamings.
-
- * src/utils/indxbib/signal.c: Enclose functions with `extern "C"'
- for C++.
- Don't define RETSIGTYPE.
- * src/utils/indxbib/indxbib.cpp: Some local variable renamings.
-
- * src/utils/pfbtops/pfbtops.cpp: Don't use K&R style.
- (error): Use `const' in argument.
- (main): Remove redundant declaration of `optind'.
- Move declaration of `Version_string' to top-level.
-
- * PROBLEMS: Document difficulties compiling signal.c if a C++
- compiler is used for C.
-
-2004-04-07 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.sub (DISTCLEANFILES): Add `test-groff'.
-
-2004-04-06 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Make scripts like nroff.sh and neqn.sh portable across various
- (Unix-like) shell implementations from Cygwin, MSYS, etc., which use
- non-POSIX path separators. The idea is to extend those scripts to
- decide at run-time (of the script) which path separator to use.
-
- * arch/misc/Makefile.sub: New file.
- * arch/misc/shdeps.sh: New file, generating OS dependency fixups.
- This script handles @GROFF_BIN_PATH_SETUP@, replacing it with
- a proper definition of the variable `GROFF_RUNTIME'.
-
- * Makefile.in (SH_DEPS_SED_SCRIPT): New variable.
- (MDEFINES): Add SH_DEPS_SED_SCRIPT.
- (PROGDEPDIRS): New variable.
- `FORCE' it.
- (PROGDIRS): Add PROGDEPDIRS.
-
- * src/preproc/eqn/Makefile.sub (neqn): Call SH_DEPS_SED_SCRIPT.
- Don't substitute @SEP@ and @BINDIR@.
- * src/preproc/eqn/neqn.sh: Use @GROFF_BIN_PATH_SETUP@.
- (PATH): Use GROFF_RUNTIME.
-
- * src/roff/nroff/Makefile.sub (nroff): Call SH_DEPS_SED_SCRIPT.
- Don't substitute @SEP@ and @BINDIR@.
- * src/roff/nroff/nroff.sh: Use @GROFF_BIN_PATH_SETUP@.
- (PATH): Use GROFF_RUNTIME.
-
-2004-04-05 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/nroff/nroff.sh: Implement work-around for sh.exe from
- Cygwin which doesn't handle stderr correctly.
-
-2004-03-08 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.comm (install_dev, uninstall_dev): Protect `for' loops
- against empty argument. Problem reported by <cgd@broadcom.com>.
-
-2004-03-05 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * Makefile.in (SEP): Replaced with...
- (RT_SEP, SH_SEP): Separators for the target platform's native path
- separator and the build environment, respectively.
- (fontpath, tmacpath): Use RT_SEP.
- (MDEFINES): Updated.
-
- * doc/Makefile.sub (GROFF_BIN_PATH): Use SH_SEP.
- * src/preproc/eqn/Makefile.sub (neqn): Use SH_SEP.
- * src/roff/nroff/Makefile.sub (nroff): Use SH_SEP.
-
-2004-03-05 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/Makefile.sub (LJ4RES): Set to 1200. This helps to
- reduce alignment problems with newer printers which use built-in
- TrueType fonts (instead of the older Intellifonts). The ideal
- solution is to provide a second set of groff metric files, but this
- is extremely time-consuming to produce, given that HP's metric
- files are very rudimentary.
-
-2004-03-01 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grolj4/lj4.cpp (main): Fix argument of getopt_long.
- s/operand/argument/ in error message.
-
-2004-03-01 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/groff/groff.cpp (main): Don't allow option -o if -Thtml
- is in use.
-
-2004-03-01 Antti Kantee <pooka@netbsd.org>
-
- * tmac/s.tmac (XE): Fix error message.
-
-2004-02-27 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/include/nonposix.h (write, dup, dup2, close) [_MSC_VER]:
- New macros.
-
- * src/roff/groff/pipeline.c: Declare strcasecmp.
- (run_pipeline) [_WIN32]: Use function name variants which don't
- start with `_'.
- Fix stream handling.
-
-2004-02-27 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/include/nonposix.h: Fix declaration of `system_shell_name'.
- Declare `spawnvp_wrapper' and macro definitions of spawnvp only
- for platforms which use the native Win32 runtime libraries.
- (FLUSH_INPUT_PIPE) [_UWIN]: Provide non-empty version.
-
- * src/libs/libgroff/quotearg.c (QUOTE_ARG_MALLOC_ERROR,
- QUOTE_ARG_REALLOC_ERROR): Fix string.
-
- * src/preproc/html/pre-html.cpp: Remove declaration of
- `spawnvp_wrapper'.
- Don't use __MINGW32__.
- s/DEBUG_FILE/DEBUG_FILE_DIR/.
- (DEBUG_TEXT, DEBUG_NAME, DEBUG_FILE) [DEBUGGING]: New macros.
- (OUTPUT_STREAM, PS_OUTPUT_STREAM, REGION_OUTPUT_STREAM): New macros.
- (char_buffer::run_output_filter) [MAY_FORK_CHILD_PROCESS]: Fix
- calls to `set_redirection' and `WAIT'.
- [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Remove unused variable `i' and `j'.
- Fix calls to `set_redirection' and `save_and_redirect'.
- (char_buffer::do_html, char_buffer::do_image) [DEBUGGING]: Fix calls
- to `set_redirection' and `save_and_redirect'.
- (usage): Fix message.
- (makeTempFiles, main): Use `DEBUG_FILE'.
-
-2004-02-21 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/troff.h (WARN_TOTAL): Fix value.
-
-2004-02-21 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/libs/libgroff/quotearg.c: New file, providing proper argument
- quoting for MSVC's spawn* and exec* functions.
- * src/libs/libgroff/spawnvp.c: New file, providing a wrapper around
- spawnvp with proper quoting for MSVC.
-
- * src/libs/libgroff/assert.cpp (program_name),
- src/libs/libgroff/new.cpp (program_name): Declare as `extern "C"'.
- * src/libs/libgroff/Makefile.sub (OBJS, CSRCS): Updated.
-
- * src/roff/troff/input.cpp (program_name): Declare as `extern "C"'.
-
- * src/include/error.h (program_name): Declare as `extern "C"'.
- * src/include/nonposix.h [__MSDOS__ ...]: Handle spawnvp.
-
-2004-02-21 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/preproc/html/pre-html.cpp [__CYGWIN__ ...]: Declare
- spawnvp_wrapper.
- [MAY_SPAWN_ASYNCHRONOUS_CHILD]: Declare i and j.
-
-2004-02-20 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/roff/groff/pipeline.c (cmd) [__MSDOS__ || ...]: New global
- variable.
- (sbasename) [__MSDOS__ || ...]: New function.
- (system_shell_name) [__MSDOS__ || ...]: Use a different, more
- generic algorithm.
- (system_shell_dash_c, is_system_shell) [__MSDOS__ || ...]: Updated.
- (run_pipeline) [_WIN32]: Use _XXX variants for some macros instead
- of XXX.
- Use STDOUT_FILENO instead of hardcoded file handle.
- (signal_catcher) [__MSDOS__]: Moved to non-_WIN32 section.
-
-2004-02-19 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/div.cpp: Include nonposix.h after troff.h to
- avoid warnings w.r.t. redefinition of P_tmpdir for some compilers.
-
-2004-02-18 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/Makefile.sub (DEVFILES): Updated to contain all
- new font and mapping files.
-
-2004-02-18 Jeff Conrad <jeff_conrad@msn.com>
- Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/include/nonposix.h (FLUSH_INPUT_PIPE): New macro to empty
- an input pipe. This is needed for the MSVC compiler to make troff's
- `-o' option work.
-
- * src/roff/troff/div.cpp: Include nonposix.h.
- (cleanup_and_exit): Call FLUSH_INPUT_PIPE.
-
-2004-02-17 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/special.awk: New script.
- * font/devlj4/generate/Makefile (S): Use special.awk.
- * font/devlj4/*: Regenerated, including the following new files:
- Arial (AR, AB, AI, ABI), Times New Roman (TNRR, TNRB, TNRI, TNRBI),
- MS Symbol (SYMBOL), Wingdings (WINGDINGS).
- * NEWS: Document new lj4 fonts and revised hpftodit.
-
-2004-02-17 Paco Andrés Verdú <pandres@dragonet.es>
-
- * src/devices/grolbp/lbp.h (vmdvarc): Fix formatting string.
-
-2004-01-25 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/progname.cpp: Replaced with...
- * src/libs/libgroff/progname.c: New file.
- * src/libs/libgroff/Makefile.sub: Updated accordingly.
-
-2004-01-17 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/Makefile (SYMBOL): Use 9nb28703.tfm.
-
-2004-01-16 Jeff Conrad <jeff_conrad@msn.com>
-
- * font/devlj4/generate/wingdings.map,
- font/devlj4/generate/symbol.map: Include unnamed glyphs.
- Use groff glyph names where possible.
- * src/devices/grolj4/lj4_font.man: Minor updates.
-
-2004-01-13 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac (DC): Handle TTY devices.
-
- * doc/webpage.ms: Document viewCVS from ffii.org.
- * NEWS, README: Updated.
-
- * src/roff/groff/groff.man: Mention lj4_font man page.
-
- * font/devlj4/generate/Makefile (SYMBOLMAP, WINGDINGSMAP): New
- variables.
- (FONTS): Add SYMBOL and WINGDINGS.
- (SYMBOL, WINGDINGS): New targets.
-
-2004-01-13 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/devices/grolj4/lj4_font.man: New man page.
- * src/devices/grolj4/Makefile.sub (MAN5): New variable.
- * src/devices/grolj4.man: Mention lj4_font man page.
-
- * src/utils/hpftodit/hpftodit.cpp (read_map): Handle line comments.
- * src/utils/hpftodit/hpftodit.man: Document it.
- (CW): New macro.
- Remove details about fonts (which are now in lj4_font.man).
-
- * font/devlj4/generate/symbol.map,
- font/devlj4/generate/wingdings.map: New files.
-
-2004-01-12 Werner LEMBERG <wl@gnu.org>
-
- * README: Mention ffii's viewcvs access.
-
-2004-01-09 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/special.map: Map MSL 228 to U+221F.
-
-2004-01-09 Jeff Conrad <jeff_conrad@msn.com>
-
- Revert most of the change from 2004-01-03 to better control used
- symbol sets.
-
- * src/utils/hpftodit/hpftodit.cpp (symbol_set): New structure.
- (text_symbol_sets, special_symbol_sets): New arrays.
- (symbol_set_table): New global variable.
- (read_symbol_sets): Use search order given in the text_symbol_sets
- and special_symbol_sets arrays. If command line flag -a is not
- given, search both arrays.
- (output_charset): Require x_height_tag only for command line flag -i.
-
-2004-01-06 Werner LEMBERG <wl@gnu.org>
-
- Implement string-valued registers \n[.m] and \n[.M] to return the
- name of the current drawing and background color, respectively.
-
- * src/roff/troff/symbol.h: Moved to...
- * src/include/symbol.h: Here.
- Small fixes to make it work outside of the `troff' directory.
- * src/roff/troff/symbol.cpp: Moved to...
- * src/libs/libgroff/symbol.cpp: Here.
- Small fixes to make it work outside of the `troff' directory.
-
- * src/include/Makefile.sub (HDRS), src/libs/libgroff/Makefile.sub
- (OBJS, CCSRCS), src/roff/troff/Makefile.sub (OBJS, CCSRCS, HDRS):
- Updated.
-
- * src/include/color.h: Include symbol.h.
- (color): Add new field `nm'.
- * src/libs/libgroff/color.cpp (color::color): Updated.
-
- * src/roff/troff/dictionary.cpp, src/roff/troff/div.cpp,
- src/roff/troff/node.cpp, src/roff/troff/number.cpp,
- src/roff/troff/reg.cpp: Don't include symbol.h.
-
- * src/roff/troff/env.cpp: Don't include symbol.h.
- (environment::get_glyph_color_string,
- environment_get_fill_color_string): New member functions.
- (init_env_requests): Handle `.m' and `.M' registers.
- * src/roff/troff/input.cpp: Don't include symbol.h.
- (default_symbol): Moved to symbol.cpp/symbol.h.
- (do_glyph_color, do_fill_color, define_color): Pass symbol name
- to color constructor.
- * src/roff/troff/env.h: Updated.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new registers.
-
-2004-01-05 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cpp (space_node::get_breakpoints,
- space_node::nbreaks): Protect against zero `next' field.
-
-2004-01-03 Jeff Conrad <jeff_conrad@msn.com>
-
- In hpftodit, use the symbol sets offered in the TFM.
-
- * src/utils/hpftodit/hpftodit.cpp (NO_GLYPH): New constant.
- (symbol_set, text_symbol_sets, special_symbol_sets,
- symbol_set_table): Removed.
- (get_printcode): Removed.
- (read_symbol_sets): Initialize `symbol_set' field with
- `NO_SYMBOL_SET'.
- Simplify code to just use the `kind' value.
- (output_charset): Improve output formatting.
- (dump_symbols): Simplified.
-
-2004-01-02 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/text.map: Add more MSL numbers.
-
-2004-01-02 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/utils/hpftodit/hpftodit.cpp (is_decomposed): New macro.
- (text_symbol_sets): Add more symbol sets.
- (debug_flag): New static variable (moved from `main').
- (get_printcode, show_symset): New functions.
- (main): Remove `debug_flag'.
- (output_charset): Use `show_symset'.
- (dump_symbols): Use `show_symset'.
- Print symsets for all glyphs.
- (read_map): Actually call `unicode_to_ucode_make' but this time
- correctly.
-
-2004-01-01 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/text.map, font/devlj4/generate/special.map:
- Fix placement of comments.
-
-2004-01-01 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/utils/hpftodit/hpftodit.cpp (main): Read map file also if
- option `-d' is given.
- (output_charset): Improve warning messages to give more information.
- (dump_symbols): Make information more precise.
- (usage): Updated.
- (read_map): Don't call unicode_to_ucode_name; the glyph names must
- appear as-is and shouldn't be decomposed.
-
-2003-12-31 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/hpftodit/hpftodit.cpp (dump_tags): Handle posture_tag.
- * font/devlj4/generate/Makefile (IFLAG): Updated to new units.
- (FONTS): Add TrueType font families Arial and Times New Roman.
- (TNRR, TNRB, TNRI, TNRBI, AR, AB, AI, ABI): New targets.
- * font/devlj4/generate/text.map: Fix Unicode values of `fi' and
- `fl'.
-
-2003-12-31 Jeff Conrad <jeff_conrad@msn.com>
-
- * test-groff.in (SEP): Quote value.
- * src/roff/troff/node.cpp (suppress_node::tprint): Change type of
- `tem' to `char*' to avoid deallocation of a pointer to a constant
- object which some compilers don't like.
-
-2003-12-31 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate (text.map, special.map): Rewritten to work
- with the new hpftodit version.
-
-2003-12-30 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/utils/hpftodit/hpftodit.cpp (output_charset): Emit HP symbol
- set and 8bit character code for all glyphs also.
-
-2003-12-30 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/strcasecmp.c: Updated from gnulib.
-
-2003-12-29 Werner LEMBERG <wl@gnu.org>
-
- More fixes for MSVC compiler.
-
- * doc/Makefile.sub (GROFF_BIN_PATH): Use $(SEP).
-
- * src/include/nonposix.h (STDIN_FILENO, STDOUT_FILENO,
- STDERR_FILENO) [_MSC_VER]: Define conditionally.
- (getpid) [_MSC_VER]: Remove.
- Include direct.h and process.h conditionally.
-
- * src/roff/troff/node.cpp (suppress_node::tprint): Don't use
- parentheses for a_delete.
-
- * src/utils/lookbib/lookbib.cpp: Include nonposix.h.
-
- * test-groff: Replaced with...
- * test-groff.in: This new template to handle path separator
- properly.
-
- * configure.ac: Check for direct.h and process.h.
- Generate test-groff script.
- * configure, src/include/config.hin: Regenerated.
-
-2003-12-28 Werner LEMBERG <wl@gnu.org>
-
- Add integral extension glyph.
- Add new option `-x' to afmtodit to suppress use of built-in AGL.
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `u23AE'.
-
- * font/devps/generate/textmap: Provide entry for `integralex' to
- override (old) PUA value of the AGL.
- * font/devps/generate/Makefile (SS): Add afmtodit option `-x'.
- * font/devps/*: Regenerated.
-
- * src/utils/afmtodit/afmtodit.pl: Add option `-x'.
- * src/utils/afmtodit/afmtodit.man, NEWS: Updated.
-
-2003-12-27 Werner LEMBERG <wl@gnu.org>
-
- Add forgotten `coproduct' symbol (already available for DVI).
-
- * font/devhtml/R.proto, font/devps/generate/textmap,
- font/devps/symbolmap, font/devutf8/R.proto, man/groff_char.man,
- src/libs/libgroff/uniglyph.cc, src/libs/libgroff/glyphuni.cpp: Add
- U+2210 (\[coproduct]).
-
-2003-12-26 Jeff Conrad <jeff_conrad@msn.com>
-
- hpftodit has been extended to handle TrueType metric files and
- more glyphs. See hpftodit.man for more details.
-
- * src/utils/hpftodit/hpftodit.cpp: Include stdio.h, string.h,
- ctype.h, and unicode.h.
- s/msl/charcode/ everywhere since we now handle Unicode values also.
- (equal, NO, YES, MSL, SYMSET, UNICODE, UNICODE): New macros.
- Use it where appropriate.
- (MULTIPLIER): Replaced with...
- (multiplier): New global static variable.
- (scale): Updated.
- (tag_type): Add more TFM tags.
- (tag_name): New array.
- (ENUM_TYPE, FLOAT_TYPE): Removed.
- (BYTE_TYPE): New value assigned.
- (ASCII_TYPE, RATIONAL_TYPE): New enumeration values.
- (text_symbol_sets, special_symbol_sets): Extended to cover more
- sets.
- (check_type): Add return value.
- (check_units): Add parameters to get ppi and upem values.
- Handle TrueType TFM data.
- (output_font_name): New function.
- (output_charset): Add parameter to handle TFM type.
- Handle TrueType TFMs also.
- (em_fract): New macro.
- (dump_tags): Be much more verbose and handle more tags.
- (dump_ascii, dump_symbol_sets, dump_symbols): New functions.
- (hp_msl_to_ucode_name, unicode_to_ucode_name, is_uname): New
- functions.
- (read_map): Add parameter to handle TFM type.
- Handle both MSL and Unicode mappings.
- (main): Add two new command line options `-a' and `-q'.
- Updated to make use of new functions.
- (usage): Updated.
-
- * src/utils/hpftodit/hpuni.cpp: New file.
-
- * src/utils/hpftodit/Makefile.sub, src/utils/hpftodit/hpftodit.man:
- Updated.
-
-2003-12-25 Werner LEMBERG <wl@gnu.org>
-
- * src/include/nonposix.h (read) [_MSC_VER]: Define.
-
-2003-12-24 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/afmtodit/afmtodit.man: Some reformulations as suggested
- by Michail Vidiassov <master@iaas.msu.ru>.
-
-2003-12-20 Werner LEMBERG <wl@gnu.org>
-
- * font/devhtml/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
- and u0049_0307.
- Add missing latin-2 glyphs.
- * font/devutf8/R.proto: Add missing latin-2 glyphs.
-
- * tmac/troffrc: Load `composite.tmac' earlier.
-
- * tmac/dvi.tmac, tmac/ps.tmac, tmac/lbp.tmac: Add u00{47,67}_0306,
- u00{53,73}_0327, and u0049_0307.
- * tmac/X.tmac: Add u00{47,67}_0306.
- * tmac/tty-char.tmac: Use composite glyph names for readability.
-
- * NEWS: Updated.
-
- * src/include/unicode.h: Remove `extern' keywords.
-
-2003-12-20 Nilgün Belma Bugüner <nilgun@superonline.com>
-
- * tmac/latin5.tmac: New file.
-
-2003-12-19 Werner LEMBERG <wl@gnu.org>
-
- Add some glyphs needed for Turkish.
-
- * font/devutf8/R.proto: Add u00{47,67}_0306, u00{53,73}_0327,
- and u0049_0307.
-
- * tmac/composite.tmac: Add `,' as a synonym for `ac' accent.
- * tmac/tty-char.tmac: Add representations for u00{47,67}_0306,
- u00{53,73}_0327, and u0049_0307.
-
-2003-12-18 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cc (ps_output::put_float): Revert change
- from 2001-10-04.
- Remove trailing zeros.
-
-2003-12-17 Werner LEMBERG <wl@gnu.org>
-
- Make \? transparent to end-of-sentence recognition.
-
- * src/roff/troff/input.cc (non_interpreted_node): Add
- `ends_sentence' member function.
-
-2003-12-16 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Document `dt' request correctly.
- Other minor typographical improvements.
-
-2003-12-10 Michail Vidiassov <master@iaas.msu.ru>
-
- * src/utils/afmtodit/Makefile.sub (afmtodit): Fix typo.
-
-2003-12-10 Richard Stallman <rms@gnu.org>
-
- * LICENSE: Better wording.
-
-2003-12-09 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_BROKEN_SPOOLER_FLAGS): Set default value to 0.
- * configure, NEWS: Updated.
-
-2003-12-08 Werner LEMBERG <wl@gnu.org>
-
- * FDL: Updated to version 1.2 (from www.gnu.org/copyleft).
-
-2003-12-07 Bernd Warken <bwarken@mayn.de>
-
- * LICENSE: Updated.
-
-2003-12-07 Werner LEMBERG <wl@gnu.org>
-
- * INSTALL: Improved.
-
-2003-12-05 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Use path separator character of target platform for compiled-in
- default paths.
-
- * aclocal.m4 (GROFF_TARGET_PATH_SEPARATOR): New macro.
- * configure.ac: Use GROFF_TARGET_PATH_SEPARATOR.
- * configure: Regenerated.
- * Makefile.in (SEP): Use GROFF_PATH_SEPARATOR.
-
-2003-12-05 Werner LEMBERG <wl@gnu.org>
-
- * src/include/nonposix.h (PATH_SEP_CHAR): New definition.
- Replace `PATH_SEP[0]' with `PATH_SEP_CHAR' everywhere.
-
-2003-12-04 Bernd Warken <bwarken@mayn.de>
-
- * LICENSE: New file.
-
-2003-12-03 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/afmtodit/afmtodit.pl: Comment out code which handles
- ligatures present in AFM files since groff currently only
- understands some standard ligatures and nothing else.
-
-2003-12-03 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/roff/groff/groff.cpp (main): Don't run the spooler if
- option -v is given.
-
- * src/roff/groff/pipeline.c (run_pipeline) [_WIN32]: Fix error
- messages.
- Close stdout copy.
- Don't use Unix wait flags.
-
-2003-12-02 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/glyphuni.cpp, src/roff/troff/unicode.cpp,
- src/roff/troff/unicode.h, src/roff/troff/uniglyph.cpp,
- src/roff/troff/uniuni.cpp: Moved to...
- * src/libs/libgroff/glyphuni.cpp, src/libs/libgroff/unicode.cpp,
- src/libs/libgroff/unicode.h, src/libs/libgroff/uniglyph.cpp,
- src/libs/libgroff/uniuni.cpp: Here.
-
- * src/include/Makefile.sub.old (HDRS),
- src/libs/libgroff/Makefile.sub (OBJS, CCSRCS),
- src/roff/troff/Makefile.sub (HDRS, PBJS, CCSRCS): Updated.
-
-2003-12-01 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/preproc/htlp/pre-html.cpp (__tmpfile): Renamed to
- `DEBUG_FILE'.
- Updated all users.
-
-2003-12-01 Werner LEMBERG <wl@gnu.org>
-
- * groff.texinfo: Document special behaviour of `.vs 0'.
- Improve documentation of `cflags' request.
- * NEWS: Updated.
-
-2003-11-29 Werner LEMBERG <wl@gnu.org>
-
- * font/devlj4/generate/Makefile (CORONET): Use correct TFM.
- * font/devlj4/CORONET: Regenerated.
-
-2003-11-24 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/env.cpp (hyphen_trie::read_patterns_file): Fix loop
- if processing hyphenation patterns in traditional mode.
- Improve error messages.
-
-2003-11-20 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cpp (troff_output_file::put_char_width,
- troff_output_file::put_char): Fix type of local variable `c'.
-
-2003-11-19 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/pipeline.c (P): Removed. Updated all function
- declarations.
- (i_to_a): Removed. libgroff already provides this function.
- (run_pipeline) [_WIN32]: Don't use itoa but i_to_a.
-
-2003-11-18 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/groff/pipeline.c (xstrsignal): Fix usage of
- HAVE_DECL_SYS_LIST.
-
-2003-11-17 Werner LEMBERG <wl@gnu.org>
-
- * COPYING: Use correct version.
-
-2003-11-11 Werner LEMBERG <wl@gnu.org>
-
- LynxOS 4.0.0 doesn't declare vfprintf.
-
- * configure.ac: Check for vfprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_VFPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-11-10 Werner LEMBERG <wl@gnu.org>
-
- LynxOS 4.0.0 has snprintf (without declaration) but no vsnprintf.
-
- * configure.ac: Check for vsnprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_VSNPRINTF' and
- `HAVE_VSNPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-11-09 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4: Updated syntax to autoconf 2.59.
- (GROFF_HTML_PROGRAMS): Use AC_FOREACH.
- Don't check for gsos2.
- (GROFF_SRCDIR, GROFF_BUILDDIR): Removed. autoconf 2.59 provides
- working abs_top_srcdir and abs_top_builddir.
-
- * configure.ac: Updated syntax to autoconf 2.59.
- Don't call GROFF_SRCDIR and GROFF_BUILDDIR.
- Replace call to AC_DECL_SYS_SIGLIST with call to AC_CHECK_DECLS.
- * configure: Regenerated.
-
- * Makefile.in, doc/Makefile.in: s/@top_srcdir@/@abs_top_srcdir@/,
- s/@groff_top_builddir@/@abs_top_builddir@/.
-
- * src/roff/groff/pipeline.c (xstrsignal):
- s/SYS_SIGLIST_DECLARED/HAVE_DECL_SYS_SIGLIST/.
-
-2003-11-07 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) ['a']: Always
- make start angle smaller than end angle to circumvent a bug in tpic
- handling of some versions of dvipdfm (and dvipdfmx).
-
-2003-10-30 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/grops.man: Improve section on creating EPS.
-
-2003-10-29 Werner LEMBERG <wl@gnu.org>
-
- * contrib/pic2graph/pic2graph.sh: Fix typo (-P-letter ->
- -P-pletter).
-
-2003-10-28 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Fix documentation of `.if'.
-
-2003-10-27 Michail Vidiassov <master@iaas.msu.ru>
-
- * src/utils/afmtodit/afmtodit.pl: Handle unmapped characters of
- the form `uniXXXX' also.
-
-2003-10-27 Werner LEMBERG <wl@gnu.org>
-
- * contrib/eqn2graph/eqn2graph.sh, contrib/grap2graph/grap2graph.sh,
- contrib/pic2graph/pic2graph.sh: Implement secure management of
- temporary files.
- Pass `-P-pletter' to groff to avoid data outside of the converted
- area -- some versions of `convert' (for example 5.3.8) don't check
- the bounding box of the image but always use a fixed image size
- (letter paper format).
- * contrib/eqn2graph/eqn2graph.man, contrib/grap2graph/grap2graph.man,
- contrib/pic2graph/pic2graph.man: Updated.
-
- * src/roff/groff/groff.man: Document $TMP and $TEMP.
-
-2003-10-26 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/troff.cpp (troff_output::simple_circle,
- troff_output::simple_ellipse, troff_output::simple_arc,
- troff_output::simple_line, troff_output::simple_spline,
- troff_output::simple_polygon): Insert a space before arguments.
- (troff_output::set_fill): Emit `\&' before `\D'Fg...' since the
- latter doesn't produce a node, so the following `.sp -1' would do
- the wrong thing.
- Don't emit `.sp -1' after \M. This also doesn't produce a token
- (and we don't have to care about compatibility mode).
- (troff_output::set_color, troff_output::reset_color): Don't emit
- `.sp -1' after \M and \m.
-
- * src/roff/troff/input.cpp (old_have_input): New global variable.
- (input_stack::get): Handle `old_have_input'.
- (process_input_stack) <token::TOKEN_NEWLINE>: Call
- `trapping_blank_line' depending on `old_have_input', not
- `have_input'.
-
-2003-10-20 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/libs/libgroff/tmpfile.cpp [__MSDOS__, _Win32]
- (WIN32_TMPDIR_ENVVAR, MSDOS_TMPDIR_ENVVAR): New macros, providing
- default directory names for temporary files.
- [__MSDOS__, _Win32] (temp_init::temp_init): Use them.
-
- * src/roff/groff/pipeline.c [__MSDOS__]: Include stdlib.h.
- [__MSDOS__] (run_pipeline): Honour environment variables.
- Don't use `tmpnam' but `tempnam' to work around messy
- implementation.
-
- * README.MinGW: New file.
-
-2003-10-16 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/html/pre-html.cpp (write_upto_newline): Don't use
- `(*t)->next' without testing validity of `*t'.
- (usage): Make it more readable.
-
-2003-10-16 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Make html device run under both MS-DOS and Win32.
-
- * src/preproc/html/pre-html.cpp (MAY_FORK_CHILD_PROCESS,
- MAY_SPAWN_ASYNCHRONOUS_CHILD): New macros to control whether
- spawn or fork+exec has to be used, and whether parent must sleep
- until the child process terminates. Used in
- `char_buffer::run_output_filter'.
- (copyofstdoutfd): Removed.
- (char_buffer): Replace `write_file_html' and `write_file_troff'
- member functions with `emit_troff_output' and `run_output_filter'.
- (DEVICE_FORMAT, HTML_OUTPUT_FILTER, IMAGE_OUTPUT_FILTER): New
- macros.
- (replaceFd): Replaced with...
- (set_redirection): New auxiliary function.
- (waitForChild): Replaced with...
- (save_and_redirect): New auxiliary function for.
-
- (char_buffer::do_html, char_buffer::do_image): Simplified, using new
- functions.
-
-2003-10-14 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * aclocal.m4 (GROFF_SYS_NERR): Check stdlib.h also.
- (GROFF_LIBC): New function.
- * configure.ac: Call GROFF_LIBC.
- Check for `kill'.
- * configure: Regenerated.
-
- * src/include/lib.h: Handle __MINGW32__.
- * src/include/nonposix.h [_MSC_VER]: Handle __MINGW32__.
- Add macro for `pipe'.
- Define P_tmpdir.
-
- * src/roff/groff/pipeline.c (run_pipeline): Handle `no_pipe'
- correctly.
-
- * src/utils/indxbib/signal.c (handle_fatal_signal) [!HAVE_KILL]:
- Implement.
-
-2003-10-12 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/groff.cpp (help), src/devices/grops/ps.cpp (usage),
- src/roff/troff/input.cc (usage): Updated.
-
- * NEWS, doc/groff.texinfo: Updated.
-
-2003-10-12 Peter Miller <millerp@canb.auug.org.au>
-
- * src/libs/libgroff/searchpath.cpp
- (search_path::open_file_cautious): New function which also handles
- `-' as stdin and stdout depending on the access mode.
- * src/include/searchpath.h (search_path): Updated.
-
- * src/devices/grops/ps.cpp (main): Handle new `-I' switch.
- * src/devices/grops/ps.h: Include `searchpath.h'.
- * src/devices/grops/psrm.cpp (resource_manager::supply_resource):
- Open resource file with `include_search_path.open_file_cautious'.
- * src/devices/grops/grops.man: Document new `-I' switch.
-
- * src/devices/grodvi/dvi.cpp (main), src/devices/grolbp/lbp.cpp
- (main), src/devices/grolj4/lj4.cpp (main),
- src/devices/grotty/tty.cpp (main): Ignore new `-I' switch.
-
- * src/preproc/soelim/soelim.cpp (include_list_length, include_list):
- Replaced with...
- (include_search_path): New global variable.
- (include_path_append): Removed.
- (main): Use `include_search_path.command_line_dir' to handle `-I'.
- (do_file): Simplify, using new
- `include_search_path.open_file_cautious'.
-
- * src/roff/groff/groff.cpp (print_commands): Accept file handle as
- parameter.
- (main): Pass arguments to `-I' to both troff and devices.
- Improve handling of `-V'.
- * src/roff/groff/groff.man: Document changes to -I and -V.
-
- * src/roff/troff/input.cpp (include_search_path): New global
- variable.
- (next_file, source, ps_bbox_request, transparent_file,
- process_input_file): Use new
- `include_search_path.open_file_cautious'.
- (main) Handle `-I' switch.
- * src/roff/troff/node.cpp (troff_output_file::really_copy_file):
- Use new `include_search_path.open_file_cautious'.
- * src/roff/troff/node.h: New extern symbol `include_search_path'.
- * src/roff/troff/troff.man: Document new `-I' switch.
-
-2003-09-15 Ruslan Ermilov <ru@FreeBSD.org>
-
- Support multiple calls of .Lb in LIBRARY section.
-
- * tmac/doc-common (doc-in-library-section): New register.
- (doc-section-library): New string.
- (Sh): Set `doc-in-library-section'.
- (Rd): Updated.
- * tmac/doc-syms (Lb): Insert breaks before and after arguments
- if in LIBRARY section.
- * tmac/doc.tmac (doc-save-global-vars): Updated.
- * NEWS, tmac/groff_mdoc.man: Updated.
-
-2003-09-14 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc-common (doc-default-operating-system): New variable.
- (Os): Use it.
-
-2003-09-08 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc.tmac (doc-reset-reference): Handle data for `%I' also.
-
-2003-08-31 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.comm: Use `test ... ||' in favor of `if test ...; then'.
- (install_dev, uninstall_dev): Check whether $(DEVSCRIPTS) and
- $(DEVFILES) are not empty.
- * Makefile.in: Use `test ... ||' in favor of `if test ...; then'.
-
-2003-08-23 Stephen Gildea <http://www.gildea.com/stephen>
-
- * src/preproc/refer/ref.cpp (reference::compute_sort_key): Always
- insert SORT_SEP. With certain combinations of sort specifications,
- refer sorted entries in the wrong order. In particular, entries
- with a missing field should be be sorted before all entries that
- have that field, before refer looks to the next field.
-
-2003-08-23 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/pfbtops/Makefile.sub (LINK.c): Define it so that the
- g++ linker is used. Reported by Mark J. Reed
- <mark.reed@turner.com>.
-
-2003-08-16 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
-
- Add key character `x' to tbl which makes tbl call a user-defined
- macro on a table cell.
-
- * src/preproc/tbl/table.h (entry_modifier): Add `macro'.
- * src/preproc/tbl/table.cpp (block_entry::do_divert): Call
- `set_modifier' after printing the compatibility request.
- (set_modifier): Print call to `m->macro' if not empty.
- * src/preproc/tbl/main.cpp (entry_format::debug_print): Handle
- `macro'.
- (process_format): Implement cases `x' and `X'.
- * src/preproc/tbl/tbl.man, NEWS: Updated.
-
-2003-08-15 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Minor fixes.
-
-2003-08-09 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac [cR]: Fix redefinition of `bp'.
-
-2003-08-07 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub: Not all shells expand wildcards in the `for'
- argument list to nothing if there is no file to match. Use `ls' as
- a protection, similar to autoconf.
-
- * Makefile.comm (install_dev, uninstall_dev): Protect `for' against
- empty argument lists.
-
- * doc/groff.texinfo: Improve documentation how vertical spacing
- and line breaks interact.
- Other minor fixes.
-
- * tmac/www.tmac: Initialize `www-htmlimage-gap'.
-
-2003-08-03 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, src/devices/grops/grops.man: -b16 is necessary to produce
- EPS (using eps2eps or similar programs to compute the bounding box).
-
-2003-07-24 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Use the new @/ command to avoid overlong lines.
- * doc/texinfo.tex: Updated from texinfo 4.6.
- * README.CVS: From now on we need texinfo 4.6.
-
-2003-07-23 Werner LEMBERG <wl@gnu.org>
-
- Add requests `dei1' and `ami1' for completeness.
-
- * src/roff/troff/input.cc (calling_mode): Remove
- CALLING_DISABLE_COMP.
- (comp_mode): New enumeration.
- (do_define_string, define_string, define_nocomp_string,
- append_string, append_nocomp_string): Updated.
- (do_define_macro): Add third parameter.
- (define_macro, define_nocomp_macro, define_indirect_macro,
- append_macro, append_nocomp_macro, append_indirect_macro): Updated.
- (define_indirect_nocomp_macro, append_indirect_nocomp_macro): New
- functions.
- (ignore): Updated.
- (init_input_requests): Add `dei1' and `ami1'.
-
- * tmac/trace.tmac: Handle de1 and am1.
- (de): Improve tracing message.
- (am): Add missing `do'.
- (return): Use de1.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new requests.
-
-2003-07-22 Heinz-Jürgen Oertel <hj.oertel@surfeu.de>
-
- Add option -G to .MPIMG to insert a gap between text and the image.
-
- * tmac/www.tmac (www-finish-left-po, www-finish-right-ll,
- www-finish-left-ll): Updated.
- (www-image-just, www-image-gap, www-htmlimage-gap): New variables.
- (MPIMG): Make option -L and -R optional.
- Implement option -G.
-
-2003-07-22 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::do_file_components): Don't use `stdout' as lvalue
- since it can be a macro.
-
-2003-07-22 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/strerror.c: Include errno.h to be in sync with
- the corresponding test in aclocal.m4.
-
-2003-07-21 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/html/pre-html.cpp (TRANSPARENT): Don't use colour
- names but RGB values directly. Otherwise pnmtopng depends on
- an external file `rgb.txt' which maps colour names to values.
-
-2003-07-20 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_SYS_ERRLIST): Include stdlib.h for MinGW.
- * configure, src/include/config.hin: Regenerated.
-
- * src/libs/libgroff/strerror.c: Include stdlib.h for MinGW.
-
-2003-07-19 Werner LEMBERG <wl@gnu.org>
-
- * PROBLEMS: Add solution for UTF-8 problem with hyphens.
-
-2003-07-18 Werner LEMBERG <wl@gnu.org>
-
- * *.man: Switch to non-compatibility mode temporarily if GNU
- syntax extensions are used in the particular man page.
-
- * PROBLEMS: Add solutions for SGR problems.
-
-2003-07-17 Werner LEMBERG <wl@gnu.org>
-
- Don't ignore grotty's command line options if \X'tty: sgr ...' is
- used to change the drawing scheme.
-
- * src/devives/grotty/tty.cpp (bold_flag_option,
- underline_flag_option, italic_flag_option, reverse_flag_option,
- bold_underline_mode_option): New global variables.
- (update_options): New function.
- (tty_printer::special): Call update_options.
- (main): Don't set xxx_flag but xxx_flag_option, then call
- update_options.
-
-2003-07-14 Werner LEMBERG <wl@gnu.org>
-
- Make grotty emit proper Unicode box drawing characters for -Tutf8.
-
- * src/devices/grotty/tty.cpp (START_LINE, END_LINE): New enum
- values.
- (hline_char, vline_char): New global variables.
- (tty_printer::tty_printer): Initialize them.
- (tty_printer::draw): Emit START_LINE and END_LINE flags for both
- horizontal and vertical lines.
- (crossings): New global array.
- (tty_printer::end_page): Use it to determine the proper crossing
- character for -Tutf8.
-
-2003-07-12 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefilesub (HTMLDOCFILESALL): New macro.
- (HTMLDOCFILES): Revert to `pic.html'.
- (CLEANADD, install_html, uninstall_sub): Use HTMLDOCFILESALL.
-
-2003-07-11 Werner LEMBERG <wl@gnu.org>
-
- * doc/pic.ms: Improve documentation of absolute coordinates.
- Document absolute positioning of pictures.
-
- * NEWS: Add new pic capability.
-
-2003-07-09 Hartmut Henkel <hartmut_henkel@gmx.de>
-
- * src/libs/libgroff/geometry.cpp (check_output_arc_limits):
- Rewritten.
-
-2003-07-07 Werner LEMBERG <wl@gnu.org>
-
- Implement support for dashed and dotted ellipses in pic. Based on
- a patch from Hartmut Henkel <hartmut_henkel@gmx.de>.
-
- * src/preproc/pic/common.cpp (common_output::ellipse_arc,
- common_output::dashed_ellipse, common_output::dotted_ellipse): New
- functions. Ellipse arcs are approximated with circle arcs.
- * src/preproc/pic/common.h (common_output): Updated.
- * src/preproc/pic/tex.cpp (tex_output::ellipse): Use new ellipse
- functions.
- * src/preproc/pic/troff.cpp (simple_output::ellipse): Ditto.
-
- * src/preproc/pic/TODO, src/preproc/pic/pic.man: Updated.
-
-2003-07-06 Werner LEMBERG <wl@gnu.org>
-
- Make grotty work on platforms which have unsigned char as the
- default for char. Based on a patch by Thomas Klausner
- <wiz@netbsd.org>.
-
- * src/devices/grotty/tty.cpp (schar): New typedef.
- Updated calls to declare_ptable and implement_ptable.
- (glyph): Use schar for back_color_idx and fore_color_idx.
- (tty_printer): Use schar for curr_fore_idx and curr_back_idx.
- (tty_printer::tty_color, tty_printer::tty_printer,
- tty_printer::color_to_idx, tty_printer::put_color): Updated.
-
-2003-07-06 Ruslan Ermilov <ru@FreeBSD.org>
-
- * src/roff/nroff/nroff.sh: Add option -d for completeness.
- * src/roff/nroff/nroff.man: Updated.
-
-2003-07-05 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, tmac/groff_www.man: Updated.
- * doc/Makefile.sub: Updated.
-
-2003-07-05 Gaius Mulley <gaius@glam.ac.uk>
-
- Implement support for multiple HTML output files.
-
- * src/preproc/html/pre-html.cpp (scanArguments): Dummy handling for
- -j command line option.
-
- * src/devices/grohtml/post-html.cpp (job_name, multiple_files): New
- global variables.
- (file): New fields `new_output_file', `require_links',
- `output_file_name'.
- (file::file): Updated.
- (files::set_file_name, files::set_links_required,
- files::are_links_required, files::is_new_output_file,
- files::file_name, files::next_file_name): New functions.
- (header_desc): New fields `no_of_level_one_headings',
- `header_filename'.
- (header_desc::header_desc): Updated.
- (header_desc::write_headings): Handle multiple files.
- (html_printer::write_header): Save file name in which header occurs.
- (html_printer::determine_header_level): Possibly split files on
- level one headings.
- (html_printer::do_links, html_printer::troff_tag): Updated.
- (html_printer::insert_split_file, html_printer::do_job_name,
- html_printer::emit_link, html_printer::write_navigation,
- html_printer::do_file_components): New functions.
- (html_printer::~html_printer): Handle multiple files.
- (main): Handle command line option `-j'.
-
- * src/devices/grohtml/grohtml.man: Updated.
-
- * doc/Makefile.sub (pic.html), doc/Makefile.in (pic.html): New rule
- which splits file.
-
- * tmac/www.tmac (JOBNAME): New macro.
- * tmac/s.tmac (SH-NO-TAG): New macro.
- (@SH): Call SH-NO-TAG.
- (@NH): Updated.
-
-2003-07-05 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/groff_mdoc.man: Improve documentation of punctuation
- characters.
-
-2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc.tmac (Bd): Change to doc-Li-font later.
-
-2003-07-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac [cR]: Redefine `bp' to avoid empty lines.
-
-2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
- after `/*' and `*/'.
- Fix spacing.
- (Fn, Fo): Reduce indentation in synopsis.
-
- * tmac/doc-common (doc-check-depth): New macro.
- (doc-end-macro, Sh, Ss): Use it.
- (Cd): Fix behaviour in synopsis.
- (In): Make it parsed and callable.
- If not in the synopsis, represent the C header file enclosed in
- angle brackets.
- (doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
- Use minus, not hyphen.
-
- * tmac/groff_mdoc.man: Updated.
-
-2003-07-01 Werner LEMBERG <wl@gnu.org>
-
- Integrated grap2graph, contributed by Eric S. Raymond.
-
- * contrib/grap2graph/{Makefile.sub, grap2graph.sh, grap2graph.man}:
- New files.
- * Makefile.in, NEWS, MANIFEST, contrib/eqn2graph.man,
- contrib/pic2graph.man, src/roff/groff/groff.man: Updated.
-
-2003-07-01 Colin Watson <cjwatson@debian.org>
-
- * src/xditview/*.c: Add prototypes, fix return types, add includes.
- Based on work by Fumitoshi UKAI <ukai@debian.or.jp>.
-
-2003-06-31 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/tty-char.tmac: Provide `lb', `rb', `lk', `rk', `lt', `rt'.
-
-2003-06-31 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub (CLEANADD): Remove all files created by
- running `make groff.{pdf,dvi}'.
-
- * Makefile.sub (DISTCLEANFILES): Remove all non-source files from
- src/xditview also.
-
-2003-06-30 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (SHELL): Define as @SHELL@.
- (mkinstalldirs): Use $(SHELL).
- (MDEFINES): Add $(SHELL).
- * Makefile.comm (SHELL): Removed.
-
-2003-06-29 Werner LEMBERG <wl@gnu.org>
-
- * tmac/s.tmac (De, Ds): New aliases for .DE and .DS, respectively.
- The X11 documentation files use them.
- * tmac/groff_ms.man, doc/groff.texinfo: Document them.
-
-2003-06-15 Robert Goulding <goulding@Princeton.EDU>
-
- * tmac/e.tmac (@C): Handle .ad also.
-
-2003-06-12 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Document formatting of text blocks.
-
- * src/roff/troff/input.cc (token::next) <handle_escape_char>:
- Assign `n' even here. It is possible to construct a node
- immediately following an escape character:
-
- .di xx
- \?\\\?a
- .br
- .di
- .xx
-
-2003-06-10 Werner LEMBERG <wl@gnu.org>
-
- * README.WIN32: Removed.
- * MANIFEST: Updated.
-
-2003-06-07 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/nroff/nroff.sh: Don't emit SGR for option -u.
-
-2003-06-05 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/pic.y <sprintf_args>: Implement workaround for bug
- in Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885).
-
-2003-06-03 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/grn/hdb.cpp (DBRead): Don't close file handle; this
- is done by the calling function.
-
-2003-05-22 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/X.tmac: Fix definition of `em'.
-
-2003-05-22 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (return_macro_request): Fix detection of
- argument.
-
-2003-05-18 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc.tmac (doc-tag-list): Force horizontal mode after tag
- to make items work which consist only of a tag.
-
-2003-05-17 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc.tmac (doc-tag-list): Don't use \Z to assure that spaces
- aren't stretched in a tag (this can fail with unformatted boxes).
- Instead, insert a break and go back one line.
-
-2003-05-16 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (return_macro_request): If called with
- argument pop macro twice. We need this to trace `return'.
-
- * tmac/trace.tmac: Handle `return'.
- Fix typos.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document.
-
-2003-05-15 Larry Kollar <kollar@alltel.net>
-
- * tmac/groff_ms.man, doc/groff.texinfo: Improve documentation of
- registers `FPS', `FVS', and `FPD'.
-
-2003-05-15 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/pfbtops/pfbtops.c (get_text): Handle loop counter
- correctly.
-
-2003-05-03 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/groff_mdoc.man: Slight improvements.
-
-2003-05-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (doc-header): Emit vertical space of 1v instead of
- `doc-header-space' after header line if register `cR' is set.
-
-2003-05-02 Werner LEMBERG <wl@gnu.org>
-
- * TODO: Updated.
-
-2003-05-01 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc-common (Nd): Use \[em].
-
-2003-05-01 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-ditroff, tmac/doc-nroff (doc-header-space,
- doc-footer-space): Initialize to 0.5i.
- (doc-setup-page-layout): Don't set doc-header-space and
- doc-footer-space.
-
-2003-04-30 Werner LEMBERG <wl@gnu.org>
-
- * REVISION: Set to 1.
-
- * doc/pic.ms: Document possible problems with `figname'.
-
-2003-04-29 Werner LEMBERG <wl@gnu.org>
-
-Version 1.19 released
-=====================
-
- * VERSION: Set to 1.19.
- * REVISION: Set to 0.
- * doc/groff.texinfo, doc/webpage.ms, NEWS: Updated.
-
- * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
- Define charset as `US-ASCII' in html output.
-
- * tmac/www.tmac (ULE): Add missing scaling indicator.
-
- * win32-diffs: Removed.
-
-2003-04-28 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Document `dn' and `dl' registers if used with
- `.da' and `.boxa'.
- Document how to insert discardable whitespace with `.ss'.
-
-2003-04-27 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/tex.cpp (tex_output::start_picture): Make code
- work with plain TeX also.
-
- * src/preproc/pic/pic.man, doc/pic.ms: Fix TeX code example.
-
-2003-04-25 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
- Use a loose DTD.
-
-2003-04-24 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/pic.man, doc/pic.ms: Explain how to get a
- vbox with positive height and zero depth if in TeX mode.
-
- * NEWS: Document glyph name changes for grodvi and grolj4.
-
-2003-04-23 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/tex.cpp (tex_output::start_picture): Fix TeX code.
- * doc/pic.ms: Fixed.
-
-2003-04-21 Werner LEMBERG <wl@gnu.org>
-
- HP-UX 10.20 has `snprintf' but it isn't declared.
-
- * configure.ac: Add declaration test for snprintf.
- * configure: Regenerated.
- * src/include/lib.h: Handle `NEED_DECLARATION_SNPRINTF'.
- * src/include/config.hin: Regenerated.
-
-2003-04-19 Werner LEMBERG <wl@gnu.org>
-
- Add keyword `figname' to pic, specifying the name of the picture
- box in TeX mode. Based on a patch from William J Poser
- <wjposer@unagi.cis.upenn.edu>.
-
- * src/preproc/pic/pic.y: New token `FIGNAME'.
- (macro_name): New rule of type <str>.
- (placeless_element): Handle `FIGNAME'.
- * src/preproc/pic/lex.cpp (lookup_keyword): Add `figname'.
- * src/preproc/pic/main.cpp (graphname): New global variable.
- (do_picture): Initialize `graphname'.
- * src/preproc/pic/pic.h: Updated.
- * src/preproc/pic/tex.cpp (tex_output::start_picture): Use
- `graphname'.
- Simplify TeX code.
- (tex_output::text): Beautify output.
- * src/preproc/pic/object.cpp (object_spec::~object_spec): Deallocate
- `shaded' and `outlined' unconditionally.
- * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Updated.
- Minor improvements.
-
- * PROBLEMS, README.CVS: Mention that bison version 1.875b or
- greater is necessary.
-
-2003-04-17 Hartmut Henkel <hartmut_henkel@gmx.de>
-
- Add option -r to soelim to avoid emission of `.lf' lines.
- Add option -t to produces TeX comment lines instead of `.lf' lines.
-
- * src/preproc/soelim/soelim.cpp: New global variables `raw_flag'
- and `tex_flag'.
- (usage): Updated.
- (main): Handle `-r' and `-t'.
- (set_location): Handle `raw_flag' and `tex_flag'.
- * src/preproc/soelim/soelim.man, NEWS: Updated.
-
-2003-04-17 Werner LEMBERG <wl@gnu.org>
-
- * tmac/hyphenex.sh: Replaced with...
- * tmac/hyphenex.pl: This perl script to avoid sed compatibility
- nightmares.
-
- * aclocal.m4 (GROFF_HTML_PROGRAMS): Emit useful warning message
- if --quiet is used for the configure script.
- * configure: Regenerated.
-
-2003-04-16 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/post-html.cpp (text_glob::text_glob):
- Add `const' to second argument.
- (html_printer::add_table_end): Add `const' to argument.
- * src/devices/grohtml/html-text.cpp (html_text::issue_tag): Add
- `const' to arguments.
- * src/devices/grohtml/html-text.h: Updated.
-
- * src/devices/grolbp/charset.h (symset): Use `unsigned char'.
- * src/devices/grolbp/lbp.h (lbpputc): Use `unsigned char' for
- argument.
-
- * src/devices/grotty/tty.cpp (tty_printer::make_rgb_string): Use
- cast for integer constant.
-
- * src/preproc/html/pre-html.cpp (image_device): Use `const'.
- (writeNbytes): Add `const' to first argument.
- (writeString): Add `const' to argument.
- (char_buffer::can_see): Add `const' to third argument.
- * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Add
- `const' to argument.
- * src/preproc/html/pushback.h: Updated.
-
- * src/preproc/soelim/soelim.cpp (include_list): Add `const'.
- (include_path_append): Add `const' to argument.
- (do_file): Updated.
-
- * src/roff/troff/uniglyph.cpp (unicode_to_glyph_list): Use `const'
- for `value'.
- (unicode_to_glyph_init::unicode_to_glyph_init): Updated.
- * src/roff/troff/uniuni.cpp (unicode_decompose_list): Use `const'
- for `value'.
- (unicode_decompose_init::unicode_decompose_init): Updated.
- * src/roff/troff/glyphuni.cpp (glyph_to_unicode_list): Use `const'
- for `value'.
- (glyph_to_unicode_init::glyph_to_unicode_init): Updated.
- * src/roff/troff/input.cc (process_startup_file): Add `const' to
- argument.
-
- * tmac/hyphenex.sh: Make script more portable by using a here
- document.
-
-2003-04-15 Werner LEMBERG <wl@gnu.org>
-
- Renamed all `*.cc' files to `*.cpp'.
- Updated all configuration files, makefiles, and documentation.
-
-2003-04-14 Werner LEMBERG <wl@gnu.org>
-
- * tmac/hyphenex.sh: Slight improvements.
-
-2003-04-13 Werner LEMBERG <wl@gnu.org>
-
- * font/devascii/R.proto, font/devcp1037/R.proto,
- font/devlatin1/R.proto, font/devutf8/R.proto: Fill up remaining
- character slots with unnamed glyphs.
-
- * tmac/an-old.tmac: Fix hyphenation value if `cR' is active.
- (an-first): New global variable.
- (an-header): Emit vertical space between multiple man pages.
-
-2003-04-11 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo, man/groff_out.man: \S only accepts integer
- values.
-
-2003-04-10 Werner LEMBERG <wl@gnu.org>
-
- * PROBLEMS: Revised.
-
-2003-04-10 Bernd Warken <bwarken@mayn.de>
-
- * doc/webpage.ms: Improved.
-
-2003-04-09 Werner LEMBERG <wl@gnu.org>
-
- Add register \n[.height] which returns the value of \H.
- Add register \n[.slant] which returns the value of \S.
-
- * src/roff/troff/env.cc (init_env_requests): Implement.
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document.
-
-2003-04-08 Werner LEMBERG <wl@gnu.org>
-
- * tmac/html.tmac: Move some of the data into html-end.tmac.
- Remove most of the character translations for eqn since html fonts
- now cover those characters.
- Load www.tmac.
- * tmac/html-end.tmac: New file.
- * tmac/troffrc: Load html.tmac not www.tmac for -Thtml.
- * tmac/troffrc-end: Load html-end.tmac not html.tmac for -Thtml.
- * tmac/Makefile.sub (NORMALFILES): Add html-end.tmac.
-
-2003-04-07 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_out.man: Document negative values of `N' if -Thtml is
- used.
-
-2003-04-06 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.comm (depend.temp): Check location of YTABC.
-
-2003-04-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
-
- * doc/Makefile.in (TROFFBIN): New variable for troff
- binary path.
- (GROFFBIN): New variable for groff binary path.
- (groff_bin_path): Rename to GROFF_BIN_PATH.
- (TROFF): Use TROFFBIN.
- (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
- * doc/Makefile.sub (GROFFBIN): New variable for groff
- binary path.
- (groff_bin_path): Rename to GROFF_BIN_PATH.
- (GROFF): Use GROFFBIN and GROFF_BIN_PATH.
-
- * Makefile.comm (install_dev): Install scripts from DEVSCRIPTS
- with INSTALL_SCRIPT.
- (uninstall_dev): Uninstall scripts from DEVSCRIPTS.
- * Makefile.dev (all): Depend on DEVSCRIPTS.
- (install_dev): Likewise.
- * font/devdvi/Makefile.sub (DEVSCRIPTS): New variable to hold
- scripts.
- * font/devps/Makefile.sub (DEVSCRIPTS): Likewise.
- (DEVGENSCRIPTS): New variable to hold generated scripts.
-
-2003-04-05 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libdriver/input.cc (IntArray::operator[],
- IntArray::get_data): Remove meaningless `const' in return value.
-
- * README.CVS: New file.
-
-2003-04-04 Werner LEMBERG <wl@gnu.org>
-
- Check for stdint.h in C++, not in C.
-
- * aclocal.m4 (GROFF_STDINT_H): New function,
- * configure.ac: Check for stdint.h with GROFF_STDINT_H instead of
- AC_CHECK_HEADERS.
- * configure, src/include/config.hin: Regenerated.
- * src/libs/libgroff/tmpname.cc: Use HAVE_CC_STDINT_H.
-
-
- Fix handling of &nbsp; in grohtml. To do this, troff emits `N'
- with a negative value, representing the width of the unbreakable
- space (only for -Thtml). grohtml then converts this back to
- &nbsp; and uses the value of N as its width.
-
- * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
- unbreakable_space_node::tprint): Emit `N-<width>'.
- * src/include/printer.h (printer::set_numbered_char): Make it
- virtual.
- Make members `font_table' and `nfonts' protected instead of private.
- * src/devices/grohtml/post-html.cc
- (html_printer::set_numbered_char): New member function.
-
-
- * src/libs/libgroff/maxfilename.cc:
- s/HAVE_LIMITS_H/HAVE_CC_LIMITS_H/.
-
- * src/roff/troff/node.cc (unbreakable_space_node::tprint): Don't
- emit word marker.
-
-2003-04-03 Sergey A. Osokin <osa@freebsd.org.ru>
-
- * man/roff.man: Small fixes.
-
-2003-04-03 Werner LEMBERG <wl@gnu.org>
-
- Make groff independent from locale's numeric settings.
-
- * configure.ac: Check for `setlocale'.
- * configure, src/include/config.hin: Regenerated.
-
- * src/include/lib.h: Handle HAVE_SETLOCALE.
-
- * src/devices/grodvi/dvi.cc (main), src/devices/grolj4/lj4.cc
- (main), src/devices/grops/ps.cc (main), src/preproc/grn/main.cc
- (main), src/preproc/pic/main.cc (main): Call `setlocale'.
-
-
- * doc/groff.texinfo: Change dir category to `Typesetting'.
- (Man font macros): Mention that there is no space between arguments
- of .BI and friends.
-
- * src/libs/libdriver/printer.cc, src/devices/grotty/tty.cc
- (*printer::change_color, *printer::change_fill_color): Add missing
- `const'.
-
-2003-04-02 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/html-table.cc (html_table::emit_col,
- html_table::is_gap): Compute table widths after converting border
- positions to avoid rounding errors.
-
-2003-04-01 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/html-text.cc (html_text::do_space): Handle
- `space_emitted' properly.
-
-2003-03-31 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/html-table.cc: Fix column width calculation.
- (html_table::set_linelength): Don't add 1.
- (html_table::add_indent): Don't subtract 1.
-
- * tmac/html.tmac: Set default page offset to zero.
-
-2003-03-30 Werner LEMBERG <wl@gnu.org>
-
- Make groff emit `&nbsp;' for `\ ' and `\~' if `-Thtml' is used.
-
- * src/roff/troff/node.cc (space_char_hmotion_node::tprint,
- unbreakable_space_node::tprint): New functions.
- (troff_output_file): Make space_char_hmotion_mode::tprint and
- unbreakable_space_node::tprint to friends.
- * src/roff/troff/node.h: Updated.
-
- * font/devhtml/R.proto: Add `&nbsp' at position 0xA0 (as defined
- in the HTML standard).
-
-2003-03-29 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/env.cc (point_size): Fix emission of html tag.
- Otherwise, the following code
-
- .di xxx
- .ps 10
- a
- .br
- .di
- x\*[xxx]
-
- produces `x a' instead of `xa'. This is a temporary fix, disabling
- font changes in diversions for -Thtml.
-
- * tmac/an-old.tmac (TH, SH): Use `HTML-TAG-NS' instead of
- `HTML-TAG'.
- (an-do-tag-html): Merge with ...
- (an-do-tag): This macro.
- Change code slightly to circumvent grohtml bug.
- * tmac/troffrc-end: Define dummy for HTML-TAG-NS.
-
- * src/devices/grohtml/html-table.cc (html_table::emit_col,
- html_table::is_gap): Round `width' properly.
-
- * tmac/html.tmac: Provide some default layout parameters for
- grohtml.
-
- * font/devhtml/DESC.proto: Don't use discrete values for `sizes'
- command.
-
-2003-03-28 Werner LEMBERG <wl@gnu.org>
-
- src/devices/grops/ps.cc (ps_printer::do_import): Fix error message.
-
-2003-03-27 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (BT): Don't call .tl if register `ps4html' is
- defined.
-
-2003-03-20 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/env.cc (vertical_spacing): Allow zero value for
- `.vs'.
- * doc/groff.texinfo: Updated.
-
-2003-03-19 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (process_input_stack) <TOKEN_BEGIN_TRAP,
- TOKEN_END_TRAP>: Reset `have_input'.
-
-2003-03-18 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/groff.man: Mention groff_trace man page.
-
-2003-03-16 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (LIBEXT): New variable to indicate the file extension
- of library files. Computed heuristically from $(OBJEXT).
- (MDEFINES): Add $(LIBEXT).
- * Makefile.lib, Makefile.comm: Use it.
-
- * src/utils/pfbtops/pfbtops.c (get_text): New function. Split
- overlong lines into smaller chunks.
- (get_binary): New function.
- (main): Use them.
- * src/utils/pfbtops/pfbtops.man: Updated.
-
-2003-03-15 Colin Watson <cjwatson@debian.org>
-
- * src/roff/groff/groff.man: Minor syntax fix.
-
-2003-03-14 Egil Kvaleberg <egil@kvaleberg.no>
-
- * src/devices/grops/ps.cc (ps_printer::media_set,
- ps_printer::~ps_printer): Handle zero paper width and length.
-
-2003-03-13 Werner LEMBERG <wl@gnu.org>
-
- Add options -p and -l to grodvi.
-
- * src/devices/grodvi/dvi.cc: Include paper.h.
- (landscape_flag, user_paper_length, user_paper_width): New global
- variables.
- (dvi_printer::begin_page): Emit `papersize' special.
- Set color after initialization of `cur_h' and `cur_v'.
- (main): Add options `-l' and `-p'.
- * font/devdvi/Makefile.sub (DESC): Set `papersize'.
- * src/devices/grodvi/grodvi.man, NEWS: Updated.
-
- * src/devices/grops/psrm.cc (valid_input_table): Fixed.
-
-2003-03-12 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/grops.man: Move documentation of .PSPIC to...
- * man/groff_tmac.man: This man page.
- * man/groff_font.man: Declare `paperwidth' and `paperlength' as
- deprecated.
-
- * tmac/X.tmac: Don't load pspic.tmac.
-
-2003-03-11 Werner LEMBERG <wl@gnu.org>
-
- Make variable `pr' local to libdriver/input.cc. Based on a patch
- by Bernd Warken <bwarken@mayn.de>.
-
- * src/include/driver.h (pr): Removed.
-
- * src/libs/libdriver/input.cc (pr): New global variable.
- (do_file): Deallocate `pr'.
- * src/libs/libdriver/printer.cc (pr): Removed.
-
- * src/devices/grodvi/dvi.cc (main), src/devices/grohtml/post-html.cc
- (main), src/devices/grolbp/lbp.cc (main), src/devices/grolj4/lj4.cc
- (main), src/devices/grops/ps.cc (main), src/devices/grotty/tty.cc
- (main): Don't delete `pr'.
-
-2003-03-10 Werner LEMBERG <wl@gnu.org>
-
- * tmac/a4.tmac, tmac/composite.tmac: Use `.do'.
- * tmac/papersize.tmac: New file.
- * tmac/troffrc: Include `papersize.tmac'.
- * tmac/Makefile.sub (NORMALFILES): Add `papersize.tmac'.
- * tmac/an-old.tmac: Set LT to LL by default.
-
- * NEWS, MANIFEST, tmac/groff_man.man, man/groff_tmac.man,
- doc/groff.texinfo: Updated.
-
- * src/libs/libgroff/paper.cc (add_iso_paper): Fix very embarassing
- bug which caused all odd iso papers to have wrong dimensions.
-
- * src/devices/grops/ps.cc (user_paper_width): New global variable.
- (main) <'p'>: Set `user_paper_width' also.
- (ps_printer::media_width, ps_printer::media_height): Use values
- given with option `-p'.
-
-2003-03-09 Werner LEMBERG <wl@gnu.org>
-
- * src/include/nonposix.h: Provide default for SET_BINARY.
-
- * src/devices/grodvi/dvi.cc, src/devices/grolbp/lbp.cc,
- src/devices/grolj4/lj4.cc, src/devices/grops/ps.cc: Call SET_BINARY
- unconditionally.
-
- * src/utils/pfbtops/pfbtops.c: Call SET_BINARY unconditionally.
- (main): Treat \r\n as \n.
-
-2003-03-08 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac: Use register `HY' to control hyphenation.
- * NEWS, tmac/groff_man.man, doc/groff.texinfo: Document it.
-
-2003-03-07 Werner LEMBERG <wl@gnu.org>
-
- Added support to access more than 256 glyphs in Type 1 fonts.
-
- * src/devices/grops/ps.cc (subencoding): New structure.
- (style): Add `sub' field.
- Updated all users.
- (ps_printer): Add `subencodings' and `next_subencoding_index' fields.
- Add `set_subencoding', `get_subfont' and `encode_subfont' member
- functions.
- Updated all users.
- (ps_printer::set_char): Use `set_subencoding'.
- (make_subencoding_name): New function.
- (ps_printer::set_style): Handle case where `sty.sub' is not zero.
- (ps_printer::~ps_printer): Emit subencoding definitions.
-
- * src/devices/grops/psrm.cc (valid_input_table): New array to
- properly support EBCDIC.
- (white_space): Add `\f'.
- (ps_get_line): Change first argument to be of type `string &'.
- Updated all callers.
- This allows to get lines of arbitrary length.
- Use `valid_input_table'.
- Remove warning about non-conforming PS line length. This seems
- not to be of great importance -- for example, dvips don't emit
- a warning either.
- (PS_LINE_MAX): Removed.
- (matches_comment): Change first argument to be of type `string &'.
-
- * src/devices/grops/grops.man, src/devices/grops/TODO: Updated.
-
- * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
- %AGL_to_unicode, %default_ligatures): New hash tables.
- Read all map entries.
- Add unencoded characters.
- Check for default ligatures if there are no `L' entries.
- Print all kern entries.
- Print all characters in charset.
- * src/utils/afmtodit/afmtodit.man: Updated.
-
- * font/devps/*: Regerated all fonts.
-
- * tmac/latin[129].tmac, tmac/cp1047.tmac: Don't test for existence
- of characters, just use `.trin'. Otherwise the mapping depends
- on the font encoding.
- * tmac/ps.tmac: Add `fi' and `fl'.
- Improve `Fi' and `Fl'.
- * tmac/X.tmac, tmac/lbp.tmac, tmac/tty.tmac: Improve `Fi' and `Fl'.
- * tmac/Xps.tmac: Fix `em'.
-
- * NEWS: Updated.
-
-2003-03-04 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (charinfo_to_node_list): Reset
- `have_input'.
-
-2003-03-03 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.sub (DISTCLEANFILES): Add gxditview._man.
-
- * font/devps/generate/textmap: Remove entry `similarequal'.
- * font/devps/symbolmap: Updated.
-
-2003-03-02 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/font.cc (font::load): Fix error message for
- bad character type.
-
- * src/devices/grops/grops.man: Improve documentation of the -b
- flag.
-
- * tmac/tty.tmac: Load latin1.tmac for all TTY devices except
- `ascii' and `cp1047'.
-
-2003-03-01 Werner LEMBERG <wl@gnu.org>
-
- Document composite glyphs and the `composite' request.
-
- * man/groff.man, man/groff_diff.man, doc/groff.texinfo: Do it.
-
-2003-02-28 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate/ec.map: Add some more Unicode entities.
- * font/devdvi/*EC: Updated.
-
- * tmac/composite.tmac, tmac/latin2.tmac, tmac/latin9.tmac: New files.
- * tmac/latin1 (latin1-tr): Undo any previous mapping.
- * tmac/troffrc: Load `composite.tmac'.
- * tmac/Makefile.sub (NORMALFILES): Updated.
-
- * doc/groff.texinfo (Input Encodings): New section.
- * NEWS: Updated.
-
-2003-02-27 Werner LEMBERG <wl@gnu.org>
-
- * doc/texinfo.tex: New version 2003-02-11.06.
-
- * tmac/doc-common (Dt): Don't emit warning for unknown section.
- * tmac/groff_mdoc.man: Fix description of `Dt'.
-
-2003-02-26 Egil Kvaleberg <egil@kvaleberg.no>
-
- * font/devps/prologue.ps: Fix for included Postscript that does
- a setpagedevice -- which is now safely ignored.
-
- * NEWS: Updated.
-
- * src/devices/grops/ps.cc: Now sets the page size in the generated
- document. This is done in two ways: Via a %%-comment for gv and
- the like, and via a PageSize and setpagedevice for programs that
- understands Postscript proper, like ps2pdf.
-
- * src/devices/grops/ps.h: New broken-flag to avoid page size
- definition, if required.
-
- * src/devices/grops/grops.man: New broken-flag 16 mentioned.
-
- * doc/Makefile.in: Added -nosetpage flag (via @pnmtops_nosetpage@).
- Not really necessary due to the fix in prologue.ps, but cleaner:
- Such information does not belong in an .eps file.
-
- * doc/Makefile.sub: See doc/Makefile.in.
-
-2003-02-26 Ralph Corderoy <ralph@inputplus.co.uk>
-
- * aclocal.m4 (GROFF_PNMTOPS_NOSETPAGE): Use P2 format for testing
- instead of P1 since the latter is broken in some versions of netpbm.
- * configure: Updated.
-
-2003-02-26 Larry Kollar <kollar@alltel.net>
-
- Make man pages more customizable.
-
- * tmac/an-old.tmac (FT): New register holding footer distance from
- bottom.
- (HF): New string holding the default heading font.
- (TH): Handle registers `IN' and `SN' set on the command line.
- Use `FT'.
- (PT, BT): New strings to customize header and footer lines.
- (an-header, an-footer): Use them.
- (SH, SS): Use `HF'.
- * tmac/groff_man.man: Document changes.
-
- * doc/groff.texinfo: Document man changes.
- Document Ultrix extensions of man.
-
-2003-02-26 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (do_width, do_if_request): Reset
- `have_input' after changing back to old environment.
-
- * src/devices/grolbp/lbp.cc (lbp_printer::set_line_thickness): Move
- function up to be defined before first call. This is necessary to
- avoid a compilation problem with Sun's WorkShop 6 C++ compiler.
-
- * src/utils/afmtodit/afmtodit.pl: Make script search for files in
- the default font directory also. Based on a patch from James
- J. Ramsey <jjramsey_6x9eq42@yahoo.com>.
- * src/utils/afmtodit/Makefile.sub (afmtodit): Handle @FONTDIR@.
- * src/utils/afmtodit/afmtodit.man: Document it.
-
- * NEWS: Updated.
-
- * tmac/groff_man.man, doc/groff.texinfo: Many minor fixes.
-
-2003-02-25 Gaius Mulley <gaius@glam.ac.uk>
-
- * aclocal.m4 (GROFF_HTML_PROGRAMS): Add test for pnmtops.
- (GROFF_PNMTOPS_NOSETPAGE): New macro.
- * configure.ac: Use it.
- * configure: Regenerated.
- * Makefile.in: Updated.
-
- * tmac/Makefile.sub (NORMALFILES): Remove www.tmac.
- (CLEANADD): Add www.tmac-sed.
- (pnmtops_nosetpage): Define default.
- (install_data): Handle www.tmac-sed and substitute
- @PNMTOPS_NOSETPAGE@.
- (stamp-sed): Add www.tmac.
- * tmac/www.tmac: Rewritten, based on a patch by Bernd Warken.
- It now breaks URLs at suitable places.
- (www:substring_ok): New register set by...
- (www:@test_substring): New macro.
- (www:error): New alias to www-error.
- (www:lenstr, www:splitstr, www:url_breaks, www:url_breaks_splitted):
- New macros.
- (URL): Use www:url_breaks.
- (PIMG, MPIMG): Use @PNMTOPS_NOSETPAGE@.
- (CDS, CDE): New macros.
-
-2003-02-25 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cc (ps_printer::define_encoding): Avoid
- buffer overflow.
-
-2003-02-24 Werner LEMBERG <wl@gnu.org>
-
- Contrary to the PCL5 Developer's Guide, the ascenders in TFM files
- can be negative also.
-
- * src/utils/hpftodit/hpftodit.cc (char_info): `ascent' must be
- `int16'.
- (read_char_table): Avoid negative ascenders.
- (output_charset): Add cast.
- * font/devlj4/*: Regenerated.
-
- Replace unnamed glyphs for DVI fonts with `uXXXX' glyph names where
- possible.
-
- * font/devdvi/generate/{tc,texttt,ec,texmi,texsy,textex}.map: Do it.
- * font/devdvi/generate/textex.map: Map glyph 23 to `u21C6' instead
- of `<>'.
- * font/devdvi/*: Regenerated.
-
- Map `la' and `ra' to U+27E8 and U+27E9. These two characters have
- normal width, while the previously used characters (U+2329 and
- U+232A) are classified as wide due to canonical equivalence with the
- CJK punctuation characters U+3008 and U+3009.
-
- * font/devutf8/R.proto: Updated.
- * src/roff/troff/uniglyph.cc, src/roff/troff/glyphuni.cc: Ditto.
-
- * man/groff_char.man: Simplify handling of table traps by
- introducing `start block' and `end block' macros.
- (Ns, Ne, 2s, 2e, Ds, De): New macros.
- (DL): Make it work with Unix troff also.
- Fix code values of `la' and `ra'.
-
- * tmac/dvi.tmac: Define `<>' for CW and CWI.
-
-2003-02-23 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cc (element_list::~element_list):
- New destructor, fixing a major memory leak.
-
-2003-02-22 Werner LEMBERG <wl@gnu.org>
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Flip `*f' and `+f'
- to be in conformance with Unicode 3.0 and newer.
-
- * font/devlj4/generate/text.map: Add `Eu'.
- * font/devlj4/generate/special.map: Flip `*e' and `+e'.
- * font/devlj4/S: Regenerated.
-
- * man/groff_char.man: Completely rewritten.
-
- * doc/groff.texinfo: Fix description of request and macro arguments.
-
-2003-02-20 Gaius Mulley <gaius@glam.ac.uk>
-
- Valgrind fixes.
-
- * src/devices/grohtml/html-table.cc (html_table::~html_table):
- Deallocate `columns' list.
- * src/devices/grohtml/post-html.cc (char_block::~char_block):
- New destructor.
- (text_glob::text_glob_html, text_glob::text_glob_special,
- text_glob::text_glob_line, text_glob::text_glob_auto_image,
- text_glob::text_glob_tag): Avoid memory leaks.
- (text_glob::remember_table): Free memory before reassigning.
-
-2003-02-19 Werner LEMBERG <wl@gnu.org>
-
- Add glyph `+e', greek lunate epsilon symbol, and `-h' (with the
- alias `hbar'), the Planck constant over two pi.
-
- * font/devdvi/generate/texmi.map: Use `*e' for position 15 and
- `+e' for position 34.
- * font/devdvi/generate/texsy.map: Replace `DI' and `HE' with
- `u2662' and `u2661'.
- * font/devdvi/{MI,S}: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `+e', `-h', `hbar'.
- * font/devlbp/*: Add `hbar' alias.
- * font/devlj4/generate/special.map: Ditto.
- * font/devlj4/S: Regenerated.
- * font/devps/generate/symbolchars: Add `+e'.
- * font/devps/generate/textmap: Fix PS name for `-h'.
- Add `hbar' alias.
- * font/devps/symbolmap: Regenerated.
-
- * src/devices/grops/ps.cc (transform_fill): Removed since unused.
-
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `+e',
- `-h', `hbar'.
- * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `+e',
- `-h'.
-
- * tmac/X.tmac, tmac/ps.tmac: Provide definitions for `-h' and
- `hbar'.
- * tmac/tty-char.tmac: Add `+e'.
-
-2003-02-17 Werner LEMBERG <wl@gnu.org>
-
- Another round trying to really fix problems with `have_input'.
-
- * src/roff/troff/input.cc (input_stack::get): Handle `have_input'.
- (token::next) <'\n'>, <\'\n'>: Don't handle `have_input'.
-
- * src/devices/grotty/tty.cc (tty_printer::put_color): Fix color
- handling if both foreground and background colors are default.
-
- * doc/groff.texinfo (Debugging): Document .lf differences to
- AT&T troff.
-
-2003-02-16 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grotty/tty.cc (tty_printer::make_rgb_string): Avoid
- null-bytes in created string.
-
- * src/roff/troff/input.cc (lookup_color, interpolate_macro,
- alias_macro, lookup_request): Improve warning messages.
-
- * src/roff/troff/node.cc (suppress_node::tprint): Use `strsave',
- not `strdup'.
- Free `last_image_filename'.
-
- * src/preproc/html/pre-html.cc (char_block::char_block): Initialize
- `buffer'.
- (imageList::createPage, imageList::createImage): Use `free', not
- `a_delete'.
- (imageItem::~imageItem): Free `imageName'.
- (addRegDef): Use `strsave', not `strdup'.
- (get_resolution): Free `pathp'.
-
-2003-02-15 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grotty/tty.cc (tty_printer::tty_printer): Fix pointer
- to `dummy'.
-
-2003-02-14 Werner LEMBERG <wl@gnu.org>
-
- Add memory management for colors to deallocate unnamed colors
- properly.
-
- * src/include/color.h (color): New members `free_list' and `next'.
- New member functions `new' and `delete'.
- Add destructor.
- * src/libs/libgroff/color.cc: Implement it.
-
- * src/libs/libgroff/font.cc (font::add_kern): Use integer cast
- for array size of new operator.
-
- * src/libs/libdriver/input.cc (IntArray::operator[]): Remove
- redundant comparison.
-
- * src/roff/troff/input.cc (word_space_node::reread,
- hmotion_node::reread): Avoid warning about unused parameter.
- (reset_output_registers): Remove redundant parameter.
- (define_color): Undo change 2003-02-12.
-
- * src/roff/troff/reg.h: Updated.
-
- * src/roff/troff/node.cc (troff_output_file::really_print_line,
- output_file::put_filename, real_output_file::really_put_filename,
- ascii_output_file::really_print_line,
- break_char_node::get_hyphen_list): Avoid warning about unused
- parameter.
- (suppress_node::tprint): Updated.
-
- * configure.ac: Check declaration for rand() and srand().
- * configure: Regenerated.
-
- * src/preproc/pic/pic.h: Declare fmod(), rand(), and srand()
- conditionally.
- * src/preproc/pic/pic.y: Remove declaration of fmod(), rand(),
- and srand().
-
- * src/preproc/eqn/delim.cc (delim_table): Add missing initializers
- to avoid compiler warnings.
-
- * src/preproc/grn/hgraph.cc (HGPrintElt): Second parameter is
- unused.
-
- * src/devices/grops/ps.cc (ps_printer::set_char): Last parameter
- is unused.
- * src/devices/grops/psrm.cc (skip_possible_newline): Remove first
- (unused) parameter.
- Updated all callers.
-
- * src/devices/grotty/tty.cc (tty_printer::set_char): Last parameter
- is unused.
- * src/devices/grodvi/dvi.cc (dvi_printer::set_char): Ditto.
- * src/devices/grolj4/lj4.cc (lj4_printer::set_char): Ditto.
-
- * src/devices/grohtml/post-html.cc (html_printer::emit_line):
- Parameter is unused.
- (html_printer::add_table_end): Define parameter conditionally.
- * src/devices/grohtml/output.cc (simple_output::special): Parameter
- is unused.
-
- * src/devices/grolbp/lbp.cc: Define _GNU_SOURCE conditionally.
- (lbp_printer::set_char): Last parameter is unused.
-
- * src/utils/indxbib/indxbib.cc (main): Remove redundant comparison.
-
-2003-02-13 Werner LEMBERG <wl@gnu.org>
-
- New commands \D'Fr ...', \D'Fc ...', etc. for orthogonality.
- Make \D'f ...' move horizontally again for backwards compatibility.
- Replace it with \D'Fg ...' where appropriate to avoid dependency
- on horizontal resolution.
-
- * src/roff/troff/input.cc (do_get_long_name): New function.
- (get_long_name): Call it.
-
- (read_draw_node): Handle `\D'Fx ...' by calling ...
- (read_color_draw_node): New function.
-
- (read_rgb, read_cmy, read_cmyk, read_gray): New optional argument
- `end'.
- Pass it to `do_get_long_name' which is used instead of
- `get_long_name'.
-
- * src/libs/libdriver/input.cc (color_from_Df_command): Remove
- unnecessary value guard.
- (parse_D_command) <'f'>: Add horizontal shift.
-
- * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Use \D'Fg ...'.
- * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
- (FILL_MAX): Removed.
-
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Updated.
-
-2003-02-12 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cc (do_name_test, do_expr_test,
- do_zero_width): Push `\n' if closing delimiter is missing.
-
- (token::next) <ESCAPE_NEWLINE>, <'\n'>, <\'\n'>: Reset `have_input'.
- <'F'>: Make \F non-transparent at the beginning of line.
- (process_input_stack) <token::TOKEN_CHAR, token::TOKEN_NEWLINE,
- token::TOKEN_REQUEST, token::TOKEN_BEGIN_TRAP>: Don't handle
- `have_input'.
-
- (define_color): Free color in case of reassignment.
-
- * doc/groff.texinfo (@Defesc, @DefescList, @DefescItem,
- @DefescListEnd): Use @Var, not @var.
- Fix all calls.
-
- * src/preproc/grn/hgraph.cc (HGPrintElt): Fix typo.
-
- * src/preproc/pic/object.cc (object_spec::~object_spec): Free
- `shaded' and `outlined' arrays.
- (object_spec::object_spec): Initialize `shaded' and `outlined'.
- (graphic_object::set_fill_color, graphic_object::set_outline_color):
- Use strsave.
- (closed_object::set_fill_color): Ditto.
- * src/preproc/pic/troff.cc (troff_output::set_color): Use strsave
- instead of strdup.
- (troff_output::reset_color): Use a_delete instead of free.
- * src/preproc/pic/main.cc (do_file): Free `out' in case of error.
-
-2003-02-11 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Improve documentation of `ad'.
- Document that \D'f...' is dependent on the horizontal resolution.
- * man/groff_diff.man: Improve documentation of \D'f...'.
-
- * src/preproc/grn/hgraph.cc (HGPrintElt) <POLYGON>: Don't emit
- compensating \h'...' for \D'f ...' since the latter no longer moves
- current position.
- * src/preproc/pic/troff.cc (troff_output::set_fill): Ditto.
-
-2003-02-10 Werner LEMBERG <wl@gnu.org>
-
- Improve error messages for `x F' (and `F') commands.
-
- * src/include/error.h: Add declaration for
- `current_source_filename'.
- * src/libs/libgroff/filename.cc: Add `current_source_filename'.
- * src/libs/libgroff/error.cc (do_error_with_file_and_line): Add
- parameter for source file string.
- Updated all callers.
-
- * src/libs/libdriver/input.cc: Add `current_source_filename'.
- (remember_source_filename): New function.
- (parse_x_command <'F'>, do_file <'F'>): Use it.
-
-2003-02-09 Werner LEMBERG <wl@gnu.org>
-
- Make grotty not emit warnings about unknown colors more than
- necessary.
-
- * src/devices/grotty/tty.cc: Include `ptable.h'.
- (TTY_MAX_COLORS): Removed.
- (DEFAULT_COLOR_IDX): Defined to -1.
- (glyph): Change `back_color_idx' and `fore_color_idx' to `char'.
- (tty_printer): Change `curr_back_idx' and `curr_fore_idx' to `char'.
- Change `tty_colors' to be a ptable.
- First arg of `put_color' is now `char'.
- New functions `make_rgb_string' and `tty_color'.
- (tty_printer::tty_printer): Use `tty_color'.
- (tty_printer::color_to_idx): Return value is now `char'.
- Use `tty_color'.
-
- * src/include/color.h (color): Add `print_color' member function.
- * src/libs/libgroff/color.cc (color::print_color): Implement it.
-
-2003-02-08 Werner LEMBERG <wl@gnu.org>
-
- Valgrind fixes.
-
- * src/devices/grops/ps.cc (ps_printer::define_encoding): Close
- encoding file.
-
- * src/include/ptable.h (PTABLE::~PTABLE, PTABLE::define): Always
- assume that value has been allocated with `new[]', thus use
- `a_delete' for deallocation.
-
- * src/libs/libdriver/input.cc (get_integer_arg,
- get_possibly_int_args, parse_x_command, do_file): Use `a_delete'
- where appropriate.
-
- * src/libs/libgroff/new.cc (delete) [!COOKIE_BUG]: Define.
- * src/libs/libgroff/nametoindex.cc
- (character_indexer::named_char_index): Use `new <type>[1]'.
-
- * src/preproc/eqn/lex.cc (init_table, do_definition): Use `new
- <type>[1]'.
- * src/preproc/eqn/text.cc (set_special_char_type): Ditto.
- (split_text): Use `a_delete'.
-
- * src/preproc/pic/pic.y (define_label, define_variable): Use `new
- <type>[1]'.
-
- * src/roff/troff/env.cc (environment::choose_breakpoint): Avoid
- harmless memory leak.
- (hyphen_trie::read_patterns_file): Initialize `buf'.
- * src/roff/troff/node.cc (troff_output_file::troff_output_file):
- Initialize `current_fill_color'and `current_glyph_color'.
- * src/roff/troff/glyphuni.cc
- (glyph_to_unicode_init::glyph_to_unicode_init): Use `new <type>[1]'.
- * src/roff/troff/uniuni.cc
- (unicode_decompose_init::unicode_decompose_init): Ditto.
- * src/roff/troff/uniglyph.cc
- (unicode_to_glyph_init::unicode_to_glyph_init): Ditto.
-
-2003-01-26 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Check with
- `access' before calling `unlink'.
- (do_file): Handle __EMX__.
-
- * src/include/nonposix.h: Handle __EMX__.
-
- * Makefile.in (SEP): New variable; set to @PATH_SEPARATOR@.
- (fontpath,tmacpath): Use it.
- (MDEFINES): Add it.
- Sorted alphabetically.
-
- * src/preproc/eqn/neqn.sh, src/roff/nroff/nroff.sh: Use
- @SEP@.
- * src/preproc/eqn/Makefile.sub, src/roff/nroff/Makefile.sub: Handle
- @SEP@.
-
-2003-01-27 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/strcasecmp.c, src/libs/libgroff/strncasecmp.c:
- New files, copied from gnulib.
- * src/libs/libgroff/Makefile.sub (CSRCS): Add them.
- * configure.ac: Updated.
- * configure: Regenerated.
-
- * src/include/config.hin: Regenerated.
- * src/include/lib.h [!HAVE_STRCASECMP]: Declare `strcasecmp'.
- Don't define `strcasecmp' as `strcmp'.
- [!HAVE_STRNCASECMP]: Declare `strncasecmp'.
- Dont define `strncasecmp' as `strncmp'.
-
- * src/roff/groff/pipeline.c [!HAVE_STRCASECMP, !HAVE_STRNCASECMP]:
- Removed.
-
-2003-01-26 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/indxbib/indxbib.cc (main) [__EMX__]: Fix typo:
- s/unline/unlink/.
-
-2003-01-25 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Ligatures and Kerning): Mention limitations.
-
-2003-01-24 Werner LEMBERG <wl@gnu.org>
-
- Add US-english hyphenation exceptions (converted from Barbara
- Beeton's hyphenation exception log reports which appear irregularly
- in TUGBoat).
-
- * tmac/hyphen.us: Updated to latest version.
- * tmac/README: Updated.
- * tmac/hyphenex.us, tmac/hyphenex.sh: New files.
- * tmac/troffrc: Load `hyphenex.us'.
- * tmac/Makefile.sub (NORMALFILES): Add `hyphenex.us'.
- * doc/groff.texinfo: Updated.
-
-2003-01-23 Werner LEMBERG <wl@gnu.org>
-
- Improve hyphenation slightly. This is a first step in redesigning
- the hyphenation algorithm to make it more flexible (e.g. allowing
- kerns and ligatures between the hyphenation character and the
- following character -- while not used normally in English, other
- languages like German would benefit).
-
- * src/roff/troff/env.cc (environment::hyphenate_line): Use
- assertion instead of if-clause.
- Let `get_hyphen_list' return the number of involved characters in
- the hyphenation pattern instead of computing it directly (which
- often yields too small values).
- * src/roff/troff/node.h (*::get_hyphen_list): Add second parameter.
- * src/roff/troff/node.cc (*::get_hyphen_list): Handle new second
- parameter.
-
-2003-01-22 Werner LEMBERG <wl@gnu.org>
-
- Fixing a bug which caused groff to hang if the hyphenation exception
- dictionary tried to grow.
-
- * src/roff/troff/env.cc (hyphen_trie::insert_hyphenation,
- hyphen_trie::read_patterns_file, do_hyphenation_patterns_file): Use
- pointer to dictionary.
-
-2003-01-20 Werner LEMBERG <wl@gnu.org>
-
- * src/utils/afmtodit/afmtodit.pl: Add switch `-m' to suppress
- negative left italic correction.
- * src/utils/afmtodit/afmtodit.man: Document it.
-
- * font/devps/generate/Makefile (RFLAG): Add `-m'.
- * font/devps/{AB,AR,BMB,BMR,CB,CR,EURO,HB,HR,HNB,HNR,NB,NR,PB,PR,
- S,TB,TR,ZD,ZDR}: Regenerated with afmtodit options `-i 0 -m'.
-
- * NEWS: Updated.
-
-2003-01-16 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Updated.
-
-2003-01-16 Jörgen Grahn <jgrahn@algonet.se>
-
- * src/preproc/refer/refer.man: Mention REFER environment variable.
-
-2003-01-05 Werner LEMBERG <wl@gnu.org>
-
- Similar to \[is], the square root glyph (\[sr]) and the square root
- extension glyph (\[radicalex]) are now text symbols. The new
- mathematical versions are called \[sqrt] and \[sqrtex],
- respectively.
-
- * font/devX*/S: Regenerated.
- * font/devdvi/generate/texex.map: Rename `sr[0123]' to `sqrt[0123]'.
- * font/devdvi/generate/texsy.map: Rename `sr' to `sqrt'.
- * font/devdvi/EX, font/devdvi/S: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `sqrt'.
- * font/devlj4/generate/special.map: Add `sqrt'.
- * font/devlj4/S: Regenerated.
- * font/devps/generate/textmap: Add `sqrt'.
- * font/devps/S, font/devps/symbolmap: Regenerated.
-
- * src/preproc/eqn/sqrt.cc (SQRT_CHAR, RADICAL_EXTENSION_CHAR,
- SQRT_CHAIN, BAR_CHAIN): Use `sqrt*' and `sqrtex*'.
- * src/roff/troff/input.cc (init_charset_table): Make `sqrtex'
- overlap horizontally.
-
- * tmac/X.tmac, tmac/ps.tmac, tmac/lj4.tmac: Add `sqrtex'.
- * tmac/dvi.tmac: Add `sr', and `sqrtex'.
- Fix `radicalex'.
-
- * doc/groff.texinfo, man/groff_diff.man: Document that `radicalex'
- and `sqrtex' are overlapping glyphs.
-
-2003-01-04 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate/texsy.map: Add `is'.
- * font/devps/symbolmap: Regenerated.
- * font/devdvi/*TC, MI, S: Regenerated.
-
- * tmac/dvi.tmac: Remove `is'.
-
-2003-01-03 Werner LEMBERG <wl@gnu.org>
-
- `is' is now a text symbol (only relevant for dvi). The math variant
- can be accessed with `integral'.
-
- * font/devX*/S: Regenerated.
- * font/devdvi/generate/texex.map: Remove `is'.
- * font/devdvi/EX: Updated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `integral'.
- * font/devlj4/generate/special.map: Ditto.
- * font/devlj4/S: Regenerated.
- * font/devps/generate/textmap: Add `integral'.
- * font/devps/S: Regenerated.
-
- * tmac/dvi.tmac: Define `is'.
-
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `integral'.
-
- * src/preproc/tbl/main.cc (process_format): Fix error message.
-
-2003-01-02 Werner LEMBERG <wl@gnu.org>
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `ne' and `nc'.
- * font/devps/textmap: Fix entries for `ne' and `nc'.
- * font/devps/symbolmap: Regenerated.
-
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list),
- src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `18',
- `38', `58', `78', `-+', `|=', `nc', `ne'.
-
- * tmac/dvi.tmac: Add `nm', `ne', `nc'.
- Use `schar' for `aq'.
- * tmac/ps.tmac, tmac/X.tmac: Add `nc' and `ne'.
- * tmac/ec.tmac: Add `SC' to special fonts for `CW' and `CWI'.
- * tmac/tty.tmac: Add `ne'.
-
- * src/roff/troff/node.cc (make_glyph_node): Test with `get_macro'
- for fallback glyphs.
-
-2002-12-29 Werner LEMBERG <wl@gnu.org>
-
- Add glyph `|='.
-
- * font/devX*/*: Regenerated.
- * font/devdvi/generate/ec.map: Remove `eq'.
- * font/devdvi/generate/texsy.map: Make `~=' the same as `~~'.
- Assign `|=' to position 39.
- * font/devdvi/*EC, S: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `|='.
- * font/devlj4/generate/special.map: Make `~=' the same as `~~'.
- Assign `|=' to position 549.
- * font/devps/generate/textmap, font/devps/enerate/symbolmap: Remove
- `equalmath'.
- Add `uni2243' for `|='.
-
- * tmac/ec.tmac: Add `eq'.
- * tmac/dvi.tmac: Add `=~'.
- * tmac/tty-char.tmac, tmac/ps.tmac, tmac/X.tmac, tmac/lbp.tmac: Add
- `|='.
-
-2002-12-21 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate/tc.map: Remove `**'.
- * font/devdvi/*TC: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `18', `38', `58',
- `78', `<<', `>>'.
- * font/devutf8/NOTES: Updated.
-
- * src/roff/troff/charinfo.h (charinfo): Add `setx_macro' function.
- Don't give default parameter to `set_macro'.
- * src/roff/troff/input.cc (do_define_character): Use `setx_macro'
- instead of `set_macro'.
- (charinfo::setx_macro): Implement it.
- (charinfo::set_macro): Don't change `mode'.
-
- * tmac/tty.tmac: Add `18', `38', `58', `78', `<<', `>>'.
- * tmac/ps.tmac, tmac/X.tmac: Add `<<', `>>'.
- * tmac/dvi.tmac: Define `!=' with `.schar'.
-
-2002-12-20 Werner LEMBERG <wl@gnu.org>
-
- * font/devX*/S: Regenerated.
- * font/devdvi/generate/ec.map: Remove `pl'.
- * font/devdvi/generate/tc.map: Remove `mi', `14', `12', `34'.
- * font/devdvi/*{TC,EC}: Regenerated.
- * font/devhtml/R.proto: Add `-+'.
- Remove double entries for `rk', `lk', `lt', `rt', `rb', `lb'.
- * font/devlbp/*: Remove `or'.
- * font/devlj4/generate/special.map: Remove `or'.
- * font/devlj4/S: Regenerated.
- * font/devps/generate/textmap: Add `fiveeighths', `oneeighth',
- `seveneighths', `threeeighths'.
- Remove `plusmath'.
- Replace `minusplus' with `uni2213'.
- * font/devps/symbolmap: Regenerated.
- * font/devutf8/R.proto: Replace `shc' with unnamed glyph.
- Add `-+'.
-
- * src/roff/troff/charinfo.h (charinfo): Add `is_normal' inline
- function.
- * src/roff/troff/node.cc (troff_output_file::put_char_width):
- Call glyph_color and fill_color even if tcommand_flag isn't set.
- (make_node, node::add_char): Check not ci->is_fallback but
- ci->is_normal.
-
- * tmac/lj4.tmac, tmac/lbp.tmac: Define `or'.
- * tmac/ec.tmac: Add .rchar entry for `f/'.
- Don't remove `12', `14', `34'.
- Define `pl' to be always roman.
- * tmac/ps.tmac (ps-frac, ps-frac-mono): New macros.
- Define `18', `38', `58', `78'.
- * tmac/tty.tmac: Add `-+'.
- * tmac/dvi.tmac: Define `f/'.
- (dvi-frac): Use `f/'.
- * tmac/X.tmac (X-frac, X-frac-mono): New macros.
- Define `18', `38', `58', `78'.
-
-2002-12-15 Colin Watson <cjwatson@debian.org>
-
- * contrib/pic2graph/pic2graph.sh: Add missing `;;'.
-
-2002-12-10 Werner LEMBERG <wl@gnu.org>
-
- Add glyph `tno', a textual variant of `no'.
-
- * font/devX*/*: Regenerated.
- * font/{devcp1047,devlatin1,devutf8,devhtml}/R.proto: Add `tno'.
- * font/devdvi/generate/{tc.map: Replace `no' with `tno'.
- * font/devdvi/generated/{texsy,textex}.map: Add `tno'.
- * font/devdvi/*: Regenerated.
- * font/devlbp/*: Add `tno'.
- * font/devlj4/generate/tex.map: Replace `no' with `tno'.
- * font/devlj4/*: Regenerated.
- * font/devps/generate/textmap: Replace `no' with `tno'.
- * font/devps/generate/symbolchars: Add `no'.
- * font/devps/*: Regenerated.
-
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Add `tno'.
-
- * tmac/cp1047.tmac, tmac/latin1.tmac: Replace `no' with `tno'.
- * tmac/tty-char.tmac: Add entry for `tno' and `3d'.
-
- * NEWS: Updated.
-
- * tmac/dvi.tmac: Replace most `\\' with `\E'.
- Add definition for `sd'.
- * tmac/X.tmac, tmac/ps.tmac: Replace most `\\' with `\E'.
-
- * tmac/eqnrc <dvi>: Use `integral' instead of `is' glyph.
-
-2002-12-08 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (TH): Use integer value for `IN' if in nroff
- mode to avoid rounding errors.
- (an-do-tag, an-do-tag-html, RS, RE): Remove redundant `.br'.
-
- * src/roff/groff/groff.man, src/roff/nroff/nroff.man,
- src/roff/troff/troff.man: Improve documentation of -T.
-
-2002-12-07 Jeff Conrad <jeff_conrad@msn.com>
-
- * src/roff/groff/pipeline.c: Don't define `const' for _WIN32.
- (run_pipeline) [_WIN32]: Provide working function without `fork'.
-
-2002-12-06 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/freeeuro.sfd: Make dimensions of Euro.symbol
- glyphs compatible to Adobe's Euro fonts (scaling them down a bit).
- Scaling Euro.sansserif glyphs down to have the same height as
- digits.
- Removed unnecessary points; added some extrema.
-
- * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
- Regenerated.
-
-2002-12-04 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/freeeuro.sfd: Add glyphs `Euro.symbol.slanted'
- and `Euro.symbol.bold.slanted'.
- Improve some glyph offsets and widths.
- * font/devps/EURO, font/devps/freeeuro.afm, font/devps/freeeuro.pfa:
- Regenerated.
- * font/devps/generate/Makefile (freeeuro.afm freeeuro.pfa): Fix
- typo.
- * font/devps/generate/sfdtopfa.pe: Generate PFA in current
- direcory.
-
- * tmac/europs.tmac: Updated to new glyph indices.
- Use Euro.symbol for font familiy `A'.
-
- * doc/groff.texinfo: Minor improvements.
-
-2002-12-02 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate.tc.map: s/%O/%0/.
- * font/devdvi/*TC: Regenerated.
-
- * src/roff/troff/div.cc (init_div_requests): Sorted.
-
- * tmac/dvi.tmac: Remove `Ye'.
- * tmac/ec.tmac: Remove `Ye'.
- Add .rchar entry for `de'.
-
- * man/groff.man, man/groff_diff.man: Document register `.pe'.
- * doc/groff.texinfo: Document registers `.pe', `.n', and `.w'.
- * NEWS: Updated.
-
-2002-11-30 Werner LEMBERG <wl@gnu.org>
-
- Add PS font for various Euro glyphs.
-
- * font/devps/generate/freeeuro.sfd: New master font file for
- pfaedit.
- * font/devps/generate/sfdtopfa.pe: New conversion script for
- pfaedit.
- * font/devps/generate/Makefile (FONTS): Add `EURO'.
- (EURO, freeeuro.afm, freeeuro.pfa): New rules.
- * font/devps/freeeuro.pfa, font/devps/freeeuro.afm: Generated from
- `freeeuro.sfd'.
- * font/devps/EURO: Generated from `freeeuro.afm'.
- * font/devps/download: Add `freeuro.pfa'.
- * font/devps/Makefile.sub (NORMALFILES): Adde `EURO' and
- `freeeuro.pfa'.
-
- * tmac/europs.tmac: New file.
- * tmac/ps.tmac: Include `europs.tmac'.
- * tmac/Makefile.sub (DISTFILES): Add `europs.tmac'.
-
-2002-11-29 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate/texsy.map: Remove `lh' and `rh'.
- * font/devdvi/S: Regenerated.
- * font/devhtml/R.proto: Fix `CR' and `ci'.
- Add `OK'.
- * font/devps/generate/textmap: Fix `lh', `rh', and `sq'.
- Remove `bs'.
- * font/devps/symbolmap: Regenerated.
- * font/devutf8/R.proto: Fix `CR' and `ci'.
- Add `OK'.
- * font/devutf8/NOTES: Updated.
-
- * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Fix `CR' and
- `ci'.
- Add `OK'.
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
-
- * tmac/dvi.tmac: Add `lh' and `rh'.
- * tmac/Xps.tmac: Fix `lh' and `rh'.
- * tmac/X.tmac: Add `OK'.
- * tmac/lj4.tmac: Ditto.
-
-2002-11-24 Werner LEMBERG <wl@gnu.org>
-
- * font/devX*/S: Regenerated.
- * font/devascii/R.proto, font/devcp1047/R.proto: Remove glyphs `lb',
- `lc', `lf', `lk', `lt', `rb', `rc', `rf', `rk', and `rt'.
- * font/devdvi/generate/texsy.map: Remove `or' glyph.
- * font/devdvi/S: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add/fix glyphs
- `parenlefttp', `parenleftex', `parenleftbt', `parenrighttp',
- `parenrightex', `parenrightbt', `bracketlefttp', `bracketleftex',
- `bracketleftbt', `bracketrighttp', `bracketrightex',
- `bracketrightbt', `bracelefttp', `braceleftmid', `braceleftbt',
- `braceex', `braceleftex', `bracerightex', `bracerighttp',
- `bracerightmid', `bracerightbt', `lt', `lk', `lb', `rt', `rk',
- `rb', and `bv'.
- * src/roff/troff/glyphuni.cc, src/roff/troff/uniglyph.cc: Ditto.
- * font/devutf8/NOTES: Updated.
- * font/devlj4/generate/special.map: Add glyph `braceex'.
- * font/devlj4/S: Regenerated.
-
- * tmac/tty-char.tmac: Add glyphs `lf', `rf', `lc', and `rc'.
-
-2002-11-14 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Add `va'
- and `vA'.
- Fix code for `an'.
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Ditto.
-
- * doc/texinfo.tex: New version from texinfo 4.3.
- * doc/groff.texinfo: Updated for texinfo 4.3.
- Use @tie{} where appropriate.
- * font/devdvi/generate/ec.map: Don't include `or' and `bv'.
- * font/devdvi/generate/tc.map: Remove `rn'.
- * font/devdvi/*TC, font/devdvi/*EC: Regenerated.
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `vA'.
- Fix code for `an'.
- * font/devX100/*, font/devX100-12/*, font/devX75/*,
- font/devX75-12/*: Regenerated.
-
- * tmac/dvi.tmac: Add special fonts `SA' and `SB'.
- Use .char (again) for `br', `ul', `rn', `or', and `ru'.
- Improve definition of `an'.
- * tmac/ps.tmac: Use .char (again) for `br', `ul', `rn', `or', and
- `ru'.
- * tmac/lj4.tmac: Use .char (again) for `br', `ul', `rn', and `ru'.
- * tmac/X.tmac: Add definition for `or'.
- * tmac/Xps.tmac: Undo change 2002-11-05.
- * tmac/lbp.tmac: Add definitions for `br', `rn', `ul', and `ru'.
-
-2002-11-11 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cc (troff_output_file::put_char): Always
- call flush_tbuf.
-
-2002-11-10 Werner LEMBERG <wl@gnu.org>
-
- Added three new requests `schar', `fschar', and `rfschar'. `schar'
- defines a glyph which is searched after the check for fonts declared
- with `.special' (and before the check for all mounted special
- fonts). `fschar' defines a glyph for a particular font which is
- searched after the check for fonts declared with `.fspecial' (and
- before the check for fonts declared with `.special'). `rfschar'
- removes glyphs defined with `fschar'.
-
- * src/roff/troff/token.h (char_mode): New enum.
- Declare do_define_character.
- * src/roff/troff/charinfo.h (charinfo): Replace `fallback' with
- `mode'.
- (charinfo::is_fallback): Updated.
- (charinfo::is_special): New method.
- * src/roff/troff/input.cc (do_define_character): Add and use
- optional second parameter used as a prefix for font-specific glyph
- names.
- (define_character, define_fallback_character): Updated.
- (define_special_character): New function.
- (init_input_requests): Add `schar'.
- (charinfo::charinfo, charinfo::set_macro): Updated.
- * src/roff/troff/node.cc: Include `stringclass.h'.
- (make_glyph_node): Handle special glyphs defined with `.schar' and
- `.fschar'.
- (define_font_special_character, remove_font_special_character): New
- functions.
- (init_node_requests): Sorted.
- Add `fschar' and `rfschar'.
- * NEWS, man/groff_diff.man, man/groff.man, doc/groff.texinfo:
- Document new requests.
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Add `va'.
- * tmac/dvi.tmac: Add `va' for CW and CWI (using `.fschar').
-
-2002-11-08 Werner LEMBERG <wl@gnu.org>
-
- Added new font `SC' (cmtex10) to devdvi.
-
- * devdvi/generate/Makefile (FONTS): Add `SC'.
- (SC): New rule.
- * devdvi/generate/textex.map: New map file for cmtex.
- * devdvi/SC: New.
- * devdvi/Makefile.sub (DEVFILES): Updated.
- * tmac/dvi.tmac: Add fspecial entries for SC.
- Add `MI', `S' and `CW' to the `special' call. Otherwise, `SC' is
- found before `S' since the font position of `SC' is lower due to the
- gaps in DESC's `font' line.
- * tmac/ec.tmac: Add a `special' call.
- * NEWS: Updated.
-
- * font/devhtml/R.proto: Remove double entry for `ti'.
- * tmac/tty.tmac: Add entries for `IJ', `ij', and `bq'.
- * tmac/tty-char.tmac: Remove entry for `bq'.
- * tmac/lbp.tmac: Add entries for `lq', `rq', `fo', `fc', and `em'.
- * tmac/ec.tmac: Don't remove `aq' glyph.
- * tmac/X.tmac: Fix entry for `em'.
- Add entries for `fo' and `fc'.
- * tmac/dvi.tmac: Add entries for `em', `en', `hy', `fo', and `fc'.
-
- * doc/groff.texinfo, man/groff.man, man/groff_diff.man: Fix
- documentation of `special' and `fspecial' requests.
-
-2002-11-05 Werner LEMBERG <wl@gnu.org>
-
- * font/devascii/R.proto, font/devcp1047/R.proto,
- font/devlatin1/R.proto: Remove entry for `.i'.
- * font/devdvi/generate/textt.map: Add entry for `ad'.
- * font/devdvi/generate/texr.map, font/devdvi/generate/texb.map,
- font/devdvi/generate/texi.map: Add dummy glyph name `slash@for@l'.
- We need this for getting kerning values to compose `/l' and `/L'.
- * font/devdvi: Regenerated font definition files for CM fonts.
- * font/devhtml/R.proto: Add entries for "'C", "'c", `IJ', and `ij'.
- * font/devutf8/R.proto: Ditto.
- Remove double entry for `ti'.
-
- * src/roff/troff/glyphuni.cc (glyph_to_unicode_list): Fix entries
- for (groff) ligatures, `la', and `ra'.
- Add "'C", "'c", `IJ', and `ij'.
- Remove double entry for `ti'.
- * src/roff/troff/uniglyph.cc (unicode_to_glyph_list): Remove all
- double entries.
- Add "'C", "'c", `IJ', and `ij'.
- Fix entries for (groff) ligatures, `la', and `ra'.
-
- * tmac/ps.tmac (ps-achar): New macro.
- Define "'c" and "'C".
- * tmac/tty.tmac: Add entry for `.i'.
- * tmac/X.tmac (X-achar): New macro.
- Define "'c", "'C", and `:Y'.
- Add entries for `IJ' and `ij'.
- * tmac/Xps.tmac (Xps-achar): New macro.
- Define "'c" and "'C".
- Add entries for `IJ' and `ij'.
- * tmac/lbp.tmac (lbp-achar): New macro.
- Add fallback characters for all groff ligatures and many other
- glyphs.
- * tmac/dvi.tmac: Fix definitions of `_' and `ul'.
- Add entries for `/l' and `/L'.
- Define "'c" and "'C".
- Add entries for `IJ' and `ij'.
-
-2002-11-02 Larry Kollar <kollar@alltel.net>
-
- * PROBLEMS: Document how to solve Mac OS X compilation problems.
-
-2002-11-02 Werner LEMBERG <wl@gnu.org>
-
- Adding support for composite glyphs: \[xxx yyy ...] and the
- `composite' request.
-
- * src/roff/troff/glyphuni.cc: New file for mapping groff glyph names
- to Unicode-based glyph names.
- * src/roff/troff/uniglyph.cc: New file for mapping Unicode-based
- glyph names to groff glyph names.
- * src/roff/troff/uniuni.cc: New file for canonically decomposing
- Unicode-based glyph names.
- * src/roff/troff/unicode.cc, src/roff/troff/unicode.h: New files
- for handling Unicode glyph names.
- * src/roff/troff/input.cc: Include unicode.h.
- (composite_glyph_name): New function.
- (token::next) <'['>: Handle Unicode glyph names and composite
- glyphs.
- (composite_dictionary): New dictionary for the `composite' request.
- (composite_request): Implement `composite' request.
- (init_input_requests): Add `composite'.
- Alphabetically sorted.
- * src/roff/troff/env.cc (tabs_save, tabs_restore): Removed (already
- commented out).
- (init_env_requests): Alphabetically sorted.
- Removed `tas' and `tar' (already commented out).
- * src/roff/troff/Makefile.sub: Updated.
-
-2002-10-31 Ruslan Ermilov <ru@FreeBSD.org>
-
- * src/roff/nroff/nroff.man, src/roff/nroff/nroff.sh: Fix description
- of options.
-
-2002-10-29 Werner LEMBERG <wl@gnu.org>
-
- Fix computation of .trunc register. Additionally, its value (and
- the value of the .ne register) is now always set before entering the
- trap.
-
- * src/roff/troff/div.cc (diversion::need): Set `truncated_space' and
- `needed_space' before calling `space'.
- (top_level_diversion::space): Remove special code for 'sp before the
- first page.
- Call `begin_page' with the discarded space as a parameter.
- (top_level_diversion::begin_page): Add optional parameter to set
- `truncated_space'.
- * src/roff/troff/div.h: Updated.
-
- * doc/groff.texinfo: Improve documentation of .sp, \n[.trunc], and
- \n[.ne].
-
- * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Undo change 2002-10-26.
- (LP): Remove superfluous call to `br'.
- * tmac/doc-common (doc-paragraph): Undo change 2002-10-26.
- * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
-
-2002-10-26 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-ditroff: Remove useless switch/variable -rC.
- (doc-setup-header): Don't set page register `%'.
- * tmac/doc-nroff: Remove variable `C'.
- (doc-setup-page-layout): Set doc-header-space to .5i unconditionally.
- (doc-setup-header): Don't set page register `%'.
- Don't call `bp'.
- * tmac/doc-common (doc-header): Call `ns'.
- (doc-paragraph): Protect .sp with .br so that it survives traps
- possibly set by the user.
- * tmac/doc.tmac (Bd, Bl, doc-set-vertical-and-indent): Ditto.
-
- * tmac/doc*: Replace ' with . for consistency if no effect.
-
-2002-10-26 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (SH, SS, TP, IP, HP, TS): Protect .sp with .br
- so that it survives traps possibly set by the user.
-
- * src/roff/troff/node.cc: Fix the changes from 2002-10-23.
- (troff_output_file::set_font): Call flush_tbuf if necessary.
- (troff_output_file::fill_color, troff_output_file::glyph_color): Call
- flush_tbuf and do_motion only if necessary.
- (troff_output_file::start_special,
- troff_output_file::put_char_width, troff_output_file::put_char,
- troff_output_file::draw): Updated.
- (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
- vmotion_node::tprint): Undo change 2002-10-23.
-
-2002-10-25 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac (DC): Fix case of overlapping images.
-
-2002-10-23 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cc (troff_output_file::fill_color,
- troff_output_file::glyph_color): Set current color before testing
- color_flag.
- (troff_output_file::put_char_width, troff_output_file::put_char,
- troff_output_file::draw): Don't call flush_tbuf and/or do_motion
- before glyph_color.
- (troff_output_file::file_color, troff_output_file::glyph_color):
- Call do_motion.
- (word_space_node::tprint, space_node::tprint, hmotion_node::tprint,
- vmotion_node::tprint): Move first, then call fill_color.
-
-2002-10-20 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo, man/groff_tmac.man: Document that it is not
- possible to use multiple main macro packages.
-
-2002-10-19 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cc (cmyk_flag): New global variable.
- (ps_printer::set_color): Set `cmyk_flag' for CMY and CMYK colors.
- (ps_printer::~ps_printer): Emit `%%Extensions: CMYK' if `cmyk_flag'
- is set.
- * font/devps/prologue.ps (Fk, Ck): Enclose definitions with a
- `where' construction since `cmyksetcolor' is a PS Level 2 operator.
-
-2002-10-16 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, doc/webpage.ms: Updated.
-
-2002-10-14 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cc (troff_output_file::put_char_width,
- troff_output_file::put_char, troff_output_file::fill_color,
- troff_output_file::glyph_color): Handle case where color pointer
- is null.
-
-2002-10-13 Ruslan Ermilov <ru@FreeBSD.org>
-
- Add the new -r option to grotty. It is similar to the -i option
- except it tells grotty(1) to use the `reverse video' attribute to
- render italic fonts.
-
- * src/devices/grotty/tty.cc (reverse_flag): New global variable.
- (SGR_REVERSE, SGR_NO_REVERSE): New macros.
- (tty_printer::make_underline, tty_printer::put_color,
- tty_printer::end_page): Use it.
- (main): Add -r switch.
- (usage): Updated.
- * src/devices/grotty/grotty.man: Document it.
-
-2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
-
- * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
- cast to `unsigned char' to properly read patterns with 8bit
- characters.
-
-2002-10-08 Werner LEMBERG <wl@gnu.org>
-
- * REVISION: Increased to 2.
-
-Copyright 2002-2005
- Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
-
-Local Variables:
-version-control: never
-coding: latin-1
-End:
diff --git a/ChangeLog.120 b/ChangeLog.120
deleted file mode 100644
index 1c71dd11..00000000
--- a/ChangeLog.120
+++ /dev/null
@@ -1,3050 +0,0 @@
-
-Version 1.20.1 released
-=======================
-
- `gnu.png' isn't needed any more.
-
- * doc/Makefile.in: Don't handle or create `gnu.png'.
- Update all affected targets.
-
- * doc/Makefile.sub: Don't handle or create `gnu.png'.
- Update alll affected targets.
-
-
- `gnu.eps' was missing in the tarball.
- Problem reported by Patrik Gräser.
-
- (PROCESSEDEXAMPLEFILES): Remove `gnu.eps'.
- (MOSTLYCLEANNOTSRCDIRADD): Fix names of info files.
- (install_data): Handle `gnu.eps' specially.
-
- * MORE.STUFF: Mention texi2html's troff backend.
- Mention http://groff.ffii.org/groff/contrib.
-
- * README: Mention `MORE.STUFF'.
-
- * NEWS, doc/webpage.ms, doc/groff.texinfo: Updated.
-
-2009-01-08 Werner LEMBERG <wl@gnu.org>
-
- * */Makefile.* (CLEANADD, CLEANNOTSRCDIRADD, CLEANDIRADD): Renamed
- to...
- (MOSTLYCLEANADD, MOSTLYCLEANNOTSRCDIRADD, MOSTLYCLEANDIRADD): This.
-
-2009-01-06 Werner LEMBERG <wl@gnu.org>
-
- Remove heuristics for LIBEXT.
-
- * configure.ac: Provide LIBEXT.
- * Makefile.in: Use it.
-
- * configure: Regenerated.
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
-Version 1.20 released
-=====================
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
- * */*: Update FDL 1.1 to FDL 1.3.
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
- * */*: Update copyright year.
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
- * MANIFEST: Updated.
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
- * doc/texinfo.tex (\key): Fix excessive whitespace.
- (\texinfoversion): Tag file as patched.
-
-2009-01-05 Werner LEMBERG <wl@gnu.org>
-
- * tmac/s.tmac (@TS, TE, @EQ, @EN), tmac/an-old.tmac (TS, TE, EQ,
- EN), tmac/e.tmac (TS, TE, EQ, EN): Set line length to a large value
- if processed with -Thtml.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac (TS, TE, EQ, EN): Set line length to a large value
- if processed with -Thtml to avoid warning messages (from code
- inserted by tbl, for example).
-
-2009-01-04 Gunnar Florus <http://florus.no>
-
- * */*: Update GPL2 to GPL3.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (dist): Don't use soft links but copy files to
- preserve the file's time stamps.
- * Makefile.sub (configure): Remove `autom4te.cache'.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * tmac/de.tmac: Fix German date strings. Reported by Axel Kielhorn.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * doc/texinfo.tex: Updated from `texinfo' CVS repository.
- * doc/txi-en.tex: New file from `texinfo' CVS repository.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * font/make-Rproto: Moved to...
- * font/util/make-Rproto: Here.
-
- * Makefile.in (NOMAKEDIRS): Add `m4', `font/devps/old', and
- `font/util'.
-
-2009-01-04 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/TODO: Mention local variables.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * contrib/hdtbl/examples/col_rowspan_colors.roff,
- contrib/hdtbl/examples/color_boxes.roff,
- contrib/hdtbl/examples/color_nested_tables.roff,
- contrib/hdtbl/examples/color_table_cells.roff,
- contrib/hdtbl/examples/color_transitions.roff,
- contrib/hdtbl/examples/short_reference.roff: Minor improvements.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * doc/webpage.ms: Updated.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * NEWS, doc/groff.texinfo, font/devps/*, VERSION, REVISION: Prepare
- for version 1.20.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.cpp (table::compute_expand_width,
- table::compute_separation_factor): In warning messages, don't refer
- to pages but to input line numbers.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_ms.man: Improve formatting of tables.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac (www->): Handle XHTML.
- (HTML</p>): Handle non-HTML devices.
- (www:url_check_tag): Avoid warnings.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac, tmac/doc.tmac: For -Tutf8, map \-, -, ', and `
- conservatively to ASCII for the sake of easy cut and paste.
-
-2009-01-03 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Mention hdtbl.
-
-2009-01-02 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_mdoc.man: Update OS version string listing.
-
-2009-01-02 Werner LEMBERG <wl@gnu.org>
-
- * config.rpath, m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4,
- m4/lib-link.m4, m4/lib-prefix.m4, src/include/localcharset.h,
- src/libs/libgroff/config.charset, src/libs/libgroff/localcharset.c,
- src/libs/libgroff/ref-add.sin, src/libs/libgroff/ref-del.sin:
- Updated from `gnulib' git repository.
-
- * configure: Regenerated.
-
-2009-01-02 Werner LEMBERG <wl@gnu.org>
-
- * tmac/ptx.tmac: New file.
-
- * NEWS, man/groff_tmac: man: Document it.
-
-2008-12-30 Werner LEMBERG <wl@gnu.org>
-
- Fix more quoting issues.
-
- * tmac/www.tmac (BCL, BGIMG, PIMG, MPIMG, LNS): For the sake of
- XHTML, quote more arguments.
- (IMG): Fix quoting.
-
-2008-12-30 Werner LEMBERG <wl@gnu.org>
-
- Fix quoting issues in www.tmac.
-
- * tmac/www.tmac (www:url_breaks_splitted): Renamed to...
- (www:url_breaks_split): This.
- (www->): New string to close tag singletons like <img> or <hr>. In
- XHTML mode (not implemented yet), this has to be changed from `>' to
- `/>'.
- (IMG): Don't use </img>
- Use www->.
- (PIMG, MPIMG): Don't use </img>
- Use www->.
- Fix doublequote issues.
- (HR): Don't use </hr>.
- Use www->.
- (LNS): Fix doublequote issues.
-
-2008-12-24 Michail Vidiassov <master@iaas.msu.ru>
-
- * tmac/doc-common: Add entries for Mac OS X and FreeBSD.
-
-2008-12-22 Alexey Gladkov <legion@altlinux.ru>
-
- * contrib/groffer/perl/roff2.pl: Fix syntax error.
-
-2008-12-15 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Mention `preconv'.
-
-2008-11-12 Werner LEMBERG <wl@gnu.org>
-
- Implement `x' specifier for expanded columns. Contrary to old DWB
- tbl, more than a single `x' specifier can be used. At the same
- time, remove most of the code from change 2007-02-09 which collides
- with the new implementation.
-
- * src/preproc/tbl/main.cpp (format): Add `expand' array.
- (format::format, format::~format): Updated.
- (input_entry_format): Add `expand' field.
- (input_entry_format::input_entry_format): Updated.
- (input_entry_format::debug_print): Handle `expand'.
- (process_format): Handle `x' specifier.
- (process_data): Updated.
-
- * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): Remove.
- (EXPAND_REG): New macro.
- (table_entry::divert, block_entry::divert,
- alphabetic_block_entry::divert): Add parameter to control whether
- expanded columns shall be handled.
- (block_entry::do_width): Remove.
- (block_entry::do_divert): Add parameter to control whether expanded
- columns shall be handled.
- Treat expanded columns like columns with a minimum width.
- Remove `experimental' code.
- (table::table, table::~table, table::allocate): Updated.
- (table::set_expand_column): New function.
- (table::count_block_columns): Replace with...
- (table::count_expand_columns): This function.
- (table::divide_span): Handle expanded columns the same as equal
- columns.
- (table::sum_columns): Add parameter to control whether expanded
- columns shall be handled.
- (table::compute_available_block_width): Replace with...
- (table::compute_expand_width): This function.
- (table::compute_total_separation): New function, taking code from
- `compute_separation_factor'.
- (table::compute_separation_factor): Simpler code. The check for the
- `EXPAND' flag has been moved to the caller.
- (table::compute_widths): Add `top-level' changes to handle expanded
- blocks.
-
- * src/preproc/tbl/table.h (table): New field `total_separation'.
- Remove `blockflag' array.
- Add `expand' array.
- Update member function declarations.
-
- * src/preproc/tbl/tbl.man: Document `x' specifier.
- Expand documentation to cover all aspects of Lesk's tbl reference.
-
- * NEWS: Document `x' specifier.
-
-2008-11-08 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Restructuring.
- Improve text block documentation.
-
-2008-11-07 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.cpp (table::compute_widths): Use default
- scaling operator for minimum width. Without this fix, `lw3' (or
- `lw(3)' would be handled as a column with a minimum width of 3u
- instead of 3n.
-
-2008-11-05 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (Dt): Start a new page if necessary and set up
- headers.
-
- * tmac/andoc.tmac (reload-doc): Simplify due to change in
- doc-common.
-
- * NEWS: Document it.
-
-2008-10-18 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/main.cpp (process_format): Rename `x' and `X' to
- `m' and `M', respectively.
- Sort entries in `switch' block.
- * src/preproc/tbl/tbl.man: Updated.
- Sort key entries; other minor improvements.
-
-2008-10-17 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.cpp (table::compute_available_block_width):
- New function.
- (table::compute_widths): Replace some code with new function
- (shifted to a more appropriate place).
- * src/preproc/tbl/table.h: Updated.
-
-2008-10-16 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (doc-operating-system-*), tmac/groff_mdoc.man: Add
- NetBSD 4.0.1.
-
-2008-10-13 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_mdoc.man: Update documentation on BSD-like OS string
- versions.
-
-2008-10-10 Werner LEMBERG <wl@gnu.org>
-
- * man/roff.man, doc/groff.texinfo: Improve the history part. This
- is based on input from Tom Van Vleck <thvv@multicians.org>.
-
-
- * src/preproc/eqn/sqrt.cpp (sqrt_box::compute_metrics): Assure that
- value of `rst' register is not zero, as can happen for the HTML
- output device. Otherwise, there are too many loops, and we get a
- stack overflow because of recursion.
-
-2008-10-05 Stephen Gildea <http://www.gildea.com/stephen/>
-
- * src/preproc/ref/ref.cpp (reference::compute_sort_key): Do
- not insert SORT_SEP before the first field, so that sort_key
- has the same format as before the patch of 2003-08-23.
-
-2008-10-04 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (doc-operating-system-*): Update releases.
-
- * tmac/an-old.tmac (an-extra1, an-extra2, an-extra3): Initialize.
-
- * tmac/andoc.tmac: Rewritten, based on a preliminary version from
- Tadziu Hoffmann. It can now process multiple man pages with both
- man and mdoc formats intermixed.
-
- * NEWS, tmac/groff_man.man, tmac/groff_mdoc.man,
- man/groff_tmac.man: Document it.
-
-2008-10-04 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (do_suppress): Make \O[3], \O[4], and
- \O[5] non-transparent w.r.t. beginning-of-line recognition (similar
- to the other \O variants).
-
- * tmac/www.tmac (TS, TE, EQ, EN): Don't use .als for setting up
- default macros. This causes endless loops (at least for TE).
-
- * doc/groff.texinfo: Improve documentation of `.als'.
-
-2008-10-03 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/grops.man, src/roff/troff/troff.man,
- src/preproc/soelim/soelim.man: Correct documentation of -I switch.
- Reported by Larry Kollar.
- Other minor formatting issues.
-
-2008-10-02 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac: Much improved.
- (trace-full): New register to be set on the command line; it
- controls whether number and string register assignments get traced
- also.
- (!!c): New macro for comments.
- (rm): New traced macro.
- (de, de1, am, am1): Use \\[xxx]\\ calling method to pass \$0 to
- `!!xxx'; this makes doc.tmac completely traceable.
- Trace call of .de and friends also.
-
- * tmac/groff_tmac.man, NEWS: Update.
-
-2008-09-30 Werner LEMBERG <wl@gnu.org>
-
- Restore behaviour of \$0 if a macro is called with string syntax
- (problem caused by change on 2008-09-29).
-
- * src/roff/troff/input.cpp (input_iterator, input_stack,
- macro_iterator): Add `get_macro_name' member function.
- (interpolate_string): Use it.
-
-2008-09-29 Werner LEMBERG <wl@gnu.org>
-
- Make \\*[xxx]\\ within a macro (with `xxx' a macro too) work as
- expected. Without the patch,
-
- .de aaa
- \\*[bbb]\\
- . tm \\$*
- ..
- .de bbb
- . shift
- ..
- .aaa 1 2 3
-
- prints `2 3' instead of `1 2 3'.
-
- * src/roff/troff/input.cpp (input_iterator, input_stack,
- macro_iterator): Add `get_arg_list' member function.
- (macro): Add `is_a_string', `is_string', and `clear_string_flag'
- members.
- Update constructors and operators.
- (arg_list): Add copy constructor.
- (macro_iterator): Add optional argument to constructor to indicate
- whether arguments shall be inherited from calling macro.
- (interpolate_string): If string argument is a macro, push a macro
- iterator on the stack.
- (do_define_macro): Call clear_string_flag if macro data contains a
- newline.
-
- * src/roff/troff/request.h: Updated.
-
-2008-09-29 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * doc/pic.ms: Fold in documentation of pic2plot(1) capabilities.
- Improve the documentation of text objects.
-
-2008-09-28 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * contrib/pic2graph, contrib/pic2graph.man, contrib/eqn2graph,
- contrib/eqn2graph.man: Tweak scripts to cope with incompatible
- changes in ImageMagick crop options. Document the bugs.
-
-2008-09-28 Werner LEMBERG <wl@gnu.org>
-
- If a macro is called as a string, inherit value of \n[.br] from the
- caller. This is useful for `trace.tmac'.
-
- * src/roff/troff/input.cpp (string_iterator): New members
- `with_break' and `get_break_flag'.
- (string_iterator::string_iterator): Updated.
-
- * doc/groff.texinfo: Improve documentation of \$0 and string syntax
- calling of macros.
- Document behaviour of \n[.br] within strings.
-
-2008-09-26 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac: Add copyright message.
- Use `.de1' where possible to make source code more readable.
- (so, mso, als, rn): Restore escape character before executing the
- request.
- (de, de1, am, am1): Trace `.foo' also if called as `\\[foo]'.
-
-2008-09-24 Werner LEMBERG <wl@gnu.org>
-
- Fix incompatibility between `.de1' and `.do'. Without this change,
- the following snippet
-
- .de1 xx
- . tm \\n(.C
- ..
- .cp 1
- .do xx
-
- prints 1 instead of 0.
-
- * src/roff/troff/input.cc (do_request): If a macro gets processed,
- call tok.next().
- (interpolate_macro): Add optional argument. Update callers.
- (request::invoke): Add optional argument.
- (macro::invoke): Add optional argument to delay call of tok.next().
-
- * src/roff/troff/request.h (request_or_macro): Add argument to
- `invoke' member. Update all derived classes.
-
- * doc/groff.texinfo: Improve documentation of .do request.
-
-2008-09-09 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (FT): Initialize properly. Reported by Tadziu
- Hoffmann.
-
-2008-09-06 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (Dd, Os, Dt): Reset `doc-command-name' to make
- `.Nm' work properly if next manual page is printed.
-
-2008-08-20 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Document computation of element widths.
-
-2008-08-20 Alexey Gladkov <legion@altlinux.ru>
- Werner LEMBERG <wl@gnu.org>
-
- Add default encoding option -D to preconv and groff.
-
- * src/preproc/preconv/preconv.cpp (default_encoding): Make it an
- array.
- Update all users.
- (main): Handle new option -D.
- (usage): Updated.
- * src/preproc/preconv/preconv.man: Updated.
-
- * src/roff/groff/groff.cpp (main): Handle new option -D.
- (synopsis, help): Updated.
- * src/roff/groff/groff.man: Updated.
-
-2008-07-26 Werner LEMBERG <wl@gnu.org>
-
- * tmac/eqnrc (.EQ, .EN): Provide default definitions. Reported
- by Denis M. Wilson.
-
- * tmac/www.tmac (.EQ, .EN, .TS, .TE): Fix definitions.
-
-2008-07-24 Denis M. Wilson <dmw@oxytropis.plus.com>
-
- New options -f and -k for afmtodit.
-
- * src/afmtodit/afmtodit.pl: New options `-f NAME' sets the internal
- name of the groff font.
- New option `-k' disables output of kerning data.
- * src/afmtodit/afmtodit.man, NEWS: Document new options.
-
-2008-07-18 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.cpp (table::compute_separation_factor): Emit
- warning messages if table gets squeezed.
- (table::compute_widths): Fix computation of AVAILABLE_REG.
- Emit warning if table is wider than line length.
-
- * src/preproc/tbl/tbl.man: Minor improvements.
-
-2008-05-02 Larry Jones <lawrence.jones@siemens.com>
-
- * contrib/chem/Makefile.sub (README, examples/README): In makefiles,
- the `$<' macro is only guaranteed to be defined in inference rules,
- not in explicit target rules. Since there is only one input file in
- the places where it is used, the `$?' macro (which is guaranteed to be
- defined for both kinds of rules) is a suitable replacement.
-
- * hdtbl/examples/fonts_n.in, hdtbl/examples/fonts_n.in: Most
- versions of ls don't have a `--color' option.
-
-2008-04-30 Larry Jones <lawrence.jones@siemens.com>
-
- * Makefile.comm (depend.temp): Add `EXTRA_CCFLAGS'.
-
-2008-04-29 Larry Jones <lawrence.jones@siemens.com>
-
- * src/eqn/script.cpp (script_box::output): Portability fix.
-
-2008-04-05 Dorai Sitaram <ds26gte@yahoo.com>
-
- Add better support for `.TAG #<label>' in non-HTML documents: In
- case of a forward reference in a call to .URL, write `(see below)'.
- In case of a backwards reference use the page number instead. The
- reference gets stored in a string `TAG_<label>' and can be
- overridden while calling `.TAG' with its new optional argument --
- this is useful for a second-pass system which resolves forward
- references.
-
- * tmac/www.tmac (www:url_check_tag): New function.
- (URL): Use it.
- (TAG): Add optional argument to define string `TAG_<label>'.
-
-2008-03-24 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac (so, mso): Added.
-
- * tmac/www.tmac (PIMG): Replace `.ie' (without `.el') with `.if'.
- If used with -mtrace, and this clause was active, the macro was
- executed twice.
-
- * tmac/pspic.tmac (PSPIC): Accept option `-C' for orthogonality.
- This makes `.PIMG -C <file>' (from www.tmac) work on non-HTML
- devices.
- * man/groff_tmac.man: Document it.
-
-2008-02-26 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp: s/safer_flag/unsafe_flag/.
- Update all occurrences so that \n[.U] works as advertised. Bug
- reported by Dorai Sitaram.
-
-2008-02-17 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Improve documentation of .cf request.
-
-2008-01-19 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/html/pre-html.cpp (usage): Don't describe options but
- mention that it should never be called stand-alone.
-
- * tmac/groff_www.man, doc/groff.texinfo, man/groff_font.man,
- man/groff_tmac.man, man/groff_out.man, README, README.MinGW,
- src/roff/groff/groff.man: Mention -Txhtml.
-
- * man/groff_font.man, man/groff_tmac.man, man/roff.man: Revised.
-
-2008-01-16 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/font.cpp (font::contains, font::get_code):
- Handle single-letter names correctly.
-
- * doc/groff.texinfo, man/groff_diff.man: Extend documentation of \^
- and \|.
- * NEWS: Updated.
-
-2008-01-15 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_font.man: Revised.
-
-2008-01-14 Werner LEMBERG <wl@gnu.org>
-
- * man/groff.man: Mention glyph and characters.
- Minor other updates.
- * man/groff_char.man: Minor updates.
- * man/groff_diff.man: Better clarification between characters and
- glyphs.
-
-2008-01-12 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Fix top-level structure to make it compilable
- again with all texinfo modes. Reported by Jörg van den Hoff
- <j.van_den_hoff@fzd.de>.
-
-2008-01-11 Werner LEMBERG <wl@gnu.org>
-
- * doc/pic.ms: Mention that compass points of line objects are
- arbitrarily located.
-
-2008-01-06 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cpp (left_italic_corrected_node::add_self):
- Don't remove itself if there is no glyph associated with the node
- yet. This happens, for example, in this situation:
-
- .ll 15000u
- .ft I
- x x
- (\,f
-
-2008-01-05 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_char.man, man/groff.man: Revised.
-
- * src/preproc/eqn/lex.cpp (troff_defs): Fix typo.
-
-2008-01-04 Werner LEMBERG <wl@gnu.org>
- * */*: s/Osanna/Ossanna/.
-
- * */*.man: Replace .URL with .UR/.UE (except in groff_www.tmac).
- Replace .MTO with .MT/.ME (except in groff_www.tmac).
- Insert `\:' in URLs where appropriate.
- Don't include www.tmac (except in groff_www.tmac).
-
- * man/groff.man (.ESC[]): Fix font of closing bracket.
- (.ESCq): Fix font of closing quote character.
- Many other improvements.
-
-2007-12-30 Bernhard Fisseni <bfi@ikp.uni-bonn.de>
-
- * src/devices/grohtml/post-html.cc
- (html_printer::writeHeadMetaStyle): Fix CSS output.
-
-2007-12-29 Werner LEMBERG <wl@gnu.org>
-
- * tmac/ec.tmac: Add CM fonts to the .fspecial lines; those fonts
- contain additional glyphs (like some uppercase Greek letters).
-
-2007-12-06 Werner LEMBERG <wl@gnu.org>
-
- * NEWS: Updated.
-
-2007-12-06 Colin Watson <cjwatson@debian.org>
-
- * src/roff/nroff/nroff.sh: Add options -w and -W.
- * src/roff/nroff/nroff.man: Document them.
-
-2007-12-06 Karl Berry <karl@freefriends.org>
-
- * tmac/hyphenex.pl: Update header output.
-
-2007-11-29 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grotty/tty.cpp (tty_printer::line): Fix line lengths.
-
-2007-11-20 Werner LEMBERG <wl@gnu.org>
-
- * doc/pic.ms: Add Heinz-Jürgen's 3d boxes example.
-
-2007-11-17 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/nroff/nroff.sh: Handle GROFF_TYPESETTER environment
- variable. Problem reported by Michael G Schwern
- <schwern@pobox.com>.
-
- * src/roff/nroff/nroff.man: Document it.
- Other minor updates.
-
-2007-11-17 Heinz-Jürgen Oertel <hj.oertel@t-online.de>
-
- * src/groff/preproc/pic/lex.cpp (table): Add box attributes
- `xslanted' and `yslanted'.
-
- * src/groff/preproc/pic/object.cpp (object_spec::object_spec):
- Initialize `xslanted' and `yslanted'.
- (graphic_object): Add methods `set_xlanted' and `set_yslanted'.
- (closed_object): Ditto.
- Add members `xslanted' and `yslanted'.
- (box_object::print): Use them.
- (object_spec::make_object): Handle slant values.
- * src/groff/preproc/pic/object.h (IS_XSLANTED, IS_YSLANTED): New
- constants.
- (object_spec): Add members `xslanted' and `yslanted'.
- * src/groff/preproc/pic/pic.y (XSLANTED, YSLANTED): New left-valued
- tokens.
- Add rules for them.
-
- * src/groff/preproc/pic/pic.man, NEWS, doc/pic.ms: Document above
- changes.
-
-2007-11-16 Werner LEMBERG <wl@gnu.org>
-
- * tmac/hyphenex.pl: Generate copyright notice (this has been
- approved by Barbara Beeton).
- * tmac/hyphenex.us: Updated.
-
-2007-11-10 Michail Vidiassov <master@iaas.msu.ru>
-
- * tmac/doc-syms (doc-str-St--susv3): New string.
- * tmac/groff_mdoc.man: Document it.
-
-2007-11-08 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/preconv/preconv.cpp (emacs_to_mime): Add `utf-16be',
- `utf-16le', `utf-16be-with-signature', `utf-16le-with-signature'.
- (is_comment_line): Handle '\" and '\# also.
-
- * src/preproc/preconv/preconv.man: Revise and make complete.
-
-2007-10-25 Werner LEMBERG <wl@gnu.org>
-
- * tmac/cs.tmac: New file holding Czech strings, contributed by
- Marcela Maslanova <mmaslano@redhat.com>.
- * tmac/hyphen.cs, tmac/hyphenex.cs: New hyphenation pattern files
- for Czech, taken from CTAN.
- * LICENSES: Updated.
- * tmac/Makefile (NORMALFILES): Add Czech stuff.
- * doc/groff_tmac.man: Mention cs.tmac.
-
-2007-10-21 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (do_ps_file): Handle `%X' in header
- comments correctly. Reported by Frank Jahnke
- <jahnke@sonatabio.com>.
-
-2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
- FreeBSD 5.5 and 7.0.
-
- * tmac/doc-syms: Give better names for System V releases.
-
-2007-09-25 Gaius Mulley <gaius@glam.ac.uk>
-
- * doc/Makefile.in, doc/Makefile.sub (.ms.html): Add -P-V switch to
- the production of html files.
- (pic.html): Ditto.
- Remove background colour switch.
- (.SUFFIXES, clean): Handle *.xhtml files.
-
- * src/devices/grohtml/grohtml.man: Document that -V option now
- generates an HTML-4.01 validator or XHTML validator.
-
- * src/devices/grohtml/html-text.cpp (html_text::end_tag,
- html_text::start_tag): Suppress <small>, <big>, and <color> tags if
- we are inside a <pre> block.
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::handle_valid_flag): Add a parameter to indicate
- whether it needs to generate a paragraph block.
- (html_printer::write_navigation): Updated.
- (html_printer::do_file_components): Generate an HTML-4.01 blue
- validator button also.
-
-2007-09-23 Axel Kielhorn <A.Kielhorn@web.de>
-
- * man/groff.man: Fix URL of CSTR 54.
-
-2007-09-23 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_char.man: Normalize character set names as defined
- by IANA. Based on a patch from Axel Kielhorn.
-
- * src/preproc/refer/label.y: Undo change from 2007-09-19.
-
-2007-09-19 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (interpolate_arg): Remove compiler
- warning.
-
- * src/preproc/eqn/pile.cpp (pile_box::output, matrix_box::output):
- Remove compiler warning.
-
- * src/preproc/refer/label.y: Remove compiler warning.
-
- * src/preproc/pic/pic.y: Remove doubled token entries.
-
-2007-09-19 Gaius Mulley <gaius@glam.ac.uk>
-
- * doc/groff.texinfo: Document new .O register and add cross
- reference entries.
-
- * NEWS: Updated.
-
- * src/devices/grohtml/grohtml.man: Document new -V and -y options.
-
- * src/devices/grohtml/html-table.cpp: Add support for XHTML 1.1.
- (html_table:: emit_colspan, html_table::emit_td): New methods.
- (html_table::emit_col): Use html_table::emit_td.
- (html_table::emit_table_header): Use html_table::emit_colspan if
- dialect xhtml is specified.
- (html_table::finish_row): Updated.
-
- * src/devices/grohtml/html-table.h (html_table): Declare
- emit_colspan, emit_td.
-
- * src/devices/grohtml/html-text.cpp: Modified tags to comply with
- xhtml if this dialect was requested.
-
- * src/devices/grohtml/html-text.h (html_dialect): New enumeration.
- (html_text): Add new variable `dialect'.
-
- * src/devices/grohtml/post-html.cpp: Modify header tags to be XHTML
- compliant.
- (valid_flag, groff_sig, dialect): New global variables.
- (html_printer::handle_valid_flag, html_printer::do_math,
- html_printer::write_html_anchor, html_printer::write_xhtml_anchor,
- html_printer::do_math, html_printer::handle_valid_flag): New
- methods.
- (html_printer::emit_line, html_printer::emit_raw,
- html_printer::do_check_center, html_printer::write_title,
- write_rule, html_printer::writeHeadMetaStyle, generate_img_src,
- html_printer::begin_page): Altered to be XHTML compliant.
- (html_printer::write_header): Updated.
- (html_printer::troff_tag): Call do_math.
- (html_printer::insert_split_file, html_printer::do_file_components,
- html_printer::write_navigation): Create XHTML file components if
- necessary and also produces a groff signature if requested.
- (~html_printer): Call writeHeadMetaStyle at appropriate places
- depending upon html_dialect.
- (html_printer::special): Handle new tags `html<?p>' and `math<?p>'.
- (main): Added options -x, -V, and -y.
- (usage): Updated.
-
- * src/preproc/eqn/box.cpp: Create a distinction between
- the MathML device and the XHTML device.
- (do_text): Issue a newline at the end of the equation if XHTML was
- specified.
- (box::top_level): Prefix the output of an equation by the .MATHML
- macro.
- (output_string): Suppress \n if XHTML was specified.
-
- * src/preproc/eqn/main.cpp (xhtml): New global flag.
- (inline_equation): Skip leading spaces after inline equation for
- XHTML device.
- (main): Set `xhtml' flag if `-Tmathml:xhtml' is specified.
-
- * src/preproc/eqn/eqn.h (xhtml): New external flag.
-
- * src/preproc/eqn/text.cpp (entity_table): Fix typo.
-
- * src/preproc/html/pre-html.cpp (html_dialect): New enumeration.
- (dialect, eqn_flag): New global variables.
- (html_system): Improve debugging support.
- (alterDeviceTo): Test for -Txhtml when altering device to the image
- device and reset to -Txhtml.
- (addZ): Renamed to...
- (addArg): This.
- Introducea a general parameter.
- (print_args): New debugging function.
- (char_buffer::run_output_filter): Use print_args and addArg rather
- than addZ.
- (char_buffer::do_html, char_buffer::do_image): Add -rxhtml=1 command
- line parameter as an argument to the html generation of text when
- xhtml is needed. Include -e on the command line if mathml is
- required.
- (scanArguments): Allow -e, -V, -y and -x options.
- -V, -y are handled by the back end. -e sets `eqn_flag'.
- -x determines HTML dialect.
-
- * src/roff/groff/groff.cpp (possible_command): New method
- `clear_name'.
- (main): Set eflag if -e is present on command line.
- Set is_xhtml if -Txhtml is present.
- Pass `-x x' to the HTML pre and post processors.
- Pass `-e' to the HTML pre processor if required.
- Pass `-Tmathml:xhtml' to eqn if XHTML is requested.
-
- * src/roff/troff/input.cpp (init_input_requests): Introduce new
- number register `\n[.O]'.
-
- * tmac/s.tmac: (LP): Use .nop for semantic sugar.
- (cov*ab-init) reformat.
- (@EQ): Use EQN-HTML-IMAGE and friends rather than HTML-IMAGE.
- (CHECK-FOOTER-AND-KEEP): Define FS, FE such that they use
- <cite></cite> for the html device rather than generate images for
- footnotes.
-
- * tmac/troffrc-end: Define EQN-HTML-IMAGE,
- EQN-HTML-IMAGE-END, EQN-HTML-IMAGE-RIGHT,
- EQN-HTML-IMAGE-LEFT, EQN-HTML-IMAGE-INLINE,
- EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END as null strings.
-
- * tmac/www.tmac: (HTML<?p>): New macro.
- (MATH<?p>): New macro.
- (IMG, PIMG, MPIMG, HR): Use XHTML compliant syntax.
- (www-emit-ltag): New macro.
- (www-push-li): Updated.
- (ULS): Ensure that tags are balanced in order by use of
- www-emit-ltag.
- (ULE): Likewise: Use www-emit-ltag and shut down paragraphs in
- order.
- (OLS, OLE, DLS, DLE): Ditto.
- <global>: Define EQ and EN to EQN-HTML-IMAGE and EQN-HTML-IMAGE-END
- respectively.
- (www-li-ul, www-li-ol, www-li-dl): Updated.
- (EQN-HTML-IMAGE, EQN-HTML-IMAGE-RIGHT, EQN-HTML-IMAGE-LEFT,
- EQN-HTML-IMAGE-INLINE, EQN-HTML-DO-IMAGE, EQN-HTML-IMAGE-END,
- MATHML): New macros.
-
-2007-09-17 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_font.man: Document `unicode' keyword.
- * doc/groff.texinfo (DESC File Format): Synchronize with
- groff_font.man.
-
-2007-09-15 Werner LEMBERG <wl@nu.org>
-
- * man/groff.man: Document `\_'.
- * doc/groff.texinfo: Ditto.
- Remove references to `\@' which isn't a valid escape sequence in
- groff.
-
-
- * tmac/unicode.tmac: Add ` and '.
- * tmac/html.tmac: Load unicode.tmac.
-
-2007-09-14 Werner LEMBERG <wl@gnu.org>
-
- * tmac/unicode.tmac: Make `-' a pure input character by mapping it
- to `hy'.
-
- * src/roff/troff/input.cpp (init_charset_table): Handle `hy'.
-
-2007-09-11 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/string.cpp (string::remove_spaces): Fix memory
- allocation.
-
- * src/preproc/tbl/table.cpp (table::allocate): Initialize
- `blockflag' array.
-
-2007-09-10 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * README.MinGW: Add warnings about use of MSYS-RXVT, and about
- defective GnuWin32 versions of netpbm/libpng.
-
-2007-07-15 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * tmac/s.tmac (cov*first-page-init): Remove invoking trap, to avoid
- possible recursion.
-
-2007-07-11 Werner LEMBERG <wl@gnu.org>
-
- * gendef.sh: Add shebang.
-
-2007-07-05 Werner LEMBERG <wl@gnu.org>
-
- * tmac/papersize.tmac: Fix dimensions of executive paper format.
- Reported by John Rupley <rupley@u.arizona.edu>.
-
-2007-07-02 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * tmac/s.tmac (cov*first-page-init): Emit error message if not in
- top-level environment.
-
-2007-06-12 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/xditview/TODO, NEWS: Updated.
- * src/devices/xditview/Makefile.sub (install_data, uninstall_sub):
- Handle `GXditview-color'.
- * src/devices/xditview/gxditview.man: Updated.
-
- * m4/groff.m4 (GROFF_APPRESDIR_CHECK): Updated.
- * m4/codeset.m4, m4/glibc21.m4, m4/iconv.m4, m4/lib-link.m4: Updated
- from `gnulib' git repository.
-
- * configure.ac: Updated.
- * configure: Regenerated (using autoconf 2.61).
-
- * config.guess, config.sub: Updated from `config' CVS repository.
- * config.rpath, install-sh, mkinstalldirs: Updated from `gnulib' git
- repository.
-
-2007-06-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
-
- * src/devices/xditview/GXditview.ad: Split off color definitions
- into...
- * src/devices/xditview/GXditview-color.ad: This new file.
-
-2007-06-08 Fabrice Ménard <menard.fabrice@wanadoo.fr>
-
- * tmac/fr.tmac: Handle chapter system for `me'.
-
-2007-06-05 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
-
- * src/devices/xditview/xditview.c (main): Add support for
- accelerators.
-
- * src/devices/xditview/GXditview.ad: Updated.
- Make widget more colourful.
-
-2007-05-30 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
- Recommend `tbl' instead of `-column' lists for more complicated
- cases.
-
-2007-05-21 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cpp (ps_printer::set_char): Handle subfonts
- correctly.
-
-2007-04-10 Werner LEMBERG <wl@gnu.org>
-
- In pic, make rounded boxes work with colors. Reported by Urs Eggli
- <Urs.Eggli@zuerich.ch>.
-
- * src/preproc/pic/common.h (common_output), src/preproc/pix/output.h
- (output): Add color parameter to `rounded_box' member function.
-
- * src/preproc/pic/common.cpp (common_output::rounded_box): Use it.
-
- * src/preproc/pic/object.cpp (box_object::print): Pass `color_fill'
- to `out->rounded_box'.
-
-2007-04-09 Michail Vidiassov <master@iaas.msu.ru>
-
- * font/devps/generate/textmap: Add Greek letters and some more.
-
- * src/utils/afmtodit/afmtodit.tables: Change values of `Delta',
- `Omega', and `mu' to the ones from aglfn.txt.
-
-2007-04-08 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * tmac/s.tmac (SN): Define unconditionally.
- (SN-STYLE): New string; define.
-
- * NEWS, tmac/groff_ms.man, doc/groff.texinfo (SN-STYLE): Document it.
-
-2007-03-22 Werner LEMBERG <wl@gnu.org>
-
- * tmac/pspic.tmac: Fix harmless numeric overflow warning. Reported
- by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
-
-2007-03-20 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac (rn): Added.
- (nr, ds, ds1, as, as1, substring): Restore escape character while
- executing the macro.
- (nr): Remove dead code.
-
- * src/preproc/eqn/box.cpp (box::top_level): Use \E in string
- definitions to make them traceable.
-
-2007-03-19 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (get_copy): Add third argument to control
- whether \E shall be expanded.
- (get_char_for_escape_name): Allow \E.
-
-2007-03-15 Werner LEMBERG <wl@gnu.org>
-
- * tmac/s.tmac (MO, CH, pg*OH, pg*EH, pg*OF, pg*EF, *, [., .],
- par*define-font-macro, \[hooko]): Use \E to make it traceable.
-
- (ref*field): Add argument to control the space between previous and
- current argument.
- Update all callers.
- (ref*add-N): Fix handling of opening parenthesis. Problem reported
- by Jörg van den Hoff <j.van_den_hoff@fzd.de>.
-
-2007-03-14 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac (als): Added.
- (de, de1, am, am1): Make traced macros aliased with .als work.
-
-2007-02-25 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/xditview/TODO: Add some more items.
-
- * Makefile.comm (.man.n): Add @APPRESDIR@.
- Sort entries.
-
- * src/devices/xditview/gxditview.man: Document GXditview resource
- file.
- Other documentation enhancements based on a patch from Jörg.
-
-2007-02-25 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
- Joerg van den Hoff <j.van_den_hoff@fzd.de>
-
- * src/devices/xditview/GXditview.ad: Make all keys work regardless
- of the current mouse position.
-
-2007-02-20 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_man.man: Revised to improve visual appearance.
- Reduce use of future tense.
-
- * tmac/groff_trace.man: Revosed to improve visual appearance.
-
-2007-02-19 Eric S. Raymond <esr@snark.thyrsus.com>
-
- Make groff.man viewer-portable.
-
- * tmac/groff.man: Eliminate use of .eo/.ec.
- (.REQ): Surround args 2 through N with quotes. This will enable us
- not to rely on the shift request, which is nonportable.
- (ExecFF): Remove. The code is simpler without it.
-
-2007-02-18 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * tmac/groff_www.man: Viewer-portability fixes.
-
-2007-02-16 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * man/groff.man: Remove some unneeded code and a no-longer-used
- inclusion of the www macros.
-
-2007-02-12 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.cpp (compute_span_width): Fix use of
- AVAILABLE_REG.
- (table::compute_widths): Simplify.
-
-2007-02-11 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/table.h: Don't include `stdbool.h'.
- (table): Replace `bool' type with `char' for orthogonality.
- Update all users.
-
- * src/preproc/tbl/table.cpp (block_entry::do_divert): Fix usage of
- AVAILABLE_REG and COLCOUNT_REG.
- (table::table): Fix order call of initializers.
- (table::~table): Deallocate `blockflag'.
-
-2007-02-09 Eric S. Raymond <esr@snark.thyrsus.com>
-
- A try at the new rule for block column allocation is now enabled by
- the new `experimental' global option: The horizontal space up to the
- right margin which is not used by columns without text blocks is
- evenly distributed to the columns with text blocks.
-
- It doesn't work right as yet; there appears to be some error in the
- computation of `3avail', the available line length. The purpose of
- this patch is (a) to make experimenting with other formulas easy,
- and (b) leave the infrastructure for flag `experimental' in place
- for future experiments. Do not document any behavior associated
- with this flag!
-
- * src/preproc/tbl/table.h: Include `stdbool.h'.
- (table): Make `flags' public.
- Add `count_block_columns' function.
- Add `blockflag' array.
- Add `EXPERIMENTAL' enumeration value.
-
- * src/preproc/tbl/table.cpp (AVAILABLE_REG, COLCOUNT_REG): New
- macros.
- (table_entry): New member `parent' so that class and subclass
- members can set a parent field. Update all users.
- (block_entry::do_divert): Handle `EXPERIMENTAL' flag.
- (block_entry::do_width): Set the parent's `blockflag'.
- (table::allocate): Handle `blockflag'.
- (table::count_block_columns): New function.
- (compute_span_width): Adjust AVAILABLE_REG.
- (table::compute_widths): Handle COLCOUNT_REG and AVAILABLE_REG.
-
- * src/preproc/tbl/main.cpp (process_options): Handle `experimental'
- option.
-
-2007-02-08 Zhao, Yu (William) <yzhao2@alcatel-lucent.com>
-
- * src/devices/grodvi/dvi.cpp (draw_dvi_printer::draw) <'e'>: Set
- line thickness.
-
-2007-02-08 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_out.man (offset): Make it work reliably.
-
-2007-02-07 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * man/groff_out.man: Simplify some font changes so \fP is less
- likely to do something surprising.
-
- * man/groff_out.man: We can simplify the command macros still
- further if we stop trying to hide structural requests inside them.
- Also, fix some instances of \} at start of line without a dot, and
- make some font changes explicit in strings.
-
- * man/groff_out.man: Cleanup -- remove now-unneeded uses of .do and
- .cp.
-
- * man/groff_out.man: Final step: Reduce x-command, get rid of eo/ec
- calls and fix macros to do without them. File should now be
- viewer-portable.
-
- * man/groff_out.man: Fourth step: Eliminate use of eqn in favor of
- micromotions that produce the same visual result and can be lifted
- to XML-DocBook.
-
- * man/groff_out.man: Third step: Reduce Da-comand, fix a
- call-sequence bug in the original.
-
- * man/groff_out.man: Second step: Reduce D-commmand and D-command+,
- move font-change escapes to portable form.
-
- * man/groff_out.man: First step in macro simplification; eliminate
- list1..n, simplify .offset and .index_offset so they no longer
- require groff-specific features or eqn (instead, use troff
- micromotions for subscripting).
-
-2007-02-06 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * src/preproc/eqn/eqn.man: Minor corrections.
-
- * tmac/an-ext.tmac: Change .UR/.UE and .MT/.ME so the start macro no
- longer takes a second argument that is pasted to the end of the
- generated text. Instead, the end macro takes an argument that does
- the same thing.
-
- * man/ditroff.man, man/groff_diff.man, man/groff.man,
- man/groff_out.man, man/groff_tmac.man, man/roff.man,
- src/roff/groff/groff.man, src/roff/grog/grog.man,
- tmac/groff_man.man, tmac/groff_trace.man: Update accordingly.
-
- * src/roff/troff/troff.man: .SY and .YS are canned macros now,
- so we can use them here.
-
-2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * src/preproc/eqn/lex.cpp, src/preproc/eqn/eqn.man:
- By popular demand, make ... set three lower dots again
- and introduce a new predefined macro 'cdots' to set
- three centered dots.
-
-2007-02-05 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/eqn/eqn.man: Revised.
-
- * src/preproc/eqn/text.cpp (map, special_char_boc::output): Use
- `const'.
- (spacing_type): Fix typo.
- (special_to_entity): Use `const'.
- Remove unused variable.
- * src/preproc/eqn/other.cpp (font_box::output): Use `const'.
-
-2007-02-05 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * src/devices/grotty/grotty.man: \m[] and \M[] aren't portable,
- which is a shame as the effect was cute.
-
-2007-02-04 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * man/groff_tmac.man, man/groff_diff.man: Portability conversion;
- rip out over-elaborate macrology, use .EX/.EE and .UR/.UE where
- possible, remove preamble declarations and macros that are no
- longer needed. Conversion checked using the protocol described in
- tmac/TESTING-HINTS.
-
-2007-02-03 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (LP, IP, HP): Use .ns to suppress additional
- vertical space.
-
-2007-02-03 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * tmac/groff_man.man: Documented the extension macros, and
- added portability advice.
-
- * MORE.STUFF: More-stuff entries for doclifter and pic2plot.
-
-
- Add support for MathML output to eqn.
-
- The strategy used is very simple and relies on the fact that the box
- models of eqn and Presentation MathML differ in only trivial ways.
- It leaves the grammar and existing internal object structures
- unchanged. A new global, `output_format', is defined as an
- enumerated type with values {troff, mathml}. Most of the functions
- and methods that emit actual output acquire a top-level conditional,
- dispatching on this global, which has one arm for troff mode and one
- for MathML mode. In most cases the MathML arm is drastically
- simpler.
-
- (This strategy could be easily generalized to support other output
- formats. TeX is a possibility that leaps to mind.)
-
- The only even moderately tricky changes are in the lexer. Some of
- the predefined macros used constructs like `up', `down', `fwd',
- `back', and `vcenter' that have no equivalents in MathML. I
- attacked this problem in these ways:
-
- 1. I eliminated three uses of `back' to compose characters in favor
- of using equivalent groff specials `\(<<', `\(>>', and `\(<>'
- that did not exist when these macros were written. (This will be
- a quality improvement for troff users.)
-
- 2. I eliminated one use of `vcenter' by using \\(md. (Likewise...)
-
- 3. I then split the table of pre-definitions in three; one large
- common table and two small troff-specific and MathML-specific
- tables. Use of troff-only operations (up, down, back, fwd,
- vcenter) is now confined to the former. The latter now uses
- `size big' and drops out the explicit positioning operations,
- counting on MathML processors to do them.
-
- POTENTIAL TROUBLE SPOTS:
-
- Here are notes for reviewers on places I'm not 100% sure I've done
- the right thing:
-
- * In the process of preparing the troff table, I translated three
- definitions (dot_def, dotdot_def, and utilde def) that previously
- used explicit \v escapes to use `up' and `down' instead. I
- modeled the new definitions on the way `vec' and `dyad' work, but
- it's possible I got something subtle wrong.
-
- * I'm not certain the MathML implementation of font_box::output() is
- right, because I don't quite get what the switcheroo between
- `current_roman_font' and `old_roman_font' is supposed to
- accomplish. It does seem to generare good MathML, though.
-
- Finally, I made one purely cosmetic change in `text.cpp'; I replaced
- with an enum some magic numbers for spacing types that I thought
- were too ugly to live.
-
- REMAINING ISSUES:
-
- The entirety of eqn is translated when `-TMathML' is specified,
- with the following exceptions...
-
- Limitations that cannot be fixed include non-support for special,
- up/down/fwd/back, and vcenter.
-
- Limitations that might be fixable include non-support for mark and
- lineup. I will investigate further, but if these can be implemented
- at all it's going to be in a very complicated and nasty way.
-
- The way character boxes are output means that each digit of a
- multi-digit number gets its own <mn></mn> tag pair in the MathHTML.
- While this is not technically wrong for Presentation MathML, it is
- ugly and inefficient. Fixing this will require implementing a
- little state machine in the `text.cpp' output method.
-
- * src/preproc/eqn/box.cpp, src/preproc/eqn/delim.cpp,
- src/preproc/eqn/eqn.h, src/preproc/eqn/eqn.man,
- src/preproc/eqn/lex.cpp, src/preproc/eqn/limit.cpp,
- src/preproc/eqn/list.cpp, src/preproc/eqn/main.cpp,
- src/preproc/eqn/other.cpp, src/preproc/eqn/over.cpp,
- src/preproc/eqn/pile.cpp, src/preproc/eqn/script.cpp,
- src/preproc/eqn/sqrt.cpp, src/preproc/eqn/text.cpp,
- src/preproc/eqn/eqn.man: MathML output mode.
-
- * NEWS: Document it.
-
-2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * src/roff/groff/groff.man: Converted to use .SY/.OP/.YS
- and for cross-viewer portability. Conversion checked
- using the protocol described in tmac/TESTING-HINTS.
-
-2007-02-02 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-ext.tmac (ME): Don't use `\:'.
-
- * src/roff/grog/grog.man: Further refinements and normalizations.
-
-2007-02-02 Eric S. Raymond <esr@snark.thyrsus.com>
-
- * src/roff/grog/grog.man: Converted to use .SY/.OP/.YS and for
- cross-viewer portability. Conversion checked using the protocol
- described in tmac/TESTING-HINTS.
-
-2007-02-01 Eric S. Raymond <esr@thyrsus.com>
-
- * tmac/TESTING-HINTS: Added.
-
-2007-02-01 Eric S. Raymond <esr@thyrsus.com>
-
- Enable the support for Bell archaisms on .SC, so the `-r bell'
- switch is no longer needed to format old AT&T papers like
- the EQN user guide.
-
- * tmac/s.tmac (.SC, .UC, .P1, .P2): Updated.
-
- * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Updated.
-
-2007-02-01 Eric S. Raymond <esr@thyrsus.com>
-
- Add some Bell labs extensions to the -ms macros.
-
- * tmac/s.tmac (.SC, .UC, .P1, .P2) [bell]: New macros.
-
- * tmac/groff_ms.man, doc/groff.texinfo, NEWS: Document `-r bell'.
-
-2007-01-30 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-ext.tmac (\n[EX]): Rename to \n[mX].
- (\n[mH]): New register (set if grohtml is used).
- (\n[SY]): Rename to \n[mS].
- (\n[a]): Rename to \n[mA].
- (\n[i]): Rename to \n[mI].
- (mU): New auxiliary input trap macro.
- (UR, UE): Replace stub with real definition.
- (URL): Remove.
- (MT, ME): New macros.
- (MTO): Remove.
- (EX, EE): Don't insert vertical space.
- Use a register to store (and restore) the current font.
-
- * man/ditroff.man, man/groff_diff.man, man/roff.man: Revised, based
- on patches from Eric Raymond.
- Fix URL addresses.
-
-2007-01-22 Gaius Mulley <gaius@glam.ac.uk>
-
- * tmac/an-old.tmac (an-trap, HP): Make `HP' work as expected.
-
-2007-01-22 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-ext.tmac: Protect against being sourced twice.
- (URL, EE): Use always two backslashes.
- (MTO): New macro.
-
-2007-01-16 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-ext.tmac: Remove code for grodvi.
- (SY): Fix typos.
- Don't insert empty line.
- (URL, TQ): Fix typos.
-
-2007-01-14 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-ext.tmac: New file, containing extension macros
- for -man. See discussion on the groff mailing list for
- background information.
- * tmac/an-old.tmac: Load an-ext.tmac.
- Decorate .ds and as with comment escapes where appropriate.
- * tmac/Makefile.sub (NORMALFILES): Add an-ext.tmac.
-
-2007-01-05 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Document .T# and \n[TW].
-
-2007-01-04 Gaius Mulley <gaius@glam.ac.uk>
-
- Make -me macros ready for grohtml.
-
- * tmac/e.tmac: Load devtag.tmac.
- (need_eo_h, need_eo_tl, need_tl): New registers.
- (check_need_title, (x-html, )x-html, xp-html): New macros.
- (@h, hl, ip, @p, sh, (b, (l, EQ, EN, TS, TE, PS, PE, GS, GE, r, i,
- b, rb, bi, bx, (x, )x, xp): Adapt for use with grohtml.
- (bp): Rename to @b only if output device is not html.
-
-2007-01-01 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_font.man: Document empty lines.
-
- * src/utils/afmtodit/afmtodit.pl: Always print a header comment at
- the very beginning of the output.
- [!$opt_x]: Fix typo.
-
- * font/devps/*: Regenerate font definition files.
-
-2007-01-01 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/Makefile (AFMTODIT): Use -c flag.
-
- * font/devps/*: Regenerate font definition files.
-
-2006-12-31 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (oldfontdir): New variable.
- (MDEFINES): Add $(oldfontdir).
- (uninstall_dirs): Remove `current' link.
- Remove $(oldfontdir).
-
- * Makefile.comm (oldfontsubdir): New variable.
- (install_dev): Install files collected in $(OLDDEVFILES) into
- $(oldfontsubdir).
- (uninstall_dev): Remove data in $(oldfontsubdir).
- (.man.n): Handle @OLDFONTDIR@.
-
- * src/devices/grodvi/grodvi.man, src/devices/grohtml/grohtml.man,
- src/devices/grolbp/grolbp.man, src/devices/grolj4/grolj4.man,
- src/devices/grotty/grotty.man, src/devices/xditview/gxditview.man:
- Document GROFF_FONT_PATH.
-
- * src/devices/grops/grops.man: Document GROFF_FONT_PATH and
- old font description files.
-
- * font/devps/Makefile.sub (OLDDISTFILES, OLDDEVFILES): New
- variables.
-
- * font/devps/old/*: New directory, holding the previous version
- of the 35 Adobe core font description files.
-
- * font/devps/*: Regenerated the 35 Adobe core fonts, using the
- Adobe-Core35_AFMs-229.tar.bz2 bundle from ftp.dante.de.
-
- * NEWS: Document font update.
-
-2006-12-31 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/Makefile (symbolsl.afm): Use $(srcdir).
-
- * Makefile.comm (fonts): New (empty) target.
- * Makefile.in (TARGETS): Add `fonts'.
-
- * MANIFEST: Add `chem'.
-
- * doc/groff.texinfo (Changing Fonts): Font translations with .ftr
- can't be chained.
-
-2006-12-26 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/grn/hdb.cpp: Include gprint.h later. From NetBSD.
-
-2006-12-19 Werner LEMBERG <wl@gnu.org>
-
- Add support for German. For activation, simply use -mde or -mden
- (for traditional and new orthgraphy, respectively) as the last
- macro package.
-
- * tmac/de.tmac, tmac/den.tmac, tmac/hyphen.det, tmac/hyphen.den,
- tmac/hyphenex.det: New files, partly taken from CTAN.
- * LICENSES: Updated list of hyphenation patterns.
- * man/groff_tmac.man: Mention de.tmac and den.tmac.
- * NEWS: Updated.
-
-2006-12-11 Werner LEMBERG <wl@gnu.org>
-
- Support up to 32 macro arguments in pic (and up to 16 on EBCDIC
- hosts).
-
- * src/preproc/pic/lex.cpp (ARG1): Redefine. Update all users.
- (MAX_ARG): New macro. Use it everywhere to replace hard-coded
- limit of 9 arguments.
- (process_body): Handle argument numbers with more than a single
- digit.
- (interpolate_macro_with_args): Protect against exceeding number of
- arguments.
-
- * NEWS, src/preproc/pic/pic.man, doc/pic.ms: Document it.
-
-2006-12-10 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.in (site.exp, docheck): Commented out. Not working
- currently.
- (check): Just emit dummy message.
-
-2006-12-08 Werner LEMBERG <wl@gnu.org>
-
- During installation, create soft link from <version> to `current' in
- <datadir>/groff.
-
- * Makefile.comm (install): Renamed to...
- (do_install): This.
- (prefix_must_exist): Removed. Code moved to Makefile.in.
-
- * Makefile.in (TARGETS): Remove `install'.
-
- (install): New target which first creates the directory given by
- --prefix, then calling `make' to do the installation, and finishing
- with the creation of the soft link.
-
-2006-11-21 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub (uninstall_sub): Fix names for info files.
-
-2006-11-18 Werner LEMBERG <wl@gnu.org>
-
- * man/roff.man, doc/groff.texinfo: Improve history of roff, based on
- information from Tom Van Vleck <thvv@multicians.org>.
-
-2006-11-16 Werner LEMBERG <wl@gnu.org>
-
- * tmac/62bit.tmac: New macro package.
- * tmac/Makefile.sub (NORMALFILES): Add it.
- * NEWS: Document it.
-
- * tmac/trace.tmac: Protect against being loaded again.
- (nr): Always show result.
-
- * doc/groff.texinfo (Input Encodings): Document latin-5.
-
- * man/grof_tmac.man: Document sv, latinX, cp1047, 60bit, ec.
-
-2006-11-13 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Page Location Traps) [.wh]: Give more details
- on negative trap positions.
-
-2006-11-10 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.comm (.man.n): Handle @DATASUBDIR@.
-
-2006-11-09 Werner LEMBERG <wl@gnu.org>
-
- * INSTALL: Move information about external installation from
- INSTALL.gen into this file.
- Updated.
-
- * INSTALL.gen: Update to new version (from texinfo CVS).
-
-2006-11-09 Bernd Warken
-
- * INSTALL.gen: Extend the file by information on `external
- installation'. Reorder the installation instruction as `normal
- installation'.
-
-2006-11-08 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub (install_data): Take care of proper paths while
- installing info files. Bug reported by Bernd Warken.
-
-2006-11-06 Bernd Warken
-
- * src/roff/grog/grog.pl: Rewrite.
- - Call by `#! /usr/bin/env perl'. That isn't replaced.
- - Rename usage() to version().
- - Use warnings.
- - For `use strict', start all global variables with an upper case
- character. Use `my' for all variables. Use several new variables.
- - Add option `-h'.
- - Add copyright to GPL and Emacs comment.
- - Handle several `-m*' options.
- - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
- - Allow options after file names.
- - Allow only one `-' parameter (standard input).
- - Add option abbreviations.
- - Expand the usage information.
- - Add `chem'.
- - Add single quote "'" as additional first character and allow
- arbitrary space after the first character.
-
- * src/roff/grog/grog.sh: Rewrite.
- - Remove option `-e' of `sed'.
- - Allow file names with space characters.
- - Add option `-h'.
- - Add copyright to GPL.
- - Handle several `-m*' options.
- - Fix handling of `-ms' and `-mm'. Add .TL and .NH.
- - Allow options after file names.
- - Allow only one `-' parameter (standard input).
- - Add option abbreviations.
- - Expand the usage information.
- - Add `chem'.
- - Add single quote "'" as additional first character and allow
- arbitrary space after the first character.
-
- * src/roff/grog/Makefile.sub:
- - Add copyright to GPL.
- - Remove `grog:'. Move `grog.old:' to `grog:' in order to have a
- fair chance to choose between the shell version and the Perl
- version of `grog'. This is now again comparable to grog in groff
- version 1.10.
-
- * src/roff/grog/grog.man: Rewrite.
- - Move the license to GPL.
- - New sections: OPTIONS, DETAILS, EXAMPLES, COPYING.
- - Take over some setup and macros from `groffer'.
- - Add information on options.
-
-2006-10-28 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac: Improve tracing of `.nr'.
- Trace `.substring' also.
-
- * NEWS: Updated.
-
-2006-10-28 Bernd Warken
-
- * man/roff.man, src/roff/groff/groff.man: Add `chem', fix position
- of groff development site, fix fonts.
-
- * News: Add information on `chem' and `groffer'.
-
-2006-10-26 Bernd Warken
-
- * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add `chem' bundle.
-
-2006-10-26 Werner LEMBERG <wl@gnu.org>
-
- Add `\$^' escape to handle the parameters to a macro as a string
- argument.
-
- * src/roff/troff/input.h (DOUBLE_QUOTE): New special character.
-
- * src/roff/troff/input.cpp (input_iterator, input_stack,
- macro_iterator): Add `space_follows_arg' member function.
- (macro_iterator::add_arg): Add parameter to set the `space_follows'
- flag.
- (arg_list): Add member `space_follows'.
- Update constructor and all callers.
- (decode_args): Store discarded double quotes.
- (interpolate_args): Handle DOUBLE_QUOTE.
- Add `\$^' escape.
- (get_copy, token::next, composite_glyph_name): Handle DOUBLE_QUOTE.
-
- * tmac/trace.tmac: Trace .nr, .ds, .ds1, .as, .as1.
-
- * docs/groff.texinfo (Parameters), man/groff.man,
- man/groff_diff.man, NEWS: Document it.
-
-2006-10-24 Bernd Warken
-
- * Makefile.in (NOMAKEDIRS): Add groffer subdirectories.
-
-2006-10-24 Werner LEMBERG <wl@gnu.org>
-
- * tmac/groff_trace.man: Mention problem with `\\\\'.
-
-2006-10-23 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Expressions): Improve documentation of `!'.
-
- * tmac/trace.tmac (return): Don't call `substring'.
-
-2006-09-10 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (read_size): Revert previous change
- w.r.t. `\s-[-...]'.
-
- * doc/groff.texinfo (Fractional Size Types): Clarify syntax of \s.
-
-2006-09-09 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (read_size): Fix `\s[-\n[.s]]' so that it
- behave the same as `\s-[\n[.s]]' (this is, emit a warning and set
- point size to 1). Reported by Gunnar Ritter.
- Also catch `\s-[-...]' and friends (causing an error).
-
-2006-09-06 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/env.cpp (environment::do_break): Insert zero-width
- space only if there is no previous space. This fixes a bug which
- caused unwanted filling of the last line in a paragraph. Thanks to
- Gunnar Ritter for an analysis.
-
-2006-09-03 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/groff/groff.cpp (main): Pass -U flag to pic also.
- Reported by Jennifer Sayers <jenjen@isu.usyd.edu.au>.
-
-2006-09-01 Nick Stoughton <nick@msbit.com>
- Werner LEMBERG <wl@gnu.org>
-
- Add a request `pev' to print environment information (similar to
- `pnr' and `ptr' to print number registers and traps).
-
- * src/roff/troff/env.h (environment): Add member function print_env.
-
- * src/roff/troff/env.cpp: (environment::print_env): New function to
- print a given environment state.
- (print_env): New global function to iterate through the
- environments, printing each one.
- (init_env_requests): Register `pev'.
-
- * doc/groff.texinfo (Debugging), man/groff.man, man/groff_diff.man,
- NEWS: Document `pev' request.
-
-2006-09-01 Bernd Warken
-
- * src/preproc/soelim/soelim.cpp (usage): Fix option argument of
- `-I' to `dir'.
-
-2006-09-01 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/main.cpp (usage): Add missing options.
-
-2006-08-25 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/soelim/soelim.man: Document how to insert `\' and ` '
- in file names.
-
-2006-08-19 Werner LEMBERG <wl@gnu.org>
-
- * configure: Regenerated.
-
-2006-08-18 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * m4/groff.m4 (GROFF_MAKEINFO): Correct `makeinfo version testing
- logic; it previously caused an `expr' syntax error, if no version of
- `makinfo' was present. Also, remove dependency on `makeinfo' in VPATH
- builds, if an up to date `groff.info' is present in either `builddir'
- or in `srcdir'.
-
-2006-08-12 Tadziu Hoffmann <hoffmann@usm.uni-muenchen.de>
-
- * font/devps/prologue.ps: Add BPhook.
-
- * src/devices/grops/grops.man: Document BPHook.
- Reorder some sections for better readability.
-
-2006-08-12 Werner LEMBERG <wl@gnu.org>
-
- * src/include/lib.h (getlocale): New macro.
- (setlocale, LC_ALL, LC_CTYPE) [!HAVE_SETLOCALE]: Define, as
- suggested by Bruno.
-
- * src/preproc/preconv/preconv.cpp (main): Use getlocale.
-
-2006-08-11 Werner LEMBERG <wl@gnu.org>
-
- Add new flag to .cflags to enable hyphenation without looking at
- hcode values.
-
- * src/roff/troff/charinfo.h (charinfo): New enumeration value
- `IGNORE_HCODES'.
- New member function `ignore_hcodes'.
-
- * src/roff/troff/node.cpp (break_char_node::add_self,
- node::add_char): Updated.
-
- * doc/groff.texinfo, man/groff_diff.man, NEWS: Document it.
-
-2006-08-09 Werner LEMBERG <wl@gnu.org>
-
- Support composite Unicode characters again. Reported by Colin.
-
- * font/devhtml/R.proto: Renamed to...
- * font/devhtml/R.in: This.
-
- * font/devutf8/R.proto: Renamed to...
- * font/devutf8/R.in: This.
- Add `charset' line.
-
- * font/make-Rproto: New script.
- * font/devhtml/R.proto, font/devutf8/R.proto: Generated.
-
-2006-07-26 Werner LEMBERG <wl@gnu.org>
-
- * README: Fix description of CVS access. Reported by Joachim.
-
-2006-07-11 Werner LEMBERG <wl@gnu.org>
-
- Add a request `.fzoom' and a number register `.zoom' to magnify
- fonts.
-
- * src/include/font.h (font): Add member variable `zoom'.
- Add member functions `set_zoom' and `get_zoom'.
- Remove `static' attribute from `scale' member function.
-
- * src/libs/libgroff/font.cpp (font::font): Updated.
- (scale_round): New version with three parameters to handle zoom
- factor.
- (font::scale, font::get_width): Handle zoom factor.
- (font::set_zoom, font::get_zoom): New functions.
- (font::load): Handle `zoom' while computing `space_width'.
-
- * src/roff/troff/env.h: Declare `env_get_zoom'.
- (environment): Add member function `get_zoom'.
-
- * src/roff/troff/env.cpp (environment::get_zoom): New function.
- (init_env_requests): Initialize `.zoom' register.
-
- * src/roff/troff/node.cpp (font_info): New member functions
- `set_zoom' and `get_zoom'.
- (tfont): New member function `get_zoom'.
- (env_get_zoom): New function.
- (troff_output_file::set_font): Handle zoom factor.
- (font_zoom_request): New function.
- (init_node_requests): Initialize `fzoom' request.
-
- * docs/groff.texinfo (Changing Fonts), man/groff.man,
- man/groff_diff.man, NEWS: Document `fzoom' request and `.zoom'
- register.
-
- * src/roff/troff/TODO: Updated.
-
-2006-07-10 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Drawing Requests): Improve documentation of
- \D'P ...'.
-
-2006-07-02 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_tmac.man: Document usage of .PSPIC within diversions.
-
-2006-07-01 Werner LEMBERG <wl@gnu.org>
-
- * tmac/pspic.tmac: Make .PSPIC work for all devices.
- Print image file name for devices which don't support PS image
- inclusion.
- Handle multiple inclusions.
- Add lots of comments.
-
- * tmac/dvi.tmac, tmac/html.tmac, tmac/ps.tmac: Don't load
- pspic.tmac.
-
- * tmac/troffrc: Load pspic.tmac.
-
- * man/groff_tmac.man: Update .PSPIC documentation.
-
- * NEWS: Updated.
-
-2006-06-29 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (interpolate_macro):
- s/probably/possibly/, as suggested by Keith.
-
-2006-06-28 Werner LEMBERG <wl@gnu.org>
-
- Add support for \D'p...' to grotty.
-
- * src/devices/grotty/grotty.cpp (tty_printer::draw): Move most of
- its code to...
- (tty_printer::line): This function.
- (tty_printer::draw): Rewritten; just call either draw_line or
- draw_polygon.
- (tty_printer::draw_line, tty_printer::draw_polygon): New functions.
-
- * src/devices/grotty/grotty.man, NEWS: Document it.
-
-2006-06-27 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/refer/command.h (have_bibliography): New variable
- declaration.
-
- * src/preproc/refer/command.cpp (bibliography_command): Set
- `have_bibliography'.
-
- * src/preproc/refer/refer.cpp: Initialize `have_bibliography'.
- (output_references): Emit warning only if `have_bibliography' is
- set.
-
-2006-06-15 Michail Vidiassov <master@iaas.msu.ru>
-
- * font/devps/Makefile.sub (DISTFILES): Add freeeuro.afm.
- * font/devps/generate/Makefile (clean): Don't remove symbolsl.afm
- and zapfdr.afm.
-
-2006-06-15 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Document limitations of .TS/.TE within a
- macro (as suggested by Tadziu Hoffmann).
-
-2006-06-12 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Add example for use of .TS/.TE within a
- macro (as suggested by Tadziu Hoffmann).
-
-2006-06-05 Werner LEMBERG <wl@gnu.org>
-
- * tmac/strip.sed: Strip `\#' also.
-
- * doc/groff.texinfo (Operators in Conditionals): Document usage of
- \? for string comparison.
-
-2006-06-04 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo: Add more index entries for copy-in mode.
- (Changing Fonts) <.ft>: Document that a font definition file must
- not be called `DESC'.
-
-2006-05-31 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/input.cpp (token::next) <\N>: Catch negative values
- here.
-
- * doc/Makefile.sub (EXAMPLEFILES): Move gnu.eps to...
- (PROCESSEDEXAMPLEFILES): Here.
-
-2006-05-30 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/font.cpp (font::load): Reject fonts called
- `DESC'.
- Reduce number of false positives for `.if F ...' conditionals.
- Improve warning messages.
-
-2006-05-29 Werner LEMBERG <wl@gnu.org>
-
- * tmac/Makefile.sub: Add copyright notice.
- (NORMALFILES): Add man.tmac and ms.tmac.
- (SPECIALFILES): Remove man.tmac and ms.tmac.
- (CLEANADD): Remove man.tmac-sed and ms.tmac-sed.
- (install_data, uninstall_sub): Don't handle man.tmac and ms.tmac
- specially.
- (stamp-sed): Don't handle man.tmac and ms.tmac.
- Remove obsolete components in sed's regexp.
-
- * doc/Makefile.sub (EXAMPLEFILES): Add gnu.eps.
-
- * Makefile.in (OTHERDIRS, NOMAKEDIRS): Add hdtbl.
-
-2006-05-28 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (History): Correct death circumstances of Joe
- Ossanna.
-
-2006-05-27 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (an-do-tag): Simplify.
-
-2006-05-26 Werner LEMBERG <wl@gnu.org>
-
- * tmac/an-old.tmac (an-do-tag): Make margin characters work.
- (an-header, an-p-footer): Use named environment.
-
- * src/roff/troff/env.cpp (environment::copy): Copy margin character
- node.
-
-2006-05-21 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trace.tmac (de1): Fix serious typo (.di -> .do) and minor
- omissions.
-
-2006-05-11 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/groff/groff.man: Remove superfluous word `intermediate'.
-
-2006-05-10 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- * src/roff/groff/groff.man: Update copyright notice.
- Improved wording to describe effect of `-Z' option.
-
-2006-05-06 Werner LEMBERG <wl@gnu.org>
-
- * tmac/www.tmac: Decorate `.ds' with trailing `\"' where missing.
- Normalize handling of `"' in arguments.
- (PIMG): Remove debug message.
- Simplify code.
-
-2006-05-05 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/post-html.cpp (page::add_and_encode): Don't
- swallow character immediately after `\[...]'.
- Simplify code.
-
-2006-05-02 Gaius Mulley <gaius@glam.ac.uk>
-
- * tmac/www.tmac (PIMG): Fix the HTML device specific components.
-
-2006-05-02 Larry Kollar <kollar@alltel.net>
-
- * tmac/www.tmac (PIMG): Really default to `-C' if the alignment
- option is missing.
-
-2006-04-30 Michail Vidiassov <master@iaas.msu.ru>
-
- * src/utils/afmtodit/afmtodit.pl: New option `-c' to add font
- information as a comment in output.
- * src/utils/afmtodit/afmtodit.man, NEWS: Document it.
-
-2006-04-26 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grohtml/post-html.cpp (html_printer::~html_printer):
- Handle current_paragraph only if it is non-NULL.
-
- * src/libs/libdriver/input.cpp (parse_x_command <'F'>, do_file
- <'F'>): Use `get_extended_arg' to behave as documented. Reported by
- Bill Ward <william.a.ward.jr@erdc.usace.army.mil>.
-
-
- Surround the (pseudo) file name for the .pso request with `<' and
- `>'.
-
- * src/roff/troff/node.cpp (real_output_file, troff_output_file): Add
- second parameter to `really_put_filename' and `put_filename'.
- (troff_output_file::really_put_filename): Emit `<' and `>' around
- filename if second argument is set.
- * src/roff/troff/node.h: Updated.
-
- * src/roff/troff/input.cpp (file_iterator::file_iterator,
- file_iterator::set_location): Update to changes in node.cpp.
-
-2006-04-25 Tetsurou Okazaki <okazaki@FreeBSD.org>
-
- * src/preproc/preconv/preconv.cpp (do_file): Fix conditional
- preprocessor expression (I18N -> HAVE_ICONV).
- (main): Fix handling of option `-h'.
- Fix conditional preprocessor expression.
-
-2006-04-04 Werner LEMBERG <wl@gnu.org>
-
- Implement new number register `.br' which is set to 1 if a macro has
- been called as .foo and to 0 if called as 'bar. This is useful for
- -mtrace so that requests can be reliably traced too.
-
- * src/roff/troff/input.cpp (input_iterator): Add virtual function
- `get_break_flag'.
- (macro_iterator): Add `with_break' member and `get_break_flag'
- function.
- Update constructors.
- (input_stack): Add function `get_break_flag'.
- (break_flag_reg): New number register class.
- (input_init_requests): Register `.br'.
-
- * src/roff/troff/TODO: Updated.
-
- * tmac/trace.tmac: s/!!sp/!!!sp/.
- Modify definitions of `de', `de1', `am', and `am1' to use \n[.br].
-
- * docs/groff.texinfo (Requests), man/groff.man, man/groff_diff.man,
- NEWS: Document it.
-
-2006-03-29 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cpp: s/must not/should not/ in warning
- messages where appropriate.
-
-2006-03-28 Werner LEMBERG <wl@gnu.org>
-
- * configure.ac: Call AC_PROG_EGREP.
- * configure: Regenerated.
-
- * Makefile.in (EGREP): New variable.
- (MDEFINES): Add $(EGREP).
-
- * src/roff/grog/grog.sh: Treat .TH between .TS and .TE properly
- (bug reported by Robert Goulding <Goulding.2@nd.edu>).
- Use @EGREP@.
-
- * src/roff/grog/Makefile.sub (grog, grog.old): Use $(EGREP).
-
-2006-03-27 Werner LEMBERG <wl@gnu.org>
-
- Add two requests `.device' and `.devicem' which are equivalent to
- `\X' and `\Y', respectively.
-
- * src/roff/troff/input.cpp (device_request, device_macro_request):
- New functions.
- (init_input_requests): Register them.
-
- * doc/groff.texinfo (Postprocessor Access), man/groff_diff.man,
- man/groff.man, NEWS: Document them.
-
-2006-03-27 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/roff/troff/input.cpp (encode_char): Emit special characters
- for -Thtml as `\[...]'.
- * src/devices/grohtml/post-html.cpp (page::add_and_encode): Updated.
-
- * doc/groff.texinfo (Postprocessor Access) <\X>: Updated.
-
-2006-03-27 Werner LEMBERG <wl@gnu.org>
-
- * tmac/Makefile.sub (NORMALFILES, SPECIALFILES): Add various missing
- files.
-
-2006-03-26 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Writing Macros): More documentation on
- end-of-macro symbol of `.de'.
- (Diversions): Minor addition to `.di' description.
-
- * src/devices/grops/grops.man: Some clarifications regarding
- insertion of PostScript snippets.
-
-2006-03-25 Michail Vidiassov <master@iaas.msu.ru>
-
- Add rules to generate `symbolsl.afm'.
-
- * font/devps/generate/zapfdr.sed,
- font/devps/generate/symbolsl.awk: New files.
-
- * font/devps/generate/Makefile (symbolfont, PRINTAFM): New
- variables.
- (SS, clean): Updated.
- (freeeuro.afm): Use $(srcdir).
- (symbolsl.afm): New rule.
- (zapfdr.afm): Use zapfdr.sed.
-
-2006-03-22 Dwight Aplevich <aplevich@uwaterloo.ca>
-
- * src/preproc/pic/pic.y (expr <INT>): Fix code.
-
-2006-03-22 Jörgen Grahn <jgrahn@algonet.se>
-
- * tmac/sv.tmac: Add missing translations and activate support for
- other macro packages.
-
-2006-03-21 Francis GUDIN <fgudin@nerim.net>
-
- * tmac/doc-syms (Dx): New macro to identify DragonFly.
- (doc-str-St--ieee1275-94, doc-str-St--isoC-amd1,
- doc-str-St--isoC-tcor1, doc-str-St--isoC-tcor2): New standard
- strings.
- (doc-operating-system-FreeBSD-5.5, doc-operating-system-FreeBSD-7.0,
- doc-operating-system-NetBSD-1.6.3, doc-operating-system-NetBSD-4.0
- doc-operating-system-DragonFly-*): New operating system strings.
-
- * tmac/groff_mdoc.man, NEWS: Document `Dx'.
-
-2006-03-21 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/pic.y (object_spec THEN): For compatibility with
- both DWB pic and dpic, make
-
- right;
- line then down;
-
- equal to
-
- right;
- line right then down;
-
- instead of
-
- right;
- line 0 then down;
-
- * doc/pic.ms: Document this.
-
-2006-03-20 Werner LEMBERG <wl@gnu.org>
-
- * doc/pic.ms: With permission of Eric Raymond, put it under the
- GPL.
-
- * NEWS: Updated.
-
-2006-03-19 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/pic/pic.y (expr <INT>): Really return integer part.
-
- * src/preproc/pic/objects.cpp (object_spec::make_line): Handle `at'
- attribute in combination with `with'. Bug reported by Jennifer
- Sayers <jenjen@mail.usyd.edu.au>.
-
-2006-03-19 Miklos Somogyi <msom@netspace.net.au>
-
- * doc/groff.texinfo (Manipulating Spacing): Improve documentation of
- `.sp'.
-
-2006-03-18 Werner LEMBERG <wl@gnu.org>
-
- * LICENSE: Renamed to...
- * LICENSES: This. Collect all licensing information in this file.
- * tmac/README, src/libs/snprintf/README: Removed.
-
- * src/devices/grops/grops.man: Add section how to install fonts.
-
- * src/utils/xtotroff/xtotroff.c: Add GPL.
-
-2006-03-17 Werner LEMBERG <wl@gnu.org>
-
- * Makefile.comm (.y.cpp): Fix #line arguments in output.
-
-2006-03-13 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/tbl/tbl.man: Mention default length of text blocks.
-
- * tmac/doc-common (Os): Add more Darwin versions.
- * tmac/groff_mdoc.man: Document them.
-
- * doc/groff.texinfo (Operators in Conditionals): Mention that `c'
- works with \N'...' also.
- * man/groff_diff.man: Ditto. Remove use of future tense where
- possible.
-
-2006-03-12 Michail Vidiassov <master@iaas.msu.ru>
-
- * font/devps/generate/make-zapfdr, font/devps/symbolsl.ps,
- font/devps/zapfdr.ps: Add `%%EndComments' line.
-
-2006-03-10 Larry Kollar <kollar@alltel.net>
-
- * doc/groff.texinfo (Headers and footers): Document PT, HD, and BT.
-
-2006-03-10 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cpp (ps_printer::do_exec, ps_printer::do_def,
- ps_printer::do_mdef): Overlong lines now cause a warning message,
- not an error.
-
-2006-03-09 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/make-zapfdr: New script for generating
- `zapfdr.ps'.
-
-2006-03-08 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.css (pre): Fix `background-color' value.
-
-2006-03-04 Larry Kollar <kollar@alltel.net>
-
- * tmac/groff_ms.man: Document PT, HD, and BT.
-
-2006-03-04 Werner LEMBERG <wl@gnu.org>
-
- * src/roff/troff/node.cpp (make_glyph_node): Improve warning message
- for single-letter glyph names.
-
-2006-03-02 Werner LEMBERG <wl@gnu.org>
-
- * tmac/sv.tmac: New file; currently holding only the Swedish strings
- for -mm.
- * tmac/hyphen.sv: New hyphenation pattern file for Swedish, taken
- from CTAN.
- * tmac/README: Updated.
-
-2006-02-27 Werner LEMBERG <wl@gnu.org>
-
- * tmac/trans.tmac (Liec, Letdate, Letns!14): Add it (for -mm).
- * tmac/fr.tmac: Add French translations.
-
- * tmac/composite.tmac: Add entry for `:'.
-
-2006-02-26 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.sub (HTMLEXAMPLEFILESALL): New variable.
- (CLEANADD): Use it.
- (install_html, uninstall_sub): Updated.
-
-2006-02-26 Bruno Haible <bruno@clisp.org>
-
- Introduce Unicode fonts.
-
- * font/devhtml/DESC.proto: Mark as unicode.
- * font/devhtml/R.proto: Remove all charset entries that are already
- in glyphuni.cpp.
- * font/devutf8/DESC.proto: Mark as unicode.
- * font/devutf8/R.proto: Remove all charset entries.
- * src/include/font.h (font): New static field `is_unicode'.
- Change order of fields.
- * src/libs/libgroff/font.cpp: Include unicode.h.
- (font::font): Update for changed order of fields.
- (font::contains, font::get_width, font::get_height, font::get_depth,
- font::get_italic_correction, font::get_left_italic_correction,
- font::get_subscript_correction, font::get_character_type,
- font::get_code, font::get_special_device_encoding): Handle both the
- explicitly enumerated glyphs and use general code for Unicode fonts.
- (font::load): Make the charset section optional when the font is
- declared unicode.
- (font::load_desc): Recognize the `unicode' attribute.
- * src/libs/libgroff/fontfile.cpp (font::is_unicode): New variable.
-
-2006-02-26 Claudio Fontana <claudio@gnu.org>
-
- * Makefile.in: Add comment about DESTDIR.
-
- * Makefile.sub: Add DESTDIR to install and uninstall targets
- to support staged installations.
- * Makefile.comm: Likewise.
- * doc/Makefile.sub: Likewise.
- * contrib/eqn2graph/Makefile.sub: Likewise.
- * contrib/grap2graph/Makefile.sub: Likewise.
- * contrib/pic2graph/Makefile.sub: Likewise.
- * src/devices/xditview/Makefile.sub: Likewise.
- * src/preproc/eqn/Makefile.sub: Likewise.
- * src/roff/grog/Makefile.sub: Likewise.
- * src/roff/nroff/Makefile.sub: Likewise.
- * src/utils/afmtodit/Makefile.sub: Likewise.
- * src/utils/indxbib/Makefile.sub: Likewise.
- * tmac/Makefile.sub: Likewise.
-
-2006-02-24 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
- for \-.
- Remove commented out entries for \' and \` (there are no such glyph
- names).
-
- * src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
- commented out entries for \' and \`.
-
-
- * */*: s/legal/valid/ where appropriate.
-
-2006-06-23 Werner LEMBERG <wl@gnu.org>
-
- * font/devhtml/R.proto, font/devutf8/R.proto: Remove incorrect \'
- and \` entries.
-
-2006-02-22 Werner LEMBERG <wl@gnu.org>
-
- Remove all remaining traces from the `shc' glyph.
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list),
- src/libs/libgroff/uniglyph.cpp (unicode_to_glyph_list): Remove
- entry for `shc'.
-
- * font/devlatin1/R.proto, font/devcp1046/R.proto: Replace `shc'
- entry with unnamed glyph.
-
- * tmac/html/tmac: Remove `shc' entry from call to `.cflags'.
-
- * src/preproc/preconv/preconv.cpp (unicode_entity): Handle U+00AD
- specially.
-
-2006-02-22 Bruno Haible <bruno@clisp.org>
-
- Concretize the `glyph' datatype.
-
- * src/include/font.h (glyph): Remove class.
- (glyph): Renamed from struct `glyphinfo'.
- (glyph_to_index): New inline function.
- (glyph_to_name): Make extern, not inline.
- (glyph_to_number): Update.
- (font): Use `glyph *' instead of `glyph'.
-
- * src/libs/libgroff/nametoindex.cpp (charinfo): Inherit from class
- `glyph'. Make `name' field public.
- (character_indexer, number_to_glyph, name_to_glyph): Use `glyph *'
- instead of `glyph'.
- (glyph_to_name): Renamed from `glyph::glyph_name'.
-
- * src/roff/troff/charinfo.h (charinfo): Inherit from class `glyph'.
- Use `glyph *' instead of `glyph'.
-
- * src/roff/troff/input.cpp (name_to_glyph, number_to_glyph): Use
- `glyph *' instead of `glyph'.
- (glyph_to_name): Renamed from `glyph::glyph_name'.
-
- * src/libs/libgroff/font.cpp: Use `glyph *' instead of `glyph',
- and `glyph_to_index' instead of `glyph::glyph_index'.
-
- * src/include/printer.h (printer): Use `glyph *' instead of `glyph'.
- * src/libs/libdriver/printer.cpp: Likewise.
- * src/devices/grodvi/dvi.cpp: Likewise.
- * src/devices/grohtml/post-html.cpp: Likewise.
- * src/devices/grolbp/lbp.cpp: Likewise.
- * src/devices/grolj4/lj4.cpp: Likewise.
- * src/devices/grops/ps.cpp: Likewise.
- * src/devices/grotty/tty.cpp: Likewise.
-
-2006-02-22 Werner LEMBERG <wl@gnu.org>
-
- * font/devdvi/generate/tc.map: Add `sr' glyph.
- * font/devdvi/*TC: Regenerated.
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Use entry
- for `sqrt'.
-
-2006-02-21 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_char.man: Explain `***' marker.
-
-2006-02-17 Bruno Haible <bruno@clisp.org>
-
- * src/libs/libgroff/nametoindex.cpp (character_indexer): Rename
- methods and fields from *_index to *_glyph.
- (character_indexer::named_char_glyph): Test for `charNNN' name
- here...
- (name_to_glyph): ... not here.
-
-2006-02-17 Bruno Haible <bruno@clisp.org>
-
- * src/include/font.h (name_to_glyph): Renamed from
- font::name_to_index.
- (number_to_glyph): Renamed from font::number_to_index.
- (glyph_to_name): Renamed from font::index_to_name.
- (glyph_to_number): Renamed from font::index_to_number.
- * src/libs/libgroff/nametoindex.cpp: Likewise.
- * src/roff/troff/charinfo.h (charinfo::as_glyph): Renamed from
- charinfo::get_index.
-
- * src/roff/troff/input.cpp: All callers changed.
- * src/roff/troff/node.cpp: Likewise.
- * src/libs/libgroff/font.cpp: Likewise.
- * src/devices/grops/ps.cpp: Likewise.
- * src/devices/grohtml/post-html.cpp: Likewise.
- * src/libs/libdriver/printer.cpp: Likewise.
-
-2006-02-17 Werner LEMBERG <wl@gnu.org>
-
- * src/include/ptable.h, src/include/itable.h
- (NEXT_PTABLE_SIZE_DEFINED): Use it to avoid multiple declaration
- of external symbol `next_ptable_size' (used by both header files).
-
-2006-02-15 Bruno Haible <bruno@clisp.org>
-
- * src/include/font.h (glyphinfo): New class.
- (glyph): Change internal representation.
- Change constructor signature.
- New method glyph::glyph_number().
- (glyph::glyph, glyph glyph::undefined_glyph, glyph::glyph_index,
- glyph::operator==, glyph::operator!=): Update.
- (font::index_to_name, font::index_to_number): New functions.
-
- * src/include/itable.h: New file, based on src/include/ptable.h.
-
- * src/libs/libgroff/nametoindex.cpp: Include itable.h.
- (class charinfo): New class.
- (class character_indexer): Change table result type from `int' to
- `class charinfo'.
- Add table with integer key.
- (character_indexer::character_indexer): Update.
- (character_indexer::ascii_char_index): Update.
- (character_indexer::numbered_char_index): Use NULL as name, not a
- string starting with a space.
- (character_indexer::named_char_index): Update.
- (font::number_to_index, font::name_to_index): Remove no-op cast.
- (glyph::glyph_name): New method.
- * src/roff/troff/charinfo.h (class charinfo): Inherit from class
- glyphinfo.
- (NUMBERED): Remove flag bit.
- (charinfo::numbered, charinfo::get_index): Update.
-
- * src/roff/troff/input.cpp (charinfo::charinfo): Update.
- (charinfo::set_number, charinfo::get_number): Update.
- (glyph::glyph_name): New method.
-
-2006-02-15 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/glyphuni.cpp (glyph_to_unicode_list): Fix
- entries for `>>', `<<', `*f', and `+f'. Reported by Bruno.
-
-2006-02-13 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/prologue.ps (RE): Check `UniqueID' also, similar to
- dvips.
-
-2006-02-11 Werner LEMBERG <wl@gnu.org>
-
- * src/include/font.h: s/glyph_t/glyph/.
- Update all callers.
-
- * src/devices/grotty/tty.cpp: s/glyph/tty_glyph/.
- s/output_character_t/output_character/.
-
-2006-02-11 Bruno Haible <bruno@clisp.org>
-
- New accessor method glyph_t::glyph_name().
-
- * src/include/ptable.h (declare_ptable): Add a return value to the
- `define' method, and declare a `lookupassoc' method.
- (implement_ptable): Return the stored key in `define'. Implement
- lookupassoc.
- * src/include/font.h (glyph_t): Add `name' field. Add an argument
- to the constructor.
- (glyph_t::glyph_name): New method.
-
- * src/libs/libgroff/nametoindex.cpp (character_indexer): Change
- return type of methods and field member type to glyph_t.
- (character_indexer::character_indexer): Update.
- (character_indexer::ascii_char_index): Allocate a name for the
- glyph.
- Return a glyph_t with name.
- (character_indexer::numbered_char_index): Return a glyph_t without a
- name.
- (character_indexer::named_char_index): Return a glyph_t with a name.
- (font::number_to_index, font::name_to_index): Update.
-
- * src/roff/troff/input.cpp (charinfo::charinfo): Use the symbol as
- the glyph's name.
-
-2006-02-11 Bruno Haible <bruno@clisp.org>
-
- * src/devices/grotty/tty.cpp (output_character_t): New type.
- (tty_printer::make_bold, tty_printer::add_char,
- tty_printer::put_char): Change argument type to output_character_t.
- (crossings): Change element type to output_character_t.
-
-2006-02-11 Bruno Haible <bruno@clisp.org>
-
- Make the glyph data type abstract.
-
- * src/include/font.h (glyph_t): New class.
- (name_to_index, number_to_index): Change return type to glyph_t.
- (font::contains, font::get_width, font::get_height, font::get_depth,
- font::get_character_type, font::get_kern, font::get_skew,
- font::get_italic_correction, font::get_left_italic_correction,
- font::get_subscript_correction, font::get_code,
- font::get_special_device_encoding, font::add_entry,
- font::copy_entry, font::add_kern, font::hash_kern): Change argument
- type to glyph_t.
-
- * src/libs/libgroff/font.cpp (font_kern_list): Change members
- type and constructor argument types to glyph_t.
- (font::contains, font::get_width, font::get_height, font::get_depth,
- font::get_character_type, font::get_kern, font::get_skew,
- font::get_italic_correction, font::get_left_italic_correction,
- font::get_subscript_correction, font::get_code,
- font::get_special_device_encoding, font::add_entry,
- font::copy_entry, font::add_kern, font::hash_kern): Change argument
- type to glyph_t.
- (font::load): Use glyph_t variables.
-
- * src/libs/libgroff/nametoindex.cpp (name_to_index,
- number_to_index): Change return type to glyph_t.
-
- * src/roff/troff/charinfo.h (charinfo::index): Change type to
- glyph_t.
- (charinfo::get_index): Change return type to glyph_t.
-
- * src/roff/troff/env.cpp: Include font.h.
-
- * src/roff/troff/node.cpp: Include font.h before charinfo.h.
-
- * src/roff/troff/input.cpp: Include font.h before charinfo.h.
- (charinfo::charinfo): Update.
- (name_to_index, number_to_index): Change return type to glyph_t.
-
- * src/include/printer.h (printer::set_char_and_width): Change return
- type to glyph_t.
-
- * src/libs/libdriver/printer.cpp (printer::set_char_and_width):
- Change return type to glyph_t.
-
- * src/devices/grodvi/dvi.cpp (dvi_printer::set_char): Change
- argument type to glyph_t.
-
- * src/devices/grohtml/post-html.cpp (page::add_and_encode): Update.
- (html_printer::space_glyph): Renamed from space_char_index.
- (html_printer::add_to_sbuf, html_printer::sbuf_continuation,
- html_printer::overstrike, html_printer::set_char): Change argument
- type to glyph_t.
- (html_printer::set_char_and_width): Change return type to glyph_t.
-
- * src/devices/grolbp/lbp.cpp (lbp_printer::set_char): Change
- argument type to glyph_t.
-
- * src/devices/grolj4/lj4.cpp (lj4_printer::set_char): Change
- argument type to glyph_t.
-
- * src/devices/grops/ps.cpp (ps_printer::space_glyph): Renamed from
- space_char_index.
- (ps_printer::set_subencoding, ps_printer::set_char): Change argument
- type to glyph_t.
-
- * src/devices/grotty/tty.cpp (tty_printer::set_char): Change
- argument type to glyph_t.
-
-2006-02-11 Bruno Haible <bruno@clisp.org>
-
- * src/roff/troff/input.cpp (font::name_to_index): Never return a
- negative value.
-
- * src/libs/libgroff/font.cpp (font::load): Remove failure tests for
- font::name_to_index.
-
-2006-02-10 Werner LEMBERG <wl@gnu.org>
-
- * doc/groff.texinfo (Assigning Formats): Number registers are always
- interpolated.
- Apply some rephrasing, contributed by Michael Burt.
-
-2006-02-07 Werner LEMBERG <wl@gnu.org>
-
- * tmac/fr.tmac <ms>: Set `HY' register.
-
-2006-02-07 Werner LEMBERG <wl@gnu.org>
-
- Add framework for simple adaptation of the main macro packages (mm,
- me, ms, mom) to different locales. In particular, add support for
- French. For activation, simply use `-mfr' as the last macro
- package. This feature has been contributed by Fabrice Ménard
- <menard.fabrice@wanadoo.fr>.
-
- * tmac/fr.tmac, tmac/trans.tmac, tmac/hyphen.fr, tmac/LOCALIZATION:
- New files.
- * tmac/README: Mention hyphen.fr.
- * man/groff_tmac.man: Mention fr.tmac.
- * NEWS: Updated.
-
-2006-01-27 Werner LEMBERG <wl@gnu.org>
-
- * man/groff_font.man: Updated documentation of `entity_name' field.
- Avoid future tense.
-
-2006-01-27 Bruno Haible <bruno@clisp.org>
-
- * font/devhtml/R.proto: Remove the entity names from the font's
- special_encoding_encoding column.
- * src/devices/grohtml/post-html.cpp (get_html_entity): New function,
- handling the entity names here.
- (get_html_translation): Use it. Change return type to `const
- char *'.
- (page::add_and_encode): Update, removing a useless cast.
-
-2006-01-26 Werner LEMBERG <wl@gnu.org>
-
- This change is based on a patch by Bruno Haible <bruno@clisp.org>.
-
- * src/include/device.h: Add comments.
- * src/include/font.h: Add comments.
- * src/include/unicode.h: Likewise.
- * src/include/ptable.h, src/libs/libgroff/ptable.cpp: Likewise.
-
-2006-01-26 Keith Marshall <keith.d.marshall@ntlworld.com>
-
- Suppress `.st' request emission by `grn'.
-
- * src/preproc/grn/main.cpp (USE_ST_REQUEST): New macro.
- (conv): Use it.
-
-2006-01-22 Werner LEMBERG <wl@gnu.org>
-
- * install-sh: New version; taken from texinfo CVS.
-
-2006-01-21 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/preconv/preconv.cpp (main): Set program_name. Bug
- reported by Alexander E. Patrakov <patrakov@ums.usu.ru>.
-
-2006-01-19 Bruno Haible <bruno@clisp.org>
-
- Let `make -k install' install more files.
-
- * Makefile.in (MAKE_K_FLAG): New variable. Use it everywhere where
- $(MAKE) and $(MDEFINES) are used.
- (CPROGDIRS): Remove $(XPROGDIRS). Treat $(XPROGDIRS) like
- $(CPROGDIRS) everywhere.
- ($(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS)): Don't depend
- on $(XPROGDIRS).
- ($(OTHERDIRS)): Likewise.
-
-
- * src/devices/grohtml/post-html.cpp (get_html_translation): Remove
- failure test for font::name_to_index -- it can never fail.
-
-2006-01-19 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/grops.man: Fix section on creating EPS files.
- Don't use future time in manual.
- Other minor fixes.
-
-2006-01-15 Gaius Mulley <gaius@glam.ac.uk>
-
- * tmac/www.tmac: New macro LINKSTYLE which allows users to set
- various typographical URL attributes for non-HTML devices.
-
- * tmac/groff_www.man: Document LINKSTYLE.
-
-2006-01-11 Werner LEMBERG <wl@gnu.org>
-
- * configure.ac: Test for getc_unlocked (needed for localcharset).
- * configure, src/include/config.hin: Regenerated.
-
- * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Define
- ENABLE_RELOCATABLE.
-
- * src/libs/libgroff/relocatable.h: New dummy header file for
- localcharset.c.
-
- * src/libs/libgroff/localcharset.c: Updated to (unchanged) CVS
- gnulib version.
-
-2006-01-10 Bruno Haible <bruno@clisp.org>
-
- Work around unportability of nl_langinfo(CODESET).
-
- * m4/glibc21.m4: New file, from gnulib.
- * Makefile.sub (M4MACROS): Add m4/glibc21.m4.
- * configure.ac: Also test for stddef.h, and invoke jm_GLIBC21.
- * Makefile.in (HOST, GLIBC21): New variables.
- (MDEFINES): Pass them to subdirectories.
- * src/include/relocate.h (relocatep): Define with C linkage.
- * src/include/localcharset.h: New file, from gnulib.
- * src/libs/libgroff/localcharset.c: New file, from gnulib with a
- modification for relocate().
- * src/libs/libgroff/config.charset: New file, from gnulib.
- * src/libs/libgroff/ref-add.sin: New file, from gnulib.
- * src/libs/libgroff/ref-del.sin: New file, from gnulib.
- * src/libs/libgroff/Makefile.sub (EXTRA_CFLAGS): Also define LIBDIR.
- (OBJS): Add localcharset.o.
- (CSRCS): Add localcharset.c.
- (all): Add dependencies to charset.alias, ref-add.sed, ref-del.sed.
- (charset.alias): New rule.
- (PACKAGE): New variable.
- (ref-add.sed, ref-del.sed): New rules.
- (MKINSTALLDIRS): New variable.
- (install_data): Depend on install_charset_data.
- (install_charset_data): New rule for creating or updating
- charset.alias.
- (uninstall_sub): Depend on uninstall_charset_data.
- (uninstall_charset_data): New rule for uninstalling or updating
- charset.alias.
- * src/preproc/preconv/preconv.cpp: Include localcharset.h instead
- of <langinfo.h>.
- (main): Initialize default_encoding from locale_charset() instead of
- nl_langinfo(CODESET).
-
- * aclocal.m4, configure, src/include/config.hin: Regenerated.
-
-2006-01-10 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/preconv/preconv.cpp (conversion_iconv): Use
- ICONV_CONST in call to iconv. Reported by Robert Goulding.
-
-2006-01-07 Werner LEMBERG <wl@gnu.org>
-
- * font/devps/generate/freeeuro.sfd: Run auto-hinter with recent
- fontforge version.
- Bump font version to 001.001.
-
- * font/devps/generate/Makefile (freeeuro.afm, freeeuro.pfa):
- Call fontforge, not pfaedit.
-
- * font/devps/freeeuro.afm, font/devps/freeeuro.pfa: Regenerated.
-
-2006-01-05 Ruslan Ermilov <ru@FreeBSD.org>
-
- * tmac/doc-common: Add new FreeBSD and NetBSD versions.
- * tmac/groff_mdoc.man: Updated.
-
-2006-01-05 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/preconv/preconv.cpp: s/debug/debug_flag/.
- (raw_flag): New global variable.
- (do_file): Use .lf to set file name (if `raw_flag' isn't set).
- Don't pass BOM to `conversion_utf8'.
- (usage): Updated.
- (main): Handle `-r' command line switch to set `raw_flag'.
- (get_BOM): Fix encodings in `BOM_table'.
-
- * src/preproc/preconv/preconv.man: New file. Not complete yet.
- * src/preproc/proconv/Makefile.sub (MAN1): New variable.
-
-2006-01-04 Werner LEMBERG <wl@gnu.org>
-
- * src/preproc/preconv/preconv.cpp (emacs_to_mime): As suggested by
- Bruno, comment out most encodings to support only a small set of
- coding tags, thus reducing potential problems with legacy encodings
- and character sets in the future.
- Add many XEmacs coding tags (now commented out).
- Add `cp1047'.
- (check_encoding_tag): Renamed to...
- (check_coding_tag): This.
- (get_BOM): Return encoding as specified by BOM.
- Test for UTF32-LE too.
- (do_file): Don't check for coding tag if a BOM has been found.
-
-2006-01-03 Bruno Haible <bruno@clisp.org>
-
- * m4/groff.m4: Renamed from aclocal.m4.
- * m4/codeset.m4: New file, from gnulib.
- * m4/iconv.m4: New file, from gnulib.
- * m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New files, from
- gnulib.
- * config.rpath: New file, from gnulib.
- * config.guess, config.sub: New files, from gnulib.
- * Makefile.sub (M4MACROS): New variable.
- (configure): Fix typo.
- (aclocal.m4): New rule.
- (stamp-h.in): Depend on aclocal.m4.
- * configure.ac: Invoke AM_ICONV and AM_LANGINFO_CODESET.
- * Makefile.in (LIBICONV): New variable.
- (MDEFINES): Pass it to recursive makes.
- * src/preproc/preconv/preconv.cpp: Use HAVE_LANGINFO_CODESET and
- HAVE_ICONV instead of I18N macro.
- * src/preproc/preconv/Makefile.sub (EXTRA_LDFLAGS): New variable.
-
- * aclocal.m4, configure, src/include/config.hin: (Re)generated.
-
-2006-01-03 Werner LEMBERG <wl@gnu.org>
-
- * doc/Makefile.in (webpage.html): Simplify.
- * doc/Makefile.sub (webpage.html): Synchronize with doc/Makefile.in.
- * doc/webpage.ms, tmac/groff_www.man, tmac/www.tmac: Minor updates.
-
-2006-01-01 Werner LEMBERG <wl@gnu.org>
-
- * tmac/doc-common (Os): Add some Darwin versions.
- * tmac/groff_mdoc.man: Document them.
-
-2006-01-01 Bruno Haible <bruno@clisp.org>
-
- * src/preproc/preconv/preconv.cpp (emacs_to_mime): Various
- corrections:
- . Don't map ascii to latin-1.
- . Don't use IBMxxx encodings but cpxxx for portability.
- . Map cp932, cp936, cp949, cp950 to itself.
- (emacs2mime): Protect calls to strcasecmp.
- (conversion_iconv): Add missing call to iconv_close.
- (do_file): Emit error message in case of unsupported encoding.
-
-2005-12-31 Werner LEMBERG <wl@gnu.org>
-
- Integrate preconv into the groff binary. Changes based on a patch
- from Michail Vidiassov.
-
- * src/roff/groff/pipeline.h (MAX_COMMANDS): Increase by 1.
-
- * src/roff/groff/groff.cpp (PRECONV_INDEX): New macro.
- (SOELIM_INDEX): Updated.
- (help, synopsis): Updated.
- (main): Add command line options `-k' and `-K enc' to select
- encoding.
- Add support for GROFF_ENCODING environment variable.
-
- * src/roff/groff/groff.man: Updated and revised.
-
-
- Start with autoconf support for preconv.
-
- * configure.ac: Call AC_C_BIGENDIAN.
- * configure, src/include/config.hin: Regenerated.
-
-2005-12-30 Werner LEMBERG <wl@gnu.org>
-
- New preprocessor `preconv' to convert input encodings to something
- groff can understand. Not yet integrated within groff. Proper
- autoconf stuff is missing too.
-
- Tomohiro Kubota has written a first draft of this program, and some
- ideas have been reused (while almost no code has been taken
- actually).
-
- * src/preproc/preconv/preconv.cpp. src/preproc/preconv/Makefile.sub:
- New files.
-
- * MANIFEST, Makefile.in (CCPROGDIRS), test-groff.in
- (GROFF_BIN_PATH): Add preconv.
-
-2005-12-12 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_MAKEINFO): Fix regexps to be POSIX conformant.
- In particular, don't use `\+' since it is a GNU sed extension.
-
- * configure: Regenerated.
-
-2005-12-09 Werner LEMBERG <wl@gnu.org>
-
- * src/libs/libgroff/make-uniuni: New script to generate uniuni.cpp.
-
- * src/libs/libgroff/uniuni.cpp: Regenerated, using data from Unicode
- 4.1.0.
-
-
- * src/utils/afmtodit/make-afmtodit-tables: New script to generate
- afmtodit.tables.
-
- * src/utils/afmtodit/afmtodit.tables: New file, representing Unicode
- 4.1.0 data.
-
- * src/utils/afmtodit/afmtodit.pl (%unicode_decomposed,
- %AGL_to_unicode): Removed. Replace it with a tag.
-
- * src/utils/afmtodit/Makefile.sub (afmtodit): Adjust sed expression
- to replace tag with actual file contents.
-
-2005-12-08 Werner LEMBERG <wl@gnu.org>
-
- The change 2005-06-20 can indeed cause problems, so we follow the
- advice by using marks.
-
- * font/devps/prologue.ps (PBEGIN): Use `mark'.
- (PEND): Use `cleartomark'.
-
-2005-12-07 Michail Vidiassov <master@iaas.msu.ru>
-
- * src/utils/afmtodit.pl: Fix kerning output to avoid warnings for
- glyphs which have kern values but aren't handled (glyph variants,
- for example).
-
-2005-12-02 Werner LEMBERG <wl@gnu.org>
-
- * src/devices/grops/ps.cpp (ps_printer::get_subfont): Use correct
- subfont index. Reported by Michail Vidiassov <master@iaas.msu.ru>.
-
-2005-11-28 Gaius Mulley <gaius@glam.ac.uk>
-
- * doc/Makefile.in: Separate rule for webpage.html so that extra
- command line options can be passed to grohtml.
- * doc/groff.css: Change all margins to 0%.
- * doc/webpage.ms: Now use new macros ALN, LNS, and LNE so that left
- navigation is exploited. Also update webpage to contain new
- sections on licenses, mailing lists, cvs/ftp access, groff
- dependencies, and bug reports.
- * tmac/groff_www.man: Document the new macros ALN, LNS, and LNE.
- * tmac/www.tmac: Implement the new macros ALN, LNS, and LNE.
-
-2005-11-25 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp
- (html_printer::do_file_components): Add fputs calls to emit the
- head contents and shut down the head tag whenever a new file
- component is generated.
-
-2005-11-22 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp (html_printer::flush_page): Add
- call to flush_text to flush any outstanding html tags on the
- paragraph stack.
-
-2005-11-18 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_MAKEINFO): Use `groff.info' in tests.
- Announce makeinfo version.
- * configure: Regenerated.
-
-2005-11-18 Mike Frysinger <vapier@gentoo.org>
-
- * Makefile.in: Declare proper dependencies between make targets.
-
- * doc/Makefile.in: Rename groff info page to `groff.info'.
- * doc/Makefile.sub: Likewise.
- * doc/groff.texinfo: Likewise.
-
-2005-11-17 Peter O'Gorman <mlists@thewrittenword.com>
-
- * src/utils/pfbtops/pfbtops.c, src/utils/xtotroff/xtotroff.c: Move
- definition of __GETOPT_PREFIX to the beginning of file to ensure
- that it is defined even on platforms where getopt.h is already
- included by other header files.
-
-2005-11-10 Gaius Mulley <gaius@glam.ac.uk>
-
- * src/devices/grohtml/post-html.cpp (html_printer::do_heading):
- Reset font to NULL to ensure that a font block is recreated during
- the next paragraph.
-
-2005-11-04 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_MAKEINFO): Fix sed expression.
- * configure: Regenerated.
-
-2005-10-27 Werner LEMBERG <wl@gnu.org>
-
- * aclocal.m4 (GROFF_MAKEINFO): New function for checking whether
- makeinfo 4.8 or newer is available.
- * configure.ac: Call GROFF_MAKEINFO.
- * configure: Regenerated.
-
- * Makefile.in (MAKEINFO): Use autoconf variable.
- (MDEFINES): Add MAKEINFO.
-
- * doc/Makefile.in (MAKEINFO): Use autoconf variable.
- * doc/Makefile.sub (MAKEINFO): Remove.
-
-2005-10-26 Werner LEMBERG <wl@gnu.org>
-
- * REVISION: Set to 3.
-
-2005-10-17 Werner LEMBERG <wl@gnu.org>
-
- Mention $MANPAGER variable used with some `man' systems.
-
- * doc/webpage.ms, src/devices/grotty/grotty.man, NEWS: Updated.
-
-2005-09-13 Werner LEMBERG <wl@gnu.org>
-
- * tmac/hyphenex.us: New version (`ushyphex.tex' from ftp.dante.de).
-
-Copyright 2005-2009
- Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
-
-Local Variables:
-version-control: never
-coding: latin-1
-End:
diff --git a/MANIFEST b/MANIFEST
index 961053a9..ef0cc999 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
- Copyright 2001-2006, 2009-2011
+ Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
@@ -69,7 +69,6 @@ the groff source distribution.
devlbp Device for Canon CAPSL laser printers.
devlj4 Device for HP Laserjet 4, PCL 5, and compatible printers.
devps PostScript device.
- devpdf PDF device.
devutf8 Text device for Unicode output.
util Utility programs.
@@ -85,7 +84,6 @@ the groff source distribution.
grolbp Canon printers.
grolj4 HP Laserjet 4, PCL 5, and compatible printers.
grops PostScript output.
- gropdf PDF output.
grotty Text output.
xditview A groff (pre)viewer for the X Window system.
diff --git a/Makefile.comm b/Makefile.comm
index 67b164ae..f3bbc84b 100644
--- a/Makefile.comm
+++ b/Makefile.comm
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2000, 2002-2004, 2006-2011
+# Copyright (C) 1989-2000, 2002, 2003, 2004, 2006, 2007, 2009, 2010
# Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
@@ -21,7 +21,7 @@
#
INCLUDES=-I. -I$(srcdir) \
-I$(top_builddir)/src/include -I$(top_srcdir)/src/include \
- -I$(top_builddir)/src/libs/gnulib/lib
+ -I$(tob_builddir)/src/libs/gnulib/lib
ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
COMPILE.cpp=$(CCC) $(ALL_CCFLAGS) -c
ALL_CFLAGS=$(INCLUDES) $(CDEFINES) $(CFLAGS) $(CPPFLAGS)
@@ -246,18 +246,6 @@ install_dev:
test -d $(DESTDIR)$(fontsubdir)/generate \
|| $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/generate; \
fi
- -if test -d $(srcdir)/enc; then \
- test -d $(DESTDIR)$(fontsubdir)/enc \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/enc; \
- fi
- -if test -d $(srcdir)/map; then \
- test -d $(DESTDIR)$(fontsubdir)/map \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/map; \
- fi
- -if test -d $(srcdir)/util; then \
- test -d $(DESTDIR)$(fontsubdir)/util \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/util; \
- fi
-if test -d $(srcdir)/old; then \
test -d $(DESTDIR)$(oldfontdir) \
|| $(mkinstalldirs) $(DESTDIR)$(oldfontdir); \
@@ -300,12 +288,6 @@ uninstall_dev:
done
-test -d $(DESTDIR)$(fontsubdir)/generate \
&& rmdir $(DESTDIR)$(fontsubdir)/generate
- -test -d $(DESTDIR)$(fontsubdir)/enc \
- && rmdir $(DESTDIR)$(fontsubdir)/enc
- -test -d $(DESTDIR)$(fontsubdir)/map \
- && rmdir $(DESTDIR)$(fontsubdir)/map
- -test -d $(DESTDIR)$(fontsubdir)/util \
- && rmdir $(DESTDIR)$(fontsubdir)/util
-rmdir $(DESTDIR)$(fontsubdir)
-rmdir $(DESTDIR)$(oldfontsubdir)
diff --git a/Makefile.in b/Makefile.in
index 0cc3b4de..d068a30e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 1989-2006, 2009-2012
+# Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010
# Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
@@ -188,8 +188,6 @@ localtmacdir=$(dataprogramdir)/site-tmac
# gxditview.
appresdir=@appresdir@
-groffer_dir=@groffer_dir@
-
# `tmacpath' says where to look for macro files.
# The current directory will be prepended in unsafe mode only; the home
# directory will be always added.
@@ -495,7 +493,6 @@ MDEFINES= \
"YACC=$(YACC)" \
"YACCFLAGS=$(YACCFLAGS)" \
"appresdir=$(appresdir)" \
- "groffer_dir=$(groffer_dir)" \
"bindir=$(bindir)" \
"common_words_file=$(common_words_file)" \
"datadir=$(datadir)" \
@@ -546,13 +543,7 @@ MDEFINES= \
"top_srcdir=$(top_srcdir)" \
"version=$(version)"
-MAKE_K_FLAG=`for f in x $(MAKEFLAGS); do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) echo ' -k ';; \
- esac; \
- done`
-
+MAKE_K_FLAG=`case "$(MAKEFLAGS)" in *k*) echo ' -k ';; esac`
INCDIRS=\
src/include
@@ -619,12 +610,7 @@ OTHERDIRS=\
contrib/mom \
contrib/hdtbl \
contrib/pdfmark \
- src/devices/gropdf \
- font/devpdf \
contrib/gdiffmk
-
-# OTHERDIRS is handled specially in the `$(TARGETS)' rule to avoid
-# dependency problems with parallel builds.
ALLDIRS=\
$(INCDIRS) \
$(LIBDIRS) \
@@ -632,8 +618,8 @@ ALLDIRS=\
$(DEVDIRS) \
$(XDEVDIRS) \
$(OTHERDEVDIRS) \
- $(TTYDEVDIRS)
-# $(OTHERDIRS)
+ $(TTYDEVDIRS) \
+ $(OTHERDIRS)
EXTRADIRS=\
font/devps/generate \
font/devdvi/generate \
@@ -694,14 +680,13 @@ ENVSETUP=\
fi
do=all
-dodirs=$(ALLDIRS) $(OTHERDIRS) dot
+dodirs=$(ALLDIRS) dot
# Default target for subdir_Makefile
subdir=src/roff/troff
$(TARGETS):
- @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) do=$@ $(ALLDIRS)
- @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) do=$@ $(OTHERDIRS) dot
+ @$(ENVSETUP); $(MAKE) $(MAKE_K_FLAG) $(MDEFINES) do=$@ $(dodirs)
dot: FORCE
@$(ENVSETUP); \
@@ -782,8 +767,7 @@ $(GNULIBDIRS): FORCE
case $(do) in \
all) \
cd $@; \
- args=`$(top_builddir)/config.status --config`; \
- test -f Makefile || eval $$srcdir/configure "$$args" --srcdir=$$srcdir; \
+ test -f Makefile || $(SHELL) $$srcdir/configure ; \
$(MAKE) ACLOCAL=: AUTOCONF=: AUTOHEADER=: AUTOMAKE=: $(do) ;; \
esac
diff --git a/NEWS b/NEWS
index 12ee2abf..4cfe4544 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,5 @@
- Copyright (C) 1989-2011
+ Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
@@ -8,28 +9,6 @@
This file describes recent user-visible changes in groff. Bug fixes are not
described. There are more details in the man and info pages.
-VERSION 1.21.1
-==============
-
-Groff
------
-
-o A new option `-j' has been added to call the `chem' preprocessor.
-
-Macro Packages
---------------
-
-o Support for the `refer' preprocessor has been added to the -mm macro
- package.
-
-o Bugs in the support for the `n1' and `n2' requests in the -me package were
- fixed that caused extra line numbers to be added to text in floats and
- diversion environments, as well as equations and pic-style pictures.
-
- The `TH' macro was changed for compatibility with line number support in
- tables.
-
-
VERSION 1.21
============
diff --git a/configure b/configure
index 5760f805..0e806a10 100755
--- a/configure
+++ b/configure
@@ -648,7 +648,6 @@ PSPRINT
LPQ
LP
LPR
-groffer_dir
appresdir
XLIBDIRS
XPROGDIRS
@@ -716,7 +715,6 @@ ac_user_opts='
enable_option_checking
with_x
with_appresdir
-with_grofferdir
with_gnu_ld
enable_rpath
with_libiconv_prefix
@@ -1364,7 +1362,6 @@ Optional Packages:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-x use the X Window System
--with-appresdir=DIR X11 application resource files
- --with-grofferdir=DIR groffer files location
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
@@ -1613,7 +1610,7 @@ $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
( $as_echo "## -------------------------------- ##
## Report this to bug-groff@gnu.org ##
-## -------------------------------- ##"
+## -------------------------------- ##"[]
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
@@ -2106,7 +2103,7 @@ trap 'exit_status=$?
$as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##"
+## ---------------- ##"[]
echo
# The following way of writing the cache mishandles newlines in values,
(
@@ -2142,7 +2139,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
$as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##"
+## ----------------- ##"[]
echo
for ac_var in $ac_subst_vars
do
@@ -2157,7 +2154,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
if test -n "$ac_subst_files"; then
$as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##"
+## ------------------- ##"[]
echo
for ac_var in $ac_subst_files
do
@@ -2173,7 +2170,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
if test -s confdefs.h; then
$as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##"
+## ----------- ##"[]
echo
cat confdefs.h
echo
@@ -2252,7 +2249,7 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2651,7 +2648,7 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2766,7 +2763,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -2809,7 +2806,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -2868,7 +2865,7 @@ $as_echo "$ac_try_echo"; } >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -2920,7 +2917,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3269,7 +3266,7 @@ else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -3902,7 +3899,7 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5 ; }
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4595,7 +4592,7 @@ if test "x$with_x" = xno; then
have_x=disabled
else
case $x_includes,$x_libraries in #(
- *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
*,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
$as_echo_n "(cached) " >&6
else
@@ -5449,18 +5446,6 @@ EOF
fi
fi
-
-# Check whether --with-grofferdir was given.
-if test "${with_grofferdir+set}" = set; then :
- withval=$with_grofferdir;
-fi
-
-if test "x$with_grofferdir" = "x"; then
- groffer_dir=$libdir/groff/groffer
- else
- groffer_dir=$with_grofferdir
- fi
-
if test -z "$PSPRINT"; then
for ac_prog in lpr
do
@@ -7780,7 +7765,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
@@ -7883,7 +7868,7 @@ fi
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -7916,7 +7901,7 @@ fi
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -10929,7 +10914,7 @@ do
"contrib/gdiffmk/tests/runtests") CONFIG_FILES="$CONFIG_FILES contrib/gdiffmk/tests/runtests" ;;
"test-groff") CONFIG_FILES="$CONFIG_FILES test-groff" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -11244,7 +11229,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -11272,7 +11257,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -11299,7 +11284,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
diff --git a/configure.ac b/configure.ac
index 16ded279..f528e1b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,6 @@
# Autoconf configuration file for groff.
-# Copyright (C) 1989-1995, 2001-2007, 2009, 2011
+# Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+# 2009
# Free Software Foundation, Inc.
#
# This file is part of groff.
@@ -58,8 +59,6 @@ GROFF_OS390
GROFF_X11
GROFF_APPRESDIR_OPTION
GROFF_APPRESDIR_DEFAULT
-GROFF_GROFFERDIR_OPTION
-GROFF_GROFFERDIR_DEFAULT
GROFF_PRINT
AC_PROG_EGREP
AC_PATH_PROG([PERLPATH], [perl], [/usr/bin/perl])
diff --git a/contrib/groffer/ChangeLog b/contrib/groffer/ChangeLog
index f996a86b..aa561a55 100644
--- a/contrib/groffer/ChangeLog
+++ b/contrib/groffer/ChangeLog
@@ -1,39 +1,3 @@
-2011-10-17 Ingo Schwarze <schwarze@openbsd.org>
-
- Do not use INSTALL_DATA and INSTALL_SCRIPT during build phase.
-
- * Makefile.sub (groffer): Replace INSTALL_DATA and
- INSTALL_SCRIPT with `cp'. Otherwise the build phase might
- fail with `permission denied' if you use the `-o root' flag
- of the `install' command. The use of INSTALL_* is an abuse
- anyway because it's not installing anything at that point;
- it's just copying files around locally, within in the build
- directories.
-
-2011-03-21 Jan Vcelak <jvcelak@redhat.com>
- Bernd Warken
-
- Remove hardcoded path to 'libdir/groff/groffer' directory.
-
- * Makefile.sub: use @groffer_dir@
-
- * groffer.pl: use @groffer_dir@
-
-2011-01-27 James Budiono <james.budiono@gmail.com>
- Bernd Warken
-
- Fix display of manpages.
-
- Reported as
- http://lists.gnu.org/archive/html/bug-groff/2011-01/msg00015.html.
-
- * perl/groffer.pl (_get_first_prog): Fix return value.
- (Viewer_X): Add `okular' viewer.
- * perl/man.pl (manpath_set_from_path): Handle `@main::Path)'
- correctly.
-
- * version.sh: Updated.
-
2009-01-03 Werner LEMBERG <wl@gnu.org>
* version.sh: Prepare for groff release 1.20.
@@ -262,7 +226,7 @@
________________________________________________________________
License
- Copyright (C) 2006-2009, 2011
+ Copyright (C) 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Written by Bernd Warken
diff --git a/contrib/groffer/Makefile.sub b/contrib/groffer/Makefile.sub
index dee3a430..6d2666be 100644
--- a/contrib/groffer/Makefile.sub
+++ b/contrib/groffer/Makefile.sub
@@ -2,11 +2,11 @@
# File position: <groff-source>/contrib/groffer/Makefile.sub
-# Copyright (C) 2001, 2002, 2005, 2006, 2009, 2011
+# Copyright (C) 2001, 2002, 2005, 2006, 2009
# Free Software Foundation, Inc.
# Written by Werner Lemberg <wl@gnu.org> and Bernd Warken.
-# Last update: 17 Oct 2011
+# Last update: 5 Jan 2009
# This file is part of `groffer' which is part of `groff'.
@@ -63,6 +63,8 @@ GROFFER_REST=$(srcdir)/roff2.man \
GROFFER_PERL_=`echo $(GROFFER_PERL) | sed 's|$(srcdir)/perl/||g'`
GROFFER_SHELL_=`echo $(GROFFER_SHELL) | sed 's|$(srcdir)/shell||g'`
+groffer_dir=$(libdir)/groff/groffer
+
# TODO: Add perl check to configure script.
groffer: $(GROFFER_PERL) $(GROFFER_SHELL) \
$(GROFFER_REST) $(SH_DEPS_SED_SCRIPT)
@@ -73,13 +75,12 @@ groffer: $(GROFFER_PERL) $(GROFFER_SHELL) \
-e "s|@g@|$(g)|g" \
-e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
-e "s|@libdir@|$(DESTDIR)$(libdir)|g" \
- -e "s|@groffer_dir@|$(DESTDIR)$(groffer_dir)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "$(SH_SCRIPT_SED_CMD)" \
$(srcdir)/perl/groffer.pl >$@; \
- cp $(srcdir)/perl/groffer.man groffer.man; \
+ $(INSTALL_DATA) $(srcdir)/perl/groffer.man groffer.man; \
for f in $(ROFF2PROGS); do \
- cp $(srcdir)/perl/roff2.pl $$f; \
+ $(INSTALL_SCRIPT) $(srcdir)/perl/roff2.pl $$f; \
done; \
else \
: >HAVE_SHELL; \
@@ -88,13 +89,12 @@ groffer: $(GROFFER_PERL) $(GROFFER_SHELL) \
-e "s|@g@|$(g)|g" \
-e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \
-e "s|@libdir@|$(DESTDIR)$(libdir)|g" \
- -e "s|@groffer_dir@|$(DESTDIR)$(groffer_dir)|g" \
-e "s|@VERSION@|$(version)$(revision)|g" \
-e "$(SH_SCRIPT_SED_CMD)" \
$(srcdir)/shell/groffer.sh >$@; \
- cp $(srcdir)/shell/groffer.man groffer.man; \
+ $(INSTALL_DATA) $(srcdir)/shell/groffer.man groffer.man; \
for f in $(ROFF2PROGS); do \
- cp $(srcdir)/shell/roff2.sh $$f; \
+ $(INSTALL_SCRIPT) $(srcdir)/shell/roff2.sh $$f; \
done; \
fi
chmod +x $@
diff --git a/contrib/groffer/perl/groffer.man b/contrib/groffer/perl/groffer.man
index 55e8339f..0eb36d8f 100644
--- a/contrib/groffer/perl/groffer.man
+++ b/contrib/groffer/perl/groffer.man
@@ -15,13 +15,13 @@ groffer.1 - man page for groffer (section 1).
Source file position: <groff_source_top>/contrib/groffer/perl/groffer.man
Installed position: $prefix/share/man/man1/groffer.1
-Last update: 7 Feb 2011
+Last update: 2 Jun 2010
..
.de author
This file was written by Bernd Warken.
..
.de copyleft
-Copyright (C) 2001, 2002, 2004-2006, 2009-2011
+Copyright (C) 2001, 2002, 2004, 2005, 2006, 2009, 2010
Free Software Foundation, Inc.
.
.P
@@ -594,7 +594,7 @@ All other arguments are ignored.
.
.TP
.OP -h\fR|\fR--help
-Print help information with a short explanation of options to
+Print a helping information with a short explanation of option sto
standard output.
.
.
@@ -980,7 +980,7 @@ Choose a viewer program for
This can be a file name or a program to be searched in
.Env_var $PATH .
.
-Common Postscript viewers include
+Common Postscript viewers inlude
.BR \%gv (1),
.BR \%ghostview (1),
and
@@ -1021,7 +1021,7 @@ Choose a text pager for mode
.IR tty .
The standard pager is
.BR less (1).
-This option is equivalent to
+This option is eqivalent to
.I man
option
.BR --pager=prog .
@@ -1582,7 +1582,7 @@ is a comma-separated list.
.
.TP
.B --where
-Equivalent to
+Eqivalent to
.B --location .
.
.
@@ -1872,7 +1872,7 @@ arguments is ignored.
.
The \f[CR]GNU\f[] behavior to recognize options even when mixed with
.I \%filespec
-arguments is used throughout.
+arguments is used througout.
.
But, as usual, the double minus argument
.B --
@@ -2156,7 +2156,7 @@ You can change this automatic behavior by the option
.
.P
Known viewers for the graphical display modes and their standard
-\%\f[CR]X\~Window\f[] viewer programs are
+\%\f[CR]X\~Window\f[] viewer progams are
.
.Topic
in a PDF viewer
@@ -2199,7 +2199,7 @@ in a dvi viewer program
.P
The
.I \%pdf\~mode
-has a major advantage \[em] it is the only graphical display mode that
+has a major advantage \[em] it is the only graphical diplay mode that
allows to search for text within the viewer; this can be a really
important feature.
.
@@ -3537,7 +3537,7 @@ The quotes around
.nh
.I \[cq]troff(1)\[cq]
.hy
-are necessary because the parentheses are special shell characters;
+are necessary because the paranthesis are special shell characters;
escaping them with a backslash character
.I \[rs](
and
diff --git a/contrib/groffer/perl/groffer.pl b/contrib/groffer/perl/groffer.pl
index 65d4cdbd..602abb06 100755
--- a/contrib/groffer/perl/groffer.pl
+++ b/contrib/groffer/perl/groffer.pl
@@ -5,10 +5,10 @@
# Source file position: <groff-source>/contrib/groffer/perl/groffer.pl
# Installed position: <prefix>/bin/groffer
-# Copyright (C) 2006, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009 Free Software Foundation, Inc.
# Written by Bernd Warken.
-# Last update: 22 Mar 2011
+# Last update: 5 Jan 2009
# This file is part of `groffer', which is part of `groff'.
@@ -132,7 +132,8 @@ BEGIN {
$at_at{'BINDIR'} = '@BINDIR@';
$at_at{'G'} = '@g@';
$at_at{'LIBDIR'} = '@libdir@';
- $groffer_libdir = '@groffer_dir@';
+ $groffer_libdir =
+ File::Spec->catdir($at_at{'LIBDIR'}, 'groff', 'groffer');
$file_perl_test_pl = File::Spec->catfile($groffer_libdir,
'perl_test.pl');
$File_version_sh = File::Spec->catfile($groffer_libdir, 'version.sh');
@@ -192,9 +193,9 @@ my %Viewer_X =('DVI' => ['kdvi', 'xdvi', 'dvilx'],
'HTML' => ['konqueror', 'epiphany'. 'mozilla-firefox',
'firefox', 'mozilla', 'netscape', 'galeon', 'opera',
'amaya','arena', 'mosaic'],
- 'PDF' => ['okular', 'kpdf', 'acroread', 'evince', 'xpdf -z 150', 'gpdf',
+ 'PDF' => ['kpdf', 'acroread', 'evince', 'xpdf -z 150', 'gpdf',
'kghostview --scale 1.45', 'ggv'],
- 'PS' => ['okular', 'kpdf', 'kghostview --scale 1.45', 'evince', 'ggv',
+ 'PS' => ['kpdf', 'kghostview --scale 1.45', 'evince', 'ggv',
'gv', 'ghostview', 'gs_x11', 'gs'],
'TTY' => ['xless'],
'X' => ['gxditview', 'xditview'],
@@ -1322,8 +1323,8 @@ sub _get_first_prog {
if (%prog) {
$Display{'PROG'} = $prog{'fullname'};
$Display{'ARGS'} = $prog{'args'};
- return 1;
}
+ return 1;
}
return 0;
} # _get_first_prog() of main_set_mode()
diff --git a/contrib/groffer/perl/man.pl b/contrib/groffer/perl/man.pl
index fb7ace3a..9785a8b5 100644
--- a/contrib/groffer/perl/man.pl
+++ b/contrib/groffer/perl/man.pl
@@ -5,10 +5,10 @@
# Source file position: <groff-source>/contrib/groffer/perl/man.pl
# Installed position: <prefix>/lib/groff/groffer/man.pl
-# Copyright (C) 2006, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2009 Free Software Foundation, Inc.
# Written by Bernd Warken.
-# Last update: 27 Jan 2011
+# Last update: 5 Jan 2009
# This file is part of `groffer', which is part of `groff'.
@@ -522,8 +522,7 @@ sub manpath_set_from_path {
my @path =
qw( /usr/local /usr /usr/X11R6 /usr/openwin /opt /opt/gnome /opt/kde );
# get a basic man path from $ENV{PATH}
- my @path2 = @main::Path;
- foreach (@path2) {
+ foreach (@main::Path) {
s#bin/*$##;
push @path, $_;
}
diff --git a/contrib/groffer/shell/ChangeLog.0 b/contrib/groffer/shell/ChangeLog.0
index 57510cbc..c112293d 100644
--- a/contrib/groffer/shell/ChangeLog.0
+++ b/contrib/groffer/shell/ChangeLog.0
@@ -502,7 +502,7 @@
systems parameter if any. Then _MAN_PATH is prepended by the
language part.
- _manpath_add_sys(): New subfunction of manpath_add_lang_sys() to
- handle the systems part.
+ handle the sytems part.
- man_search_section: Fix it to handle section names that have
more than one character (an extension).
- $_MAN_PATH: Now stores man path as a list. This is done in
diff --git a/contrib/groffer/shell/README_SH b/contrib/groffer/shell/README_SH
index 2bcea3ee..2def6f70 100644
--- a/contrib/groffer/shell/README_SH
+++ b/contrib/groffer/shell/README_SH
@@ -63,7 +63,7 @@ function obj_from_output().
Function Definitions in `groffer2.sh'
Each funtion in groffer2.sh has a description that starts with the
-function name and symbols for its arguments in parentheses `()'. Each
+function name and symbols for its arguments in paranthesis `()'. Each
`<>' construction gives an argument name that just gives a hint on
what the argument is meant to be; these argument names are otherwise
irrelevant. The `>' sign can be followed by another character that
@@ -147,8 +147,8 @@ The `groffer' shell scripts are compatible to both the GNU and the
POSIX shell and utilities. Care was taken to restrict the programming
technics used here in order to achieve POSIX compatibility as far back
as POSIX P1003.2 Draft 11.2 of September 1991. This draft is
-available at http://www.funet.fi/pub/doc/posix/p1003.2/d11.2 on the
-Internet.
+available at http://www.funet.fi/pub/doc/posix/p1003.2/d11.2 in the
+internet.
The POSIX draft does not include `local' variables for functions. So
this concept was replaced by global variables with a prefix that
@@ -268,9 +268,9 @@ by all shells. The `trap' commands work for the shells `bash',
####### License
-Last update: 7 Feb 2011
+Last update: 5 Jan 2009
-Copyright (C) 2003-2006, 2009, 2011
+Copyright (C) 2003, 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
Written by Bernd Warken
diff --git a/contrib/groffer/shell/groffer.man b/contrib/groffer/shell/groffer.man
index 729a7512..dc6ef30e 100644
--- a/contrib/groffer/shell/groffer.man
+++ b/contrib/groffer/shell/groffer.man
@@ -15,13 +15,13 @@ groffer.1 - man page for groffer (section 1).
Source file position: <groff_source_top>/contrib/groffer/shell/groffer.man
Installed position: $prefix/share/man/man1/groffer.1
-Last update: 7 Feb 2011
+Last update: 2 Jun 2010
..
.de author
This file was written by Bernd Warken.
..
.de copyleft
-Copyright (C) 2001, 2002, 2004-2011
+Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
.
.P
@@ -593,7 +593,7 @@ All other arguments are ignored.
.
.TP
.OP -h\fR|\fR--help
-Print help information with a short explanation of options to
+Print a helping information with a short explanation of option sto
standard output.
.
.
@@ -979,7 +979,7 @@ Choose a viewer program for
This can be a file name or a program to be searched in
.Env_var $PATH .
.
-Common Postscript viewers include
+Common Postscript viewers inlude
.BR \%gv (1),
.BR \%ghostview (1),
and
@@ -1020,7 +1020,7 @@ Choose a text pager for mode
.IR tty .
The standard pager is
.BR less (1).
-This option is equivalent to
+This option is eqivalent to
.I man
option
.BR --pager=prog .
@@ -1581,7 +1581,7 @@ is a comma-separated list.
.
.TP
.B --where
-Equivalent to
+Eqivalent to
.B --location .
.
.
@@ -1937,7 +1937,7 @@ arguments is ignored.
.
The \f[CR]GNU\f[] behavior to recognize options even when mixed with
.I \%filespec
-arguments is used throughout.
+arguments is used througout.
.
But, as usual, the double minus argument
.B --
@@ -2221,7 +2221,7 @@ You can change this automatic behavior by the option
.
.P
Known viewers for the graphical display modes and their standard
-\%\f[CR]X\~Window\f[] viewer programs are
+\%\f[CR]X\~Window\f[] viewer progams are
.
.Topic
in a PDF viewer
@@ -2264,7 +2264,7 @@ in a dvi viewer program
.P
The
.I \%pdf\~mode
-has a major advantage \[em] it is the only graphical display mode that
+has a major advantage \[em] it is the only graphical diplay mode that
allows to search for text within the viewer; this can be a really
important feature.
.
@@ -3640,7 +3640,7 @@ The quotes around
.nh
.I \[cq]troff(1)\[cq]
.hy
-are necessary because the parentheses are special shell characters;
+are necessary because the paranthesis are special shell characters;
escaping them with a backslash character
.I \[rs](
and
@@ -3781,7 +3781,7 @@ Both scripts are compatible with both
\%\f[CR]POSIX\fP compatibility refers to
\%\f[CR]IEEE\~P1003.2/D11.2\fP of September 1991, a very early
version of the \%\f[CR]POSIX\fP standard that is still freely
-available on the Internet at
+available in the internet at
.UR http://\:www.funet.fi/\:pub/\:doc/\:posix/\:p1003.2/\:d11.2/\:all
\%POSIX\~P1003.2\~draft\~11.2
.UE .
diff --git a/contrib/groffer/version.sh b/contrib/groffer/version.sh
index caf1e00e..393148cb 100644
--- a/contrib/groffer/version.sh
+++ b/contrib/groffer/version.sh
@@ -5,7 +5,7 @@
# Source file position: <groff-source>/contrib/groffer/version.sh
# Installed position: <prefix>/lib/groff/groffer/version.sh
-# Copyright (C) 2001-2006, 2009, 2011
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2009
# Free Software Foundation, Inc.
# Written by Bernd Warken
@@ -29,10 +29,10 @@
export _PROGRAM_VERSION;
export _LAST_UPDATE;
-_PROGRAM_VERSION='1.1.2';
-_LAST_UPDATE='26 Jan 2011';
+_PROGRAM_VERSION='1.1.1';
+_LAST_UPDATE='03 Jan 2009';
# this setting of the groff version is only used before make is run,
# otherwise @VERSION@ will set it, see groffer.sh.
export _GROFF_VERSION_PRESET;
-_GROFF_VERSION_PRESET='1.21';
+_GROFF_VERSION_PRESET='1.20preset';
diff --git a/contrib/hdtbl/ChangeLog b/contrib/hdtbl/ChangeLog
index 5c46f8ee..e280f7f6 100644
--- a/contrib/hdtbl/ChangeLog
+++ b/contrib/hdtbl/ChangeLog
@@ -1,16 +1,3 @@
-2011-01-17 Werner LEMBERG <wl@gnu.org>
-
- * examples/color_nested_tables.roff: Fix output.
-
- Problem reported by Ulrich Spörlein <uqs@spoerlein.net>.
-
-2011-01-17 Ulrich Spörlein <uqs@spoerlein.net>
-
- Don't make examples depend on bash.
-
- * examples/common.roff, examples/fonts_n.in, examples/fonts_x.in:
- s/bash/sh/.
-
2010-02-09 Werner LEMBEARG <wl@gnu.org>
Make example compilation work again if srcdir != builddir.
@@ -281,7 +268,7 @@
* Import of hdtbl 0.91 (with some further modifications). Still
many rough edges.
-Copyright 2006, 2008-2011
+Copyright 2006, 2008, 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
diff --git a/contrib/hdtbl/examples/color_nested_tables.roff b/contrib/hdtbl/examples/color_nested_tables.roff
index 6e6b70d8..e16d209a 100644
--- a/contrib/hdtbl/examples/color_nested_tables.roff
+++ b/contrib/hdtbl/examples/color_nested_tables.roff
@@ -5,7 +5,7 @@ color_nested_tables.roff
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2005, 2006, 2009-2011 Free Software Foundation, Inc.
+Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
written by Joachim Walsdorff <Joachim.Walsdorff@urz.uni-heidelberg.de>.
groff is free software; you can redistribute it and/or modify it under
@@ -35,30 +35,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
.nr # 0 1
*****
.PN 39 .random# ".defcolor c\\n[#] rgb \\\\*[#random] " \
- ".TBL csp=0 cpd=0 border=1n bc=c\\n[#]" \
- ".if \\\\n+#=1 .CPTN val=b Nested Tables with Randomly Colored Border" \
- .TR .TD
+".TBL csp=0 cpd=0 border=1n bc=c\\n[#]" \
+".if \\\\n+#=1 .CPTN val=b Nested Tables with Randomly Colored Border" \
+.TR .TD
.PN 39 .ETB
.PN 15 Text after first table.
-.
.time
-.
-.bp
-.
.time start
-.
.PN 15 Text before second table.
*****
.nr # 0 1
.PN 39 .random# ".defcolor c\\n[#] rgb \\\\*[#random] " \
- ".TBL csp=0 cpd=1n border= bgc=c\\n[#]" \
- ".if \\\\n+#=1 .CPTN val=b Nested Tables with Randomly Colored Background" \
- .TR .TD
+".TBL csp=0 cpd=1n border= bgc=c\\n[#]" \
+".if \\\\n+#=1 .CPTN val=b Nested Tables with Randomly Colored Background" \
+.TR .TD
.PN 39 .ETB
.PN 25 Text after second table.
-.
.time
-.
.\" 466MHz Celeron CPU, 384MB RAM
.\" WindowsXP/cygwin groff18.1: 9/9s
.\" WindowsXP/cygwin groff19.2: 14/14s
diff --git a/contrib/hdtbl/examples/common.roff b/contrib/hdtbl/examples/common.roff
index 392e4a25..c4857d38 100644
--- a/contrib/hdtbl/examples/common.roff
+++ b/contrib/hdtbl/examples/common.roff
@@ -65,7 +65,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
.\" ** for example "Sun Dec 5 22:27:57 2004" **
.\" ******************************************************************
.de date
-. pso sh -c "echo -n .ds *date\ ;date"
+. pso bash -c "echo -n .ds *date\ ;date"
. tm \\*[*date] ***
..
.
@@ -83,9 +83,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
. ds * \\$1\"
. substring * 0 0
. ie "\\*[*]"s" \
-. pso sh -c "echo -n .nr *time 0+;date +%s"
+. pso bash -c "echo -n .nr *time 0+;date +%s"
. el \{\
-. pso sh -c "echo -n .nr *time -;date +%s"
+. pso bash -c "echo -n .nr *time -;date +%s"
. nr *time 0-\\n[*time]
. tm elapsed time: \\n[*time] seconds
. \}
diff --git a/contrib/hdtbl/examples/fonts_n.in b/contrib/hdtbl/examples/fonts_n.in
index c6625885..709ffb25 100644
--- a/contrib/hdtbl/examples/fonts_n.in
+++ b/contrib/hdtbl/examples/fonts_n.in
@@ -50,7 +50,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
. el \
. ds *args \\n[.fn]
.
-. pso sh -c \
+. pso bash -c \
"echo -n .ds *f\ ; \
ls \\*[fontpath]/dev\*[.T] \
| tr '[:cntrl:]' ' '"
diff --git a/contrib/hdtbl/examples/fonts_x.in b/contrib/hdtbl/examples/fonts_x.in
index 639a8226..77b5ac37 100644
--- a/contrib/hdtbl/examples/fonts_x.in
+++ b/contrib/hdtbl/examples/fonts_x.in
@@ -50,7 +50,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
. el \
. ds *args \\n[.fn]
.
-. pso sh -c \
+. pso bash -c \
"echo -n .ds *f\ ; \
ls \\*[fontpath]/dev\*[.T] \
| tr '[:cntrl:]' ' '"
diff --git a/contrib/mm/ChangeLog b/contrib/mm/ChangeLog
index b3808e28..b3efc153 100644
--- a/contrib/mm/ChangeLog
+++ b/contrib/mm/ChangeLog
@@ -1,69 +1,3 @@
-Sun Aug 14 07:36:29 2011 Anton Shepelev <anton.txt@gmail.com>
-
- Fix indents in nested static displays.
-
- * m.tmac (DS, ds@end): Save indent with a stack.
- See http://lists.gnu.org/archive/html/groff/2011-07/msg00068.html
- for an example.
-
-Sun Mar 27 09:25:01 2011 Anton Shepelev <anton.txt@gmail.com>
-
- * m.tmac (misc@tag): Fix last patch.
-
-Sat Mar 19 13:46:50 2011 James Avera <jimav>
-
- * m.tmac (RD): Don't use `.ie' but `.if'.
-
-Fri Mar 18 09:10:19 2011 Anton Shepelev <anton.txt@gmail.com>
-
- * m.tmac (misc@tag): Retain temporary indentation.
-
-Sat Feb 5 08:06:39 2011 Anton Shepelev <anton.txt@gmail.com>
-
- Fix vertical space around displays.
-
- * m.tmac (ds@end): Use `.SP', not `.sp'.
-
-Fri Jan 28 11:15:29 2011 Werner LEMBERG <wl@gnu.org>
-
- Handle `refer-mm.tmac' file.
-
- * refer-mm.tmac: New file.
- * Makefile.sub (install_data, uninstall_sub): Handle it.
-
-Fri Jan 28 10:56:29 2011 Werner LEMBERG <wl@gnu.org>
-
- Add `refer' support.
-
- * m.tmac: Include `refer-mm.tmac'.
-
-Fri Jan 28 10:26:29 2011 Werner LEMBERG <wl@gnu.org>
-
- Prepare `refer' support.
-
- * m.tmac (\n[Rpe]): New register to control page eject status of the
- `RP' macro.
- (RP): Updated.
- (ref@start-print): Move the trailing full stop in reference number
- to...
- (RS): This macro.
-
- * groff_mm.man: Document `Rpe' register.
-
-Fri Jan 28 10:05:29 2011 Werner LEMBERG <wl@gnu.org>
-
- * mmroff.man, groff_mm.man: s/reference/cross reference/ where
- appropriate.
-
-Wed Jan 5 15:05:47 2011 Werner LEMBERG <wl@gnu.org>
-
- Fix use of .DEVTAG-* macros.
- Reported by Anton Shepelev <anton.txt@gmail.com>.
-
- * m.tmac (misc@tag): Wrapper around .DEVTAG-* to compensate unwanted
- vertical space.
- (H): Use it.
-
Mon Dec 27 09:39:20 2010 Werner LEMBERG <wl@gnu.org>
* groff_mm.man: Fix indentation.
@@ -919,7 +853,7 @@ Sun Jan 1 00:00:00 1991 Joergen Haegg (jh at efd.lth.se)
* warnings for unimplemented macros
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
diff --git a/contrib/mm/Makefile.sub b/contrib/mm/Makefile.sub
index d0eac3c5..bde215bc 100644
--- a/contrib/mm/Makefile.sub
+++ b/contrib/mm/Makefile.sub
@@ -1,4 +1,4 @@
-# Copyright 1991-1993, 1999-2001, 2006, 2007, 2009, 2011
+# Copyright 1991, 1992, 1993, 1999, 2000, 2001, 2006, 2007, 2009
#
# This file is part of groff.
#
@@ -44,7 +44,6 @@ install_data: install_m
test -f $(DESTDIR)$(tmacdir)/mm/$$f \
|| touch $(DESTDIR)$(tmacdir)/mm/$$f; \
done
- $(INSTALL_DATA) $(srcdir)/refer-mm.tmac $(DESTDIR)$(tmacdir)/refer-mm.tmac
install_m:
-test -d $(DESTDIR)$(tmacdir) \
@@ -83,6 +82,5 @@ uninstall_sub:
-rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mm.tmac
-rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mse.tmac
-rm -f $(DESTDIR)$(tmacdir)/$(tmac_m_prefix)mmse.tmac
- -rm -f $(DESTDIR)$(tmacdir)/refer-mm.tmac
-rmdir $(DESTDIR)$(tmacdir)/mm
-rm -f $(DESTDIR)$(bindir)/mmroff
diff --git a/contrib/mm/groff_mm.man b/contrib/mm/groff_mm.man
index 71f6fdab..284a31b3 100644
--- a/contrib/mm/groff_mm.man
+++ b/contrib/mm/groff_mm.man
@@ -1,6 +1,6 @@
'\" t
.ig
-Copyright (C) 1989, 2000-2003, 2006, 2007, 2009-2011
+Copyright (C) 1989, 2000, 2001, 2002, 2003, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -1010,7 +1010,7 @@ and
with the text `chapter' and `,\~page'.
The string
.B Qrf
-contains the text for the cross reference:
+contains the text for the reference:
.
.RS
.IP
@@ -1158,7 +1158,7 @@ and also less than or equal to
.B Hb
or
.B Hs
-are centered.
+are centerered.
.RE
.
.IP
@@ -1229,7 +1229,7 @@ Fourteen number registers named
up to
.B H14
contain the counter for each heading level.
-The values are printed using Arabic numerals;
+The values are printed using arabic numerals;
this can be changed with the macro
.B HM
(see below).
@@ -1474,9 +1474,9 @@ T}
.
.TP
.BI INITR\ filename
-Initialize the cross reference macros.
-Cross references are written to stderr and are supposed to
-be redirected into file `\fIfilename\fR.qrf'.
+Initialize the refence macros.
+References are written to stderr and are supposed to
+be written to `\fIfilename\fR.qrf'.
Requires two passes with groff;
this is handled by a separate program called
.BR mmroff (@MAN1EXT@).
@@ -1484,7 +1484,7 @@ This program exists because
.BR groff (@MAN1EXT@)
by default deactivates the unsafe operations that are required by
.BR INITR .
-The first pass looks for cross references,
+The first pass looks for references,
and the second one includes them.
.B INITR
can be used several times,
@@ -1590,7 +1590,7 @@ is still controlled by
.IR text-indent .
.
.IP
-The mark is left-justified within the mark area if
+The mark is left-justified whitin the mark area if
.I pad
is\~0.
If
@@ -1664,7 +1664,7 @@ Default is\~0.
List-status clear.
Terminates all current active lists down to
.IR list-level ,
-or\~0 if no argument is given.
+or\~0 if no argmuent is given.
This is used by\~\c
.B H
to clear any active list.
@@ -2243,7 +2243,10 @@ whether to eject a page or not.
.TS
tab(@);
l lx.
-0@The reference page is printed on a separate page.
+0@T{
+The reference page is printed on a separate page.
+This is the default.
+T}
1@Do not eject page after the list.
2@Do not eject page before the list.
3@Do not eject page before and after the list.
@@ -2260,11 +2263,6 @@ to\~0 suppresses the line.
The string
.B Rp
contains the reference page title and is set to `REFERENCES' by default.
-The number register
-.B Rpe
-holds the default value for the second argument of
-.BR RP ;
-it is initially set to\~0.
.
.TP
.BI RS\ \fR[\fPstring-name\fR]\fP
@@ -3358,12 +3356,6 @@ T}
Default is\~0.
.
.TP
-.B Rpe
-Set default value for second argument of
-.BR .RP .
-Default is\~0.
-.
-.TP
.B Sectf
A flag controlling `section-figures' numbering style.
A non-zero value enables this.
diff --git a/contrib/mm/m.tmac b/contrib/mm/m.tmac
index d86c7f95..73271c1c 100644
--- a/contrib/mm/m.tmac
+++ b/contrib/mm/m.tmac
@@ -3,11 +3,12 @@
.ds RE \\$2
..
.\"
-.\" $Id: m.tmac,v 2.52 2011/08/14 05:41:42 wl Exp $
-.@revision $Revision: 2.52 $
+.\" $Id: m.tmac,v 2.43 2010/06/24 10:45:57 wl Exp $
+.@revision $Revision: 2.43 $
.ig
-Copyright (C) 1991-2006, 2009-2011
+Copyright (C) 1991-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+ 2010
Free Software Foundation, Inc.
mgm is written by Jörgen Hägg <jh@axis.com>
@@ -139,8 +140,6 @@ Index array!index
.nr Pt 0
.\" Reference title
.ds Rp REFERENCES
-.\" Reference page eject status
-.nr Rpe 0
.\" Display indent
.nr Si 5
.\"
@@ -690,7 +689,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.rd \\$1\t
.br
.di
-.if !''\\$3' \{\
+.ie !''\\$3' \{\
. di misc*rd2
. ds \\$3 "\\*[misc*rd]
. br
@@ -739,22 +738,6 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.ev
.nr @verbose-flag 0
..
-.\" Wrapper to cancel the side effect of .tag + .br generating
-.\" unwanted vertical space.
-.de misc@tag
-.\" retain temporary indentation
-.if !(\\n[.in]-\\n[.i]=0) .nr misc*ti \\n[.in]
-.vpt 0
-.DEVTAG-\\$1 \\$2
-.br
-.if r misc*ti \{
-. ti \\n[misc*ti]u
-. rr misc*ti
-. sp -1
-.\}
-.sp -1
-.vpt 1
-..
.\" ######## module pict #################
.nr pict*width 0
.nr pict*height 0
@@ -1060,8 +1043,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"---------- user macro HY -------------
.\" user macro to reset indents
.if d HY .HY \\n[hd*level] \\n[hd*arg1] "\\$2\\$3"
-.\" HTML: mark beginning of heading
-.misc@tag NH \\n[hd*level]
+.DEVTAG-NH \\n[hd*level] \" HTML: mark beginning of heading
.\"--------------------------------------
.nr hd*mark-size \w@\\*[hd*mark]@
.if (\\n[hd*level]<=\\n[Hc])&\\n[hd*htype] .ce\" center if level<=Hc
@@ -1109,8 +1091,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr hd*last-pos \\n[nl]
.nr hd*last-hsize \\n[.k]
.nr par@ind-flag 0
-.\" HTML: end of heading
-.misc@tag EO-H
+.DEVTAG-EO-H \" HTML: end of heading
..
.\"--------
.de HM
@@ -2072,8 +2053,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"
.nr ds*old-ll \\n[.l]
.nr ds*old-in \\n[.i]
-.misc@push ds-in \\n[ds*old-in] \" Saving indent and line length of
-.misc@push ds-ll \\n[ds*old-ll] \" the text outside the display.
+.misc@push ds-ll \\n[.l]
.misc@push ds-form \\n[ds*format]
.nr ds*i \\n[.i]
.nr ds*ftmp \\n[.f]
@@ -2096,8 +2076,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" **********
.nr ds*width \\n[dl]
.nr ds*height \\n[dn]
-.misc@pop-nr ds-ll ds*old-ll \" Restore indent and
-.misc@pop-nr ds-in ds*old-in \" line length
+.misc@pop-nr ds-ll ds*old-ll
.misc@pop-nr ds-form ds*format
.\"
.\" **********
@@ -2115,7 +2094,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr ds*i \\n[Lsp]
.if r Dsp .nr ds*i \\n[Dsp]
.\"
-.if \\n[Ds] .SP \\n[ds*i]u \" Space before display
+.if \\n[Ds] .sp \\n[ds*i]u
.\" check if pending equation label
.eq@check \\n[ds*need]
'in \\n[ds*old-in]u
@@ -2128,7 +2107,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\" **********
.\"
.ds*div!\\n[ds*snr]
-.if \\n[Ds] .SP \\n[ds*i]u \" Space after display
+.if \\n[Ds] .sp \\n[ds*i]u
.\"
.if \\n[ds*format]=2 'ce 0
.if \\n[ds*format]=4 'rj 0
@@ -2804,7 +2783,6 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.nr box*ll 0
..
.\"########################### module ref ############################
-.mso refer-mm.tmac
.nr ref*nr 0 1
.aln :R ref*nr
.nr ref*nr-width 5n
@@ -2817,7 +2795,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.if !''\\$1' .ds \\$1 \v'-.4m'\s-3[\\n[ref*nr]]\s0\v'.4m'
.nr ref*flag 1
.am ref*mac
-.ref@start-print \\n[ref*nr].
+.ref@start-print \\n[ref*nr]
\\..
.eo
.am ref*mac RF
@@ -2833,8 +2811,8 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.de ref@start-print
.di ref*div
.in \\n[ref*nr-width]u
-.ti -(\w@\\$1@u+1n)
-\\$1
+.ti -(\w@\\$1.@u+1n)
+\\$1.
.sp -1
..
.de ref@stop-print
@@ -2851,8 +2829,7 @@ in=\\n[.i] fi=\\n[.u] .d=\\n[.d] nl=\\n[nl] pg=\\n[%]
.\"-----------
.de RP
.if !d ref*mac .@error "RP: No references!"
-.ie !''\\$2' .nr ref*i 0\\$2
-.el .nr ref*i \\n[Rpe]
+.nr ref*i 0\\$2
.if \\n[ref*i]<2 .SK
.SP 2
.ref@print-refs
diff --git a/contrib/mm/mmroff.man b/contrib/mm/mmroff.man
index 843b7c95..80b88409 100644
--- a/contrib/mm/mmroff.man
+++ b/contrib/mm/mmroff.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1989, 2001, 2009, 2011
+Copyright (C) 1989, 2001, 2009
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -20,7 +20,7 @@ the original English.
.
.TH MMROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
.SH NAME
-mmroff \- cross reference preprocessor
+mmroff \- reference preprocessor
.SH SYNOPSIS
.B mmroff
[
@@ -29,17 +29,16 @@ mmroff \- cross reference preprocessor
.I groff_arguments
.SH DESCRIPTION
\fBmmroff\fP is a simple preprocessor for \fBgroff\fP, it is
-used for expanding cross references in \fBm@TMAC_M_PREFIX@m\fP, see
+used for expanding references in \fBm@TMAC_M_PREFIX@m\fP, see
\fBgroff_mm(@MAN7EXT@)\fP.
\fBgroff\fP is executed twice, first with \fB-z\fP and \fB-rRef=1\fR
-to collect all cross references and then to do the real processing
-when the cross reference file is up to date.
+to collect all references and then to do the real processing
+when the reference file is up to date.
.TP
\fB\-x\fR
-Just create the cross reference file.
-This can be used to refresh the cross reference file,
-it isn't always needed to have accurate
-cross references and by using this option \fBgroff\fP will only
+Just create the reference file. This can be used to refresh
+the reference file, it isn't always needed to have accurate
+references and by using this option \fBgroff\fP will only
be run once.
.\".SH BUGS
.SH AUTHOR
@@ -64,5 +63,4 @@ Jörgen Hägg, Lund, Sweden <jh@axis.se>.
.
.\" Local Variables:
.\" mode: nroff
-.\" coding: latin-1
.\" End:
diff --git a/contrib/mm/refer-mm.tmac b/contrib/mm/refer-mm.tmac
deleted file mode 100644
index 55dac432..00000000
--- a/contrib/mm/refer-mm.tmac
+++ /dev/null
@@ -1,106 +0,0 @@
-.\" -*- mode: nroff; coding: iso-latin-1; -*-
-.\"
-.\" refer-mm.tmac
-.\"
-.\" Refer support for mm macros.
-.\"
-.\" Copyright (C) 2011 Free Software Foundation, Inc.
-.\" Written by Werner Lemberg (wl@gnu.org)
-.\"
-.\" 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-.\"
-.\" Please send comments to groff@gnu.org.
-.
-.
-.als ref*error @warning
-.
-.de ref*text-label-start
-. FS "\\$1"
-..
-.de ref*text-label-end
-. FE
-..
-.
-.de ref*biblio-item-start
-. ref@start-print "\\$1"
-..
-.de ref*biblio-item-start-nolabel
-. ref@start-print \&
-..
-.de ref*biblio-item-end
-. ref@stop-print
-..
-.
-.ds ref*refnum-start \" empty
-.ds ref*refnum-end .\"
-.
-.ds [. \v'-.4m'\s-3[\"
-.ds .] ]\s0\v'.4m'\"
-.
-.ds ref*spec!0 Q A T S V N P I C D O
-.ds ref*spec!1 Q A T J S V N P I C D O
-.ds ref*spec!2 Q A T S V P I C D O
-.ds ref*spec!3 Q A T B E S V P I C D O
-.ds ref*spec!4 Q A T R G P I C D O
-.
-.ds ref*spec!A ", " "
-.ds ref*spec!B """ " " "in \fI" "" "\fP"
-.ds ref*spec!D """ " " "(" ")"
-.ds ref*spec!E ", " " "ed. "
-.ds ref*spec!G """ " " "(" ")"
-.ds ref*spec!J ", " " "\fI" "" "\fP"
-.ds ref*spec!N """ "(" "" ")"
-.ds ref*spec!O ". " "
-.ds ref*spec!P ", " " "p.\~"
-.ds ref*spec!PP ", " " "pp.\~"
-.ds ref*spec!T ", " " "\(lq" "" "\(rq"
-.ds ref*spec!T:0 ", " " "\fI" "" "\fP"
-.ds ref*spec!T:2 ", " " "\fI" "" "\fP"
-.ds ref*spec!V """ " " "\fB" "\fR"
-.ds ref*spec!dflt ", " "
-.
-.\" For the bibliography section, we emulate the .RS/.RF mechanism of mm by
-.\" collecting references (enclosed with .]- and .][) in macro `ref*mac'.
-.\" This macro gets expanded while calling the .RP macro.
-.
-.de ref*][-first-pass
-. ec
-. am ref*mac
-. ds [F "\\*([F\"
-. ][ "\\$1" "\\$2"
-\\..
-..
-.
-.de ref*biblio-start-hook
-. als ref*][-second-pass ][
-. als ][ ref*][-first-pass
-. de ref*item-start-hook
-. eo
-. am ref*mac ][
-\\..
-..
-.
-.de ref*biblio-end-hook
-. als ][ ref*][-second-pass
-. rm ref*item-start-hook
-. als ref*print ref*end-print
-. RP
-. als ref*print ref*normal-print
-..
-.
-.mso refer.tmac
-.
-.\" EOF
diff --git a/contrib/mom/BUGS b/contrib/mom/BUGS
index cf8f7d54..2c0b728a 100644
--- a/contrib/mom/BUGS
+++ b/contrib/mom/BUGS
@@ -1,4 +1,4 @@
- Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
@@ -21,40 +21,6 @@ Also, please--no html email. That, too, gets nuked.
--Peter Schaffter
========================================================================
-Version 6-a
-===========
-
-HEADER_RULE OFF turning off headers completely.
----Fixed---
-
-FINIS depositing a blank final page when invoked too close to the
-bottom margin.
----Fixed---
-
-Version 6
-=========
-
-ENDNOTE_STRING_CAPS not disabling caps when arg given.
----Fixed---
-
-Superfluous blank line before paragraphs with paraheads.
----Fixed---
-
-Paraheads causing line numbering to overprint two line numbers.
----Fixed---
-
-Endless loop when DOC_LEAD_ADJUST is disabled.
----Fixed---
-
-In the case where the list doesn't fit the page, -mom inserts
-an extra page with one word and a warning about "environment stack
-underflow" and then continues on the following page.
---Fixed--
-
-PRINTSTYLE TYPEWRITE not respecting TYPEWRITER_FAMILY when DOCTYPE
-is LETTER.
----Fixed---
-
Version 1.5-d
=============
diff --git a/contrib/mom/ChangeLog b/contrib/mom/ChangeLog
index 40e977eb..844fce65 100644
--- a/contrib/mom/ChangeLog
+++ b/contrib/mom/ChangeLog
@@ -1,23 +1,3 @@
-* Thu Sep 8 2011
-o Added register #SUBHEAD, analagous to #HEAD, to fix excessive
- spacing between SUBHEADs and SUBSUBHEADs.
-
-* Sun Feb 20 2011
-
-o Added support for sub-subheads from patch supplied by Petr Man.
-
-* Fri Feb 11 2011
-
-o Moved register #UNADJUSTED_DOC_LEAD to top of TRAPS macro.
-
-* Fri Nov 19 2010
-
-o Added utility macro, SINGE_SPACE, for PRINTSTYLE TYPEWRITE
-
-* Sat Jan 22 2011
-
-o groff_mom.man (FILES): Fix directory locations.
-
* Sun Oct 3 2010
o Complete overhaul of refer macros and documentation
@@ -1388,7 +1368,7 @@ o Added "Next," "Prev" and "Top" links to top and bottom of doc files.
o Fixed some typos in the docs.
-Copyright 2004-2011
+Copyright 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
diff --git a/contrib/mom/NEWS b/contrib/mom/NEWS
index a7edb064..dbbb6458 100644
--- a/contrib/mom/NEWS
+++ b/contrib/mom/NEWS
@@ -1,14 +1,10 @@
- Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
-Release 1.6-a
--------------
-Support for sub-subheads added.
-
Release 1.6
-----------
Complete overhaul of refer handling. If you've been using mom and
diff --git a/contrib/mom/groff_mom.man b/contrib/mom/groff_mom.man
index 6f0dece6..1ee84990 100644
--- a/contrib/mom/groff_mom.man
+++ b/contrib/mom/groff_mom.man
@@ -1,7 +1,7 @@
.ig
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2002, 2003, 2005, 2008, 2009, 2011
+Copyright (C) 2002, 2003, 2005, 2008, 2009
Free Software Foundation, Inc.
written by Werner Lemberg <wl@gnu.org>
@@ -75,13 +75,13 @@ mom comes with her own (very) complete documentation in HTML format.
\[en] a wrapper file that calls om.tmac directly.
.
.TP
-.UR @HTMLDOCDIR@/\:mom/\:toc.html
-@HTMLDOCDIR@/\:mom/\:toc.html
+.UR @HTMLDOCDIR@/\:momdoc/\:toc.html
+@HTMLDOCDIR@/\:momdoc/\:toc.html
.UE
\[en] entry point to the HTML documentation
.
.TP
-.B @EXAMPLEDIR@/mom/*.mom
+.B @EXAMPLEDIR@/*.mom
\[en] example files using mom
.
.
diff --git a/contrib/mom/momdoc/appendices.html b/contrib/mom/momdoc/appendices.html
index f6d65129..7aa92408 100644
--- a/contrib/mom/momdoc/appendices.html
+++ b/contrib/mom/momdoc/appendices.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
@@ -756,18 +756,20 @@ mom&#8217;s homepage.
<h2 id="contact" class="docs">Contact the author</h2>
<p>
-If you have any questions or comments about mom, suggestions to
-make, criticisms to offer, or bugs to report, use the groff mailing
-list (subscription information available
-<a href="http://www.gnu.org/software/groff/groff.html">here</a>)
+If you have any questions or comments about mom,
+suggestions to make, criticisms to offer, or bugs to report, use the
+groff mailing list at
+<a href="mailto:groff@ffii.org">groff@ffii.org</a>
+(subscription information available
+<a href="http://ffii.org/mailman/listinfo/groff/">here</a>)
or contact me, Peter Schaffter, directly at of the following
address:
<br/>
<span class="pre-in-pp">
&#112;&#101;&#116;&#101;&#114;&#64;&#115;&#99;&#104;&#97;&#102;&#102;&#116;&#101;&#114;&#46;&#99;&#97;
</span>
-Please include the word &#8220;mom&#8221; or &#8220;groff&#8221; in
-the Subject: line of any message sent to my personal address, or you
+Please include the word &#8220;mom&#8221; or &#8220;groff&#8221; in the
+Subject: line of any message sent to my personal address, or you
risk the wrath of my implacable spam filters. :)
</p>
diff --git a/contrib/mom/momdoc/color.html b/contrib/mom/momdoc/color.html
index 0018e85f..45e74163 100644
--- a/contrib/mom/momdoc/color.html
+++ b/contrib/mom/momdoc/color.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/cover.html b/contrib/mom/momdoc/cover.html
index 744d415e..e1b4d3ea 100644
--- a/contrib/mom/momdoc/cover.html
+++ b/contrib/mom/momdoc/cover.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/definitions.html b/contrib/mom/momdoc/definitions.html
index 3bc37bdb..0c26715d 100644
--- a/contrib/mom/momdoc/definitions.html
+++ b/contrib/mom/momdoc/definitions.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/docelement.html b/contrib/mom/momdoc/docelement.html
index 5da69632..c7bea507 100644
--- a/contrib/mom/momdoc/docelement.html
+++ b/contrib/mom/momdoc/docelement.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
@@ -82,11 +82,6 @@ FDL in the main directory of the groff source package.
<li><a href="#subhead">SUBHEAD</a></li>
<li><a href="#subhead-control">Subhead control</a></li>
</ul>
-<h3 class="toc toc-docproc-header"><a class="header-link" href="#subsubhead-intro">Subsubheads</a></h3>
-<ul class="toc-docproc" style="margin-top: .5em;">
- <li><a href="#subsubhead">SUBSUBHEAD</a></li>
- <li><a href="#subsubhead-control">Subsubhead control</a></li>
-</ul>
<h3 class="toc toc-docproc-header"><a class="header-link" href="#parahead-intro">Paragraph heads</a></h3>
<ul class="toc-docproc" style="margin-top: .5em;">
<li><a href="#parahead">PARAHEAD</a></li>
@@ -1125,9 +1120,9 @@ See
<a href="#control-macro-args">Arguments to the control macros</a>.
</p>
<span class="pre defaults">
-.HEAD_FAMILY default = prevailing document family
-.HEAD_FONT default = bold, underlined (TYPESET); roman,underlined (TYPEWRITE)
-.HEAD_SIZE default = +1 (TYPESET); 0 (TYPEWRITE)
+.HEAD_FAMILY default = prevailing document family; default is Times Roman
+.HEAD_FONT default = bold
+.HEAD_SIZE default = +1 (point)
.HEAD_COLOR default = black
.HEAD_QUAD default = CENTER
</span>
@@ -1146,9 +1141,8 @@ To change this behaviour, do
.HEAD_CAPS OFF
</span>
HEAD_CAPS is a toggle macro, therefore you can use any argument you
-like instead of <kbd>OFF</kbd> to disable it (e.g. <b>END, QUIT, Q,
-X</b>...). To turn HEAD_CAPS back on, simply invoke it without an
-argument.
+like instead of <kbd>OFF</kbd> (<b>END, QUIT, Q, X</b>...). To turn
+HEAD_CAPS back on, simply invoke it without an argument.
</p>
<h4 id="head-space" class="docs" style="margin-top: -.25em;">3. Pre-head space</h4>
@@ -1355,7 +1349,7 @@ Subheads should be used any place you want titles to introduce
sections of a document below heads. If you wish, mom can
number subheads for you. Subhead numbers can also be included
hierarchically in numbered
-<a href="#subsubhead-intro">subsubheads</a>.
+<a href="#parahead-intro">paraheads</a>.
</p>
<p>
@@ -1393,10 +1387,9 @@ surround each line with double-quotes.
<div class="box-tip">
<p class="tip">
<span class="note">Note:</span>
-If a subhead falls near the bottom of an output page and mom
-is unable to fit the subhead <i>plus at least one line of text
-underneath it</i>, she will set the subhead at the top of the next
-page.
+If a subhead falls near the bottom of an output page and mom is
+unable to fit the head <i>plus at least one line of text underneath
+it</i>, she will set the subhead at the top of the next page.
</p>
</div>
@@ -1405,14 +1398,13 @@ page.
<p class="defaults">
In addition to the usual family/font/size/quad control macros, there
-are macros to manage subhead numbering and vertical placement.
+are macros to manage subhead numbering.
</p>
<ol style="margin-top: .5em; padding-bottom: .5em;">
<li><a href="#subhead-general">Family/font/size/colour/quad</a></li>
<li><a href="#number-subheads">Numbering</a></li>
<li><a href="#reset-subhead-number">Reset subhead numbering</a></li>
- <li><a href="#subhead-baseline-adjust">Baseline adjustment</a></li>
<li><a href="#subhead-inlines">Vertical inline escapes inside subheads</a></li>
</ol>
</div>
@@ -1425,9 +1417,9 @@ See
<a href="#control-macro-args">Arguments to the control macros</a>.
</p>
<span class="pre defaults" style="padding-bottom: -1em;">
-.SUBHEAD_FAMILY default = prevailing document family
-.SUBHEAD_FONT default = bold (TYPESET); italic, ie underlined (TYPEWRITE)
-.SUBHEAD_SIZE default = +.5 (TYPESET); 0 (TYPEWRITE)
+.SUBHEAD_FAMILY default = prevailing document family; default is Times Roman
+.SUBHEAD_FONT default = bold
+.SUBHEAD_SIZE default = +.5 (point)
.SUBHEAD_COLOR default = black
.SUBHEAD_QUAD default = LEFT
</span>
@@ -1483,32 +1475,7 @@ Your next subhead will be numbered &#8220;4&#8221; and subsequent
subheads will be numbered in ascending order from &#8220;4&#8221;.
</p>
-<h4 id="subhead-baseline-adjust" class="docs" style="margin-top: -.25em;">4. Baseline adjustment</h4>
-
-<p>
-For aesthetic reasons and to clarify document structure, mom raises
-subheads slightly above the
-<a href="definitions.html#baseline">baseline</a>
-on which they would otherwise fall. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>,
-the amount is 1/8 of the prevailing
-<a href="definitions.html#leading">leading</a>. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
-it&#8217;s 1/5 of the prevailing leading.
-</p>
-
-<p>
-If you would prefer mom not exhibit this behaviour, or if you would
-like to change the amount by which she raises the subhead, use the
-macro <kbd>.SUBHEAD_BASELINE_ADJUST</kbd>. With an argument of 0 (zero),
-subhead baseline adjustment will be disabled. Any other numeric
-argument, with a
-<a href="definitions.html#unitofmeasure">unit of measure</a>
-appended directly onto the argument, will cause mom to raise your
-subheads by the amount you specify.
-</p>
-
-<h4 id="subhead-inlines" class="docs" style="margin-top: -.25em;">5. Vertical inline escapes inside subheads</h4>
+<h4 id="subhead-inlines" class="docs" style="margin-top: -.25em;">4. Vertical inline escapes inside subheads</h4>
<p>
See
@@ -1520,183 +1487,6 @@ The information there applies equally to subheads.
<!-- ==================================================================== -->
-<h2 id="subsubhead-intro" class="macro-group">Subsubheads</h2>
-
-<ul style="margin-left: -.5em;">
- <li><a href="#subsubhead">Tag: SUBSUBHEAD</a></li>
- <li><a href="#subsubhead-control">Subsubhead control macros</a></li>
-</ul>
-
-<p>
-Subsubheads should be used any place you want titles to introduce
-sections of a document below subheads. If you wish, mom can
-number subsubheads for you. Subsubhead numbers can also be included
-hierarchically in numbered
-<a href="#parahead-intro">paraheads</a>.
-</p>
-
-<p>
-By default, subsubheads are flush left. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>,
-they are set in italic, slightly larger than paragraph text. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
-they are set roman at the same size as the prevailing type. A
-single linespace precedes them in both printstyles, and a tiny space
-adjustment raises them slightly above text that comes afterwards for
-greater clarity in document structuring.
-</p>
-
-<p>
-If these defaults don&#8217;t suit you, you can change them with the
-subsubhead control macros.
-</p>
-
-<!-- -SUBSUBHEAD- -->
-
-<div class="macro-id-overline">
-<h3 id="subsubhead" class="macro-id">SUBSUBHEAD</h3>
-</div>
-
-<div class="box-macro-args">
-Macro: <b>SUBSUBHEAD</b> <kbd class="macro-args">&quot;&lt;text of subsubhead&gt;&quot; [ &quot;&lt;2nd line&gt;&quot; [ &quot;&lt;3rd line&gt;&quot; ... ] ]</kbd>
-</div>
-
-<p>
-The argument to SUBSUBHEAD is the text of the subsubhead, surrounded by
-double-quotes. If you need additional lines for a subsubhead, simply
-surround each line with double-quotes.
-</p>
-
-<div class="box-tip">
-<p class="tip">
-<span class="note">Note:</span>
-If a subsubhead falls near the bottom of an output page and mom
-is unable to fit the subsubhead <i>plus at least one line of text
-underneath it</i>, she will set the subsubhead at the top of the next
-page.
-</p>
-</div>
-
-<div class="defaults-container" style="background-color: #ded4bd; border: none;">
-<h3 id="subsubhead-control" class="docs defaults">SUBSUBHEAD control macros and defaults</h3>
-
-<p class="defaults">
-In addition to the usual family/font/size/quad control macros, there
-are macros to manage subsubhead numbering.
-</p>
-
-<ol style="margin-top: .5em; padding-bottom: .5em;">
- <li><a href="#subsubhead-general">Family/font/size/colour/quad</a></li>
- <li><a href="#number-subsubheads">Numbering</a></li>
- <li><a href="#reset-subsubhead-number">Reset subsubhead numbering</a></li>
- <li><a href="#subsubhead-baseline-adjust">Baseline adjustment</a></li>
- <li><a href="#subsubhead-inlines">Vertical inline escapes inside subsubheads</a></li>
-</ol>
-</div>
-
-<h4 id="subsubhead-general" class="docs" style="margin-top: -1.5em; margin-bottom: .5em;">1. Family/font/size/quad</h4>
-
-<div class="defaults-container" style="padding-bottom: 8px;">
-<p class="defaults" style="padding-top: 6px;">
-See
-<a href="#control-macro-args">Arguments to the control macros</a>.
-</p>
-<span class="pre defaults" style="padding-bottom: -1em;">
-.SUBSUBHEAD_FAMILY default = prevailing document family
-.SUBSUBHEAD_FONT default = italic (TYPESET); roman (TYPEWRITE)
-.SUBSUBHEAD_SIZE default = +.5 (TYPESET); 0 (TYPEWRITE)
-.SUBSUBHEAD_COLOR default = black
-.SUBSUBHEAD_QUAD default = LEFT
-</span>
-</div>
-
-<h4 id="number-subsubheads" class="docs" style="margin-top: -1.25em;">2. Number subsubheads</h4>
-
-<p>
-If you&#8217;d like your subsubheads numbered, simply invoke
-<kbd>.NUMBER_SUBSUBHEADS</kbd> with no argument. Mom will number
-all subsequent subsubheads automatically (in ascending order,
-naturally).
-</p>
-
-<p>
-If, in addition to numbering subsubheads, you also request that
-<a href="#head-intro">heads</a>
-be numbered, the head number will be included in the subsubhead
-number (separated by a period [dot]).
-</p>
-
-<p>
-Should you wish to stop subsubhead numbering, invoke
-<kbd>.NUMBER_SUBSUBHEADS</kbd> with any argument (<kbd>OFF, QUIT, END,
-X</kbd>...). Subsubhead numbering will cease, and the subsubhead number
-will not be included in the numbering of paraheads.
-</p>
-
-<p>
-See also
-<a href="#prefix-chapter-number">Prefixing chapter numbers</a>
-if you&#8217;d like chapter numbers prepended to the subsubhead numbers.
-</p>
-
-<h4 id="reset-subsubhead-number" class="docs" style="margin-top: -.25em;">3. Reset subsubhead numbering</h4>
-
-<p>
-Should you wish to reset the subsubhead number to &#8220;1&#8221;,
-invoke
-<span class="pre-in-pp">
- .RESET_SUBSUBHEAD_NUMBER
-</span>
-with no argument. If, for some reason, you want mom to use a
-subsubhead number that is not the next in ascending order (i.e. the
-last subsubhead number + 1), invoke <kbd>.RESET_SUBSUBHEAD_NUMBER</kbd>
-with the number you want, e.g.
-<br/>
-<span class="pre-in-pp">
- .RESET_SUBSUBHEAD_NUMBER 4
-</span>
-
-Your next subsubhead will be numbered &#8220;4&#8221; and subsequent
-subsubheads will be numbered in ascending order from &#8220;4&#8221;.
-</p>
-
-<h4 id="subsubhead-baseline-adjust" class="docs" style="margin-top: -.25em;">4. Baseline adjustment</h4>
-
-<p>
-For aesthetic reasons and to clarify document structure, mom raises
-subsubheads slightly above the
-<a href="definitions.html#baseline">baseline</a>
-on which they would otherwise fall. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPESET</kbd></a>,
-the amount is 1/8 of the prevailing
-<a href="definitions.html#leading">leading</a>. In
-<a href="docprocessing.html#printstyle">PRINTSTYLE <kbd>TYPEWRITE</kbd></a>,
-it&#8217;s 1/5 of the prevailing leading.
-</p>
-
-<p>
-If you would prefer mom not exhibit this behaviour, or if you would
-like to change the amount by which she raises the subsubhead, use the
-macro <kbd>.SUBSUBHEAD_BASELINE_ADJUST</kbd>. With an argument of 0 (zero),
-subsubhead baseline adjustment will be disabled. Any other numeric
-argument, with a
-<a href="definitions.html#unitofmeasure">unit of measure</a>
-appended directly onto the argument, will cause mom to raise your
-subsubheads by the amount you specify.
-</p>
-
-<h4 id="subsubhead-inlines" class="docs" style="margin-top: -.25em;">5. Vertical inline escapes inside sububheads</h4>
-
-<p>
-See
-<a href="#head-inlines">Vertical inline escapes inside heads</a>.
-The information there applies equally to subsubheads.
-</p>
-
-<div class="rule-short"><hr/></div>
-
-<!-- ==================================================================== -->
-
<h2 id="parahead-intro" class="macro-group">Paragraph heads</h2>
<ul style="margin-left: -.5em;">
@@ -1731,8 +1521,8 @@ parahead control macros.
<div class="box-tip">
<p class="tip">
<span class="tip">Tip:</span>
-If you really need a heading level below subsubheads that
-isn&#8217;t joined to the body of a paragraph, you can trick
+If you really need a heading level below subhead (a sub-subhead)
+that isn&#8217;t joined to the body of a paragraph, you can trick
PARAHEAD into giving you one by creating a paragraph that contains
only a parahead, like this:
<br/>
@@ -1795,9 +1585,9 @@ See
<a href="#control-macro-args">Arguments to the control macros</a>.
</p>
<span class="pre defaults">
-.PARAHEAD_FAMILY default = prevailing document family
-.PARAHEAD_FONT default = bold italic (TYPESET); italic, ie underlined (TYPEWRITE)
-.PARAHEAD_SIZE default = -.25 (TYPESET); 0 (TYPEWRITE)
+.PARAHEAD_FAMILY default = prevailing document family; default is Times Roman
+.PARAHEAD_FONT default = bold italic
+.PARAHEAD_SIZE default = +.5 (point)
.PARAHEAD_COLOR default = black*
*If you colourize paragraph text, paraheads will appear in the same
@@ -1825,6 +1615,9 @@ do:
<span class="pre-in-pp">
.PARAHEAD_INDENT 2.5P
</span>
+</p>
+
+<p>
Mom&#8217;s default indent for paragraph heads is 1/2 the first-line
indent of normal paragraphs (both printstyles). However, as stated
above, if you choose to change the indent, you must give an absolute
@@ -1836,18 +1629,6 @@ PP_INDENT.)
<div class="box-tip">
<p class="tip">
-<span class="tip">Tip:</span>
-If you want to make the parahead indent equal to the paragraph
-indent, a convenient way to do it is
-<br/>
-<span class="pre-in-pp">
- .PARAHEAD INDENT \n[#PP_INDENT]
-</span>
-</p>
-</div>
-
-<div class="box-tip">
-<p class="tip">
<span class="note">Note:</span>
Paragraph heads in &#8220;first paragraphs&#8221;, as defined in
<a href="#para-indent-first">Indenting initial paragraphs</a>,
@@ -1953,11 +1734,10 @@ Macro: <b>PREFIX_CHAPTER_NUMBER</b> <kbd class="macro-args">&lt;none&gt; | &lt;c
</div>
<p>
-If you&#8217;ve requested numbering of heads, subheads, subsubheads
-and/or paragraph heads (with
+If you&#8217;ve requested numbering of heads, subheads and/or paragraph
+heads (with
<a href="#number-heads">NUMBER_HEADS</a>,
-<a href="#number-subheads">NUMBER_SUBHEADS,</a>
-<a href="#number-subheads">NUMBER_SUBSUBHEADS</a>
+<a href="#number-subheads">NUMBER_SUBHEADS</a>
and/or
<a href="#number-paraheads">NUMBER_PARAHEADS</a>)
and you&#8217;d like mom, in addition, to prefix
@@ -5556,11 +5336,10 @@ See
<a href="#control-macro-args">Arguments to the control macros</a>.
</p>
<span class="pre defaults">
-.ENDNOTE_STRING_FAMILY default = prevailing document family
+.ENDNOTE_STRING_FAMILY default = prevailing document family; default is Times Roman
.ENDNOTE_STRING_FONT default = bold
.ENDNOTE_STRING_SIZE* default = +1
.ENDNOTE_STRING_QUAD default = centred
-.ENDNOTE_STRING_COLOR default = black
*Relative to the size of the endnotes text (set with ENDNOTE_PT_SIZE)
</span>
diff --git a/contrib/mom/momdoc/docprocessing.html b/contrib/mom/momdoc/docprocessing.html
index a2a45e91..5896d1cc 100644
--- a/contrib/mom/momdoc/docprocessing.html
+++ b/contrib/mom/momdoc/docprocessing.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2010, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/goodies.html b/contrib/mom/momdoc/goodies.html
index cfcdb9ad..69d402c3 100644
--- a/contrib/mom/momdoc/goodies.html
+++ b/contrib/mom/momdoc/goodies.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/graphical.html b/contrib/mom/momdoc/graphical.html
index ce98f365..f6c063de 100644
--- a/contrib/mom/momdoc/graphical.html
+++ b/contrib/mom/momdoc/graphical.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/headfootpage.html b/contrib/mom/momdoc/headfootpage.html
index f974b283..d411874a 100644
--- a/contrib/mom/momdoc/headfootpage.html
+++ b/contrib/mom/momdoc/headfootpage.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/images.html b/contrib/mom/momdoc/images.html
index 67e8ace5..e3af015f 100644
--- a/contrib/mom/momdoc/images.html
+++ b/contrib/mom/momdoc/images.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/inlines.html b/contrib/mom/momdoc/inlines.html
index bbb9d6eb..1349abcb 100644
--- a/contrib/mom/momdoc/inlines.html
+++ b/contrib/mom/momdoc/inlines.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/intro.html b/contrib/mom/momdoc/intro.html
index be911683..34dd571c 100644
--- a/contrib/mom/momdoc/intro.html
+++ b/contrib/mom/momdoc/intro.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/letters.html b/contrib/mom/momdoc/letters.html
index 4cfb2193..95a2e709 100644
--- a/contrib/mom/momdoc/letters.html
+++ b/contrib/mom/momdoc/letters.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/macrolist.html b/contrib/mom/momdoc/macrolist.html
index 6a1d4991..c320d158 100644
--- a/contrib/mom/momdoc/macrolist.html
+++ b/contrib/mom/momdoc/macrolist.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
@@ -85,27 +85,27 @@ elsewhere in the documentation.
<li><a href="#qr-25">Epigraphs</a></li>
<li><a href="#qr-26">Main heads</a></li>
<li><a href="#qr-27">Subheads</a></li>
- <li><a href="#qr-28">Subsubheads</a></li>
- <li><a href="#qr-29">Paragraph heads</a></li>
- <li><a href="#qr-30">Paragraphs</a></li>
- <li><a href="#qr-31">Quotes (line for line quotes)</a> </li>
- <li><a href="#qr-32">Blockquotes (cited passages of text)</a></li>
- <li><a href="#qr-33">Code snippets (inserting bits of programming code)</a></li>
- <li><a href="#qr-34">Author linebreaks (section breaks)</a></li>
- <li><a href="#qr-35">Document termination string</a></li>
- <li><a href="#qr-36">Footnotes</a></li>
- <li><a href="#qr-37">Endnotes</a></li>
- <li><a href="#qr-38">Margin notes</a></li>
- <li><a href="#qr-39">Bibliographic references</a></li>
- <li><a href="#qr-40">Tables of contents</a></li>
- <li><a href="#qr-41">Letter (correspondence) macros</a></li>
- <li><a href="#qr-42">Changing global print style parameters after<br/><span style="margin-left: 1.25em;">START</span></a></li>
- <li><a href="#qr-43">Managing a document&#8217;s first-page header<br/><span style="margin-left: 1.25em;">(the &#8220;docheader&#8221;)</span></a></li>
- <li><a href="#qr-44">Managing page headers and footers</a></li>
- <li><a href="#qr-45">Recto/verso page headers and footers</a></li>
- <li><a href="#qr-46">Pagination</a></li>
- <li><a href="#qr-47">Document and section cover (title) pages</a></li>
- <li><a href="#qr-48">Utilities</a></li>
+ <li><a href="#qr-28">Paragraph heads</a></li>
+ <li><a href="#qr-19">Reference macros</a></li>
+ <li><a href="#qr-29">Paragraphs</a></li>
+ <li><a href="#qr-30">Quotes (line for line quotes)</a> </li>
+ <li><a href="#qr-31">Blockquotes (cited passages of text)</a></li>
+ <li><a href="#qr-32">Code snippets (inserting bits of programming code)</a></li>
+ <li><a href="#qr-33">Author linebreaks (section breaks)</a></li>
+ <li><a href="#qr-34">Document termination string</a></li>
+ <li><a href="#qr-35">Footnotes</a></li>
+ <li><a href="#qr-36">Endnotes</a></li>
+ <li><a href="#qr-37">Margin notes</a></li>
+ <li><a href="#qr-38">Bibliographic references</a></li>
+ <li><a href="#qr-39">Tables of contents</a></li>
+ <li><a href="#qr-40">Letter (correspondence) macros</a></li>
+ <li><a href="#qr-41">Changing global print style parameters after<br/><span style="margin-left: 1.25em;">START</span></a></li>
+ <li><a href="#qr-42">Managing a document&#8217;s first-page header<br/><span style="margin-left: 1.25em;">(the &#8220;docheader&#8221;)</span></a></li>
+ <li><a href="#qr-43">Managing page headers and footers</a></li>
+ <li><a href="#qr-44">Recto/verso page headers and footers</a></li>
+ <li><a href="#qr-45">Pagination</a></li>
+ <li><a href="#qr-46">Document and section cover (title) pages</a></li>
+ <li><a href="#qr-47">Utilities</a></li>
</ul>
</div>
@@ -761,28 +761,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-28" class="quick-ref" colspan="2" >+++ Subsubheads</th>
-</tr>
-<tr>
-<td><a href="docelement.html#subsubhead">SUBSUBHEAD</a></td><td>-- set a subsubhead</td>
-</tr>
-<tr>
-<td><a href="docelement.html#subsubhead-general">Control macros</a></td><td>-- change default style of subsubheads</td>
-</tr>
-<tr>
-<td><a href="docelement.html#number-subsubheads">&nbsp;NUMBER_SUBSUBHEADS</a></td><td>-- number subsubheads</td>
-</tr>
-<tr>
-<td><a href="docelement.html#prefix-chapter-number">&nbsp;PREFIX_CHAPTER_NUMBER</a></td><td>-- prefix chapter number to subsubhead numbers</td>
-</tr>
-<tr>
-<td><a href="docelement.html#reset-subsubhead-number">&nbsp;RESET_SUBSUBHEAD_NUMBER</a></td><td>-- reset subsubhead number to "1"</td>
-</tr>
-</table>
-
-<table class="quick-ref">
-<tr>
-<th id="qr-29" class="quick-ref" colspan="2" >+++ Paragraph heads</th>
+<th id="qr-28" class="quick-ref" colspan="2" >+++ Paragraph heads</th>
</tr>
<tr>
<td><a href="docelement.html#parahead">PARAHEAD</a></td><td>-- set a paragraph head</td>
@@ -803,7 +782,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-30" class="quick-ref" colspan="2" >+++ Paragraphs</th>
+<th id="qr-29" class="quick-ref" colspan="2" >+++ Paragraphs</th>
</tr>
<tr>
<td><a href="docelement.html#pp">PP</a></td><td>-- set a paragraph</td>
@@ -827,7 +806,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-31" class="quick-ref" colspan="2" >+++ Quotes (line for line verbatim quotes)</th>
+<th id="qr-30" class="quick-ref" colspan="2" >+++ Quotes (line for line verbatim quotes)</th>
</tr>
<tr>
<td><a href="docelement.html#quote">QUOTE</a></td><td>-- set quoted text line for line </td>
@@ -845,7 +824,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-32" class="quick-ref" colspan="2" >+++ Blockquotes (cited passages of text)</th>
+<th id="qr-31" class="quick-ref" colspan="2" >+++ Blockquotes (cited passages of text)</th>
</tr>
<tr>
<td><a href="docelement.html#blockquote">BLOCKQUOTE</a></td><td>-- set longer passages of cited text</td>
@@ -863,7 +842,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-33" class="quick-ref" colspan="2" >+++ Code snippets</th>
+<th id="qr-32" class="quick-ref" colspan="2" >+++ Code snippets</th>
</tr>
<tr>
<td><a href="docelement.html#code">CODE</a></td><td>-- set a code snippet</td>
@@ -881,7 +860,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-34" class="quick-ref" colspan="2" >+++ Author linebreaks (section breaks)</th>
+<th id="qr-33" class="quick-ref" colspan="2" >+++ Author linebreaks (section breaks)</th>
</tr>
<tr>
<td><a href="docelement.html#linebreak">LINEBREAK</a></td><td>-- insert an author linebreak (section break)</td>
@@ -899,7 +878,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-35" class="quick-ref" colspan="2" >+++ Document termination string</th>
+<th id="qr-34" class="quick-ref" colspan="2" >+++ Document termination string</th>
</tr>
<tr>
<td><a href="docelement.html#finis">FINIS</a></td><td>-- insert a document termination string (e.g. --END--)</td>
@@ -917,7 +896,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-36" class="quick-ref" colspan="2" >+++ Footnotes</th>
+<th id="qr-35" class="quick-ref" colspan="2" >+++ Footnotes</th>
</tr>
<tr>
<td><a href="docelement.html#footnote">FOOTNOTE</a></td><td>-- set a footnote</td>
@@ -953,7 +932,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-37" class="quick-ref" colspan="2" >+++ Endnotes</th>
+<th id="qr-36" class="quick-ref" colspan="2" >+++ Endnotes</th>
</tr>
<tr>
<td><a href="docelement.html#endnote">ENDNOTE</a></td><td>-- set an endnote</td>
@@ -994,7 +973,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-38" class="quick-ref" colspan="2" >+++ Margin notes</th>
+<th id="qr-37" class="quick-ref" colspan="2" >+++ Margin notes</th>
</tr>
<tr>
<td><a href="docelement.html#mn-init">MN_INIT</a></td><td>-- initialize margin notes</td>
@@ -1006,7 +985,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-39" class="quick-ref" colspan="2" >+++ Bibliographic references</th>
+<th id="qr-38" class="quick-ref" colspan="2" >+++ Bibliographic references</th>
</tr>
<tr>
<td><a href="refer.html#ref">REF</a></td><td>-- begin a reference</td>
@@ -1051,7 +1030,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-40" class="quick-ref" colspan="2" >+++ Tables of contents</th>
+<th id="qr-39" class="quick-ref" colspan="2" >+++ Tables of contents</th>
</tr>
<tr>
<td><a href="docelement.html#toc">TOC</a></td><td>-- output a table of contents</td>
@@ -1081,7 +1060,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-41" class="quick-ref" colspan="2" >+++ Letter (correspondence) macros</th>
+<th id="qr-40" class="quick-ref" colspan="2" >+++ Letter (correspondence) macros</th>
</tr>
<tr>
<td><a href="letters.html#date">DATE</a></td><td>-- letter&#8217;s date</td>
@@ -1111,7 +1090,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-42" class="quick-ref" colspan="2" >+++ Changing global print style parameters after START</th>
+<th id="qr-41" class="quick-ref" colspan="2" >+++ Changing global print style parameters after START</th>
</tr>
<tr>
<td><a href="docprocessing.html#doc-left-margin">DOC_LEFT_MARGIN</a></td><td>-- left margin of everything on the page</td>
@@ -1138,7 +1117,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-43" class="quick-ref" colspan="2" >+++ Managing a document&#8217;s first-page header</th>
+<th id="qr-42" class="quick-ref" colspan="2" >+++ Managing a document&#8217;s first-page header</th>
</tr>
<tr>
<td><a href="docprocessing.html#docheader">DOCHEADER</a></td><td>-- document first-page header on or off</td>
@@ -1150,7 +1129,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-44" class="quick-ref" colspan="2" >+++ Managing page headers and footers</th>
+<th id="qr-43" class="quick-ref" colspan="2" >+++ Managing page headers and footers</th>
</tr>
<tr>
<td><a href="headfootpage.html#headers">HEADERS</a></td><td>-- page headers on or off</td>
@@ -1189,7 +1168,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-45" class="quick-ref" colspan="2" >+++ Recto/verso page headers and footers</th>
+<th id="qr-44" class="quick-ref" colspan="2" >+++ Recto/verso page headers and footers</th>
</tr>
<tr>
<td><a href="rectoverso.html#recto-verso">RECTO_VERSO</a></td><td>-- recto/verso headers and/or footers on or off</td>
@@ -1216,7 +1195,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-46" class="quick-ref" colspan="2" >+++ Pagination</th>
+<th id="qr-45" class="quick-ref" colspan="2" >+++ Pagination</th>
</tr>
<tr>
<td><a href="headfootpage.html#paginate">PAGINATE</a></td><td>-- pagination on or off</td>
@@ -1241,7 +1220,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-47" class="quick-ref" colspan="2" >+++ Document and section cover (title) pages</th>
+<th id="qr-46" class="quick-ref" colspan="2" >+++ Document and section cover (title) pages</th>
</tr>
<tr>
<td><a href="cover.html#cover">COVER</a></td><td>-- information to include in a section cover</td>
@@ -1262,7 +1241,7 @@ elsewhere in the documentation.
<table class="quick-ref">
<tr>
-<th id="qr-48" class="quick-ref" colspan="2" >+++ Utilities</th>
+<th id="qr-47" class="quick-ref" colspan="2" >+++ Utilities</th>
</tr>
<tr>
<td><a href="docprocessing.html#add-space">ADD_SPACE</a></td><td>-- add space to the top of a page</td>
diff --git a/contrib/mom/momdoc/rectoverso.html b/contrib/mom/momdoc/rectoverso.html
index 97a67e77..1fbd1460 100644
--- a/contrib/mom/momdoc/rectoverso.html
+++ b/contrib/mom/momdoc/rectoverso.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/refer.html b/contrib/mom/momdoc/refer.html
index 2998b81a..e356f4fc 100644
--- a/contrib/mom/momdoc/refer.html
+++ b/contrib/mom/momdoc/refer.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/reserved.html b/contrib/mom/momdoc/reserved.html
index 474f7c37..a2b08b45 100644
--- a/contrib/mom/momdoc/reserved.html
+++ b/contrib/mom/momdoc/reserved.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
- Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
@@ -644,7 +644,6 @@ mom uses, along with brief descriptions of their functions.
START Sets doc defaults and prints info collected
with doc info macros
SUBHEAD Subheads
- SUBSUBHEAD Subsubheads
<span style="display: block; margin-top: -.75em; margin-bottom: -1em;">*Headers/footers</span>
BREAK_QUOTE Manually break a footnoted quote that crosses
@@ -812,8 +811,6 @@ mom uses, along with brief descriptions of their functions.
HDRFTR_VERSO User-defined, single string verso
header/footer
HEADERS Turns headers on or off
- HEADER_GAP Space between header and running text
- HEADER_MARGIN Space from top of page to header
HEADERS_AND_FOOTERS Enables and permits the creation of
headers and footers that appear on the
same page
@@ -834,6 +831,8 @@ mom uses, along with brief descriptions of their functions.
endnotes
-Heads-
+ HEADER_GAP Space between header and running text
+ HEADER_MARGIN Space from top of page to header
HEAD_CAPS Print section titles in caps? (boolean)
HEAD_SPACE Give HEADs 2 line-spaces before. If OFF,
only 1. Default is on.
@@ -844,12 +843,6 @@ mom uses, along with brief descriptions of their functions.
-Subheads-
NUMBER_SUBHEADS Print subhead numbers
RESET_SUBHEAD_NUMBER Reset subhead number
- SUBHEAD_BASELINE_ADJUST Amount to raise subhead above baseline
-
--Subsubheads-
- NUMBER_SUBSUBHEADS Print subhead numbers
- RESET_SUBSUBHEAD_NUMBER Reset subhead number
- SUBSUBHEAD_BASELINE_ADJUST Amount to raise subhead above baseline
-Para heads-
NUMBER_PARAHEADS Print parahead numbers
@@ -1516,27 +1509,27 @@ mom uses, along with brief descriptions of their functions.
line numbering is enabled
#LINES_PER_PAGE # of lines (at DOC_LEAD) that fit on
page after #B_MARGIN is set
- #LN Test 1st arg to NUMBER_LINES for digit or string
- MN-active Are we doing a margin note? (boolean)
- MN-curr Current margin note
- MN-div-&lt;n&gt;-depth Depth of margin note &lt;n&gt;
- MN-hy Hyphenation flag of margin notes
+ #LN Are line numbers on? (boolean)
+ MN-active Are we doing a margin note? (boolean)
+ MN-curr Current margin note
+ MN-div-&lt;n&gt;-depth Depth of margin note &lt;n&gt;
+ MN-hy Hyphenation flag of margin notes
#MNinit Have margin notes been initialized? (boolean)
#MNinit_DEFERRED Did we have to defer a margin note? (boolean)
- MN-last-pos Baseline of previous margin note
- MN-lead-adj Difference between the current DOC_LEAD and the
- leading used in margin notes
- MN-left Number of current left margin note
- MN-left-start Horizontal start position of left margin note
- MN-left-width Width of left margin note
- MN-right Number of current right margin note
- MN-right-start Horizontal start position of right margin note
- MN-right-width Width of right margin note
- MN-sep Gutter between margin notes and running text
- MN-shifted Did we have to shift a margin note down?
- (boolean)
- MN-size Point size of margin notes
- MN-spacing Leading of margin notes
+ MN-last-pos Baseline of previous margin note
+ MN-lead-adj Difference between the current DOC_LEAD and the
+ leading used in margin notes
+ MN-left Number of current left margin note
+ MN-left-start Horizontal start position of left margin note
+ MN-left-width Width of left margin note
+ MN-right Number of current right margin note
+ MN-right-start Horizontal start position of right margin note
+ MN-right-width Width of right margin note
+ MN-sep Gutter between margin notes and running text
+ MN-shifted Did we have to shift a margin note down?
+ (boolean)
+ MN-size Point size of margin notes
+ MN-spacing Leading of margin notes
#MISC_&lt;n&gt; Used to print "next" misc lines in DO_COVER
#MISC_COVER_NUM Number of cover misc items
#MISC_DOCCOVER_NUM Number od doc cover misc items
@@ -1583,10 +1576,9 @@ mom uses, along with brief descriptions of their functions.
#NUMBER_HEAD Are heads numbered? (boolean)
#NUMBER_PH Are paraheads numbered? (boolean)
#NUMBER_SH Are subheads numbered? (boolean)
- #NUMBER_SSH Are subsubheads numbered? (boolean)
#NUM_COLS Number of columns per page
#NUMBERED If set to 1, lets PARAHEAD know that
- main-, sub-, and subsubhead numbers have already been
+ main- and subhead numbers have already been
prefixed to the parahead string
#NUM_FIELDS Incrementing register used to match
#TOTAL_FIELDS
@@ -1771,8 +1763,8 @@ mom uses, along with brief descriptions of their functions.
#SAVED_WEIGHT_ADJ SAVED_UNDERSCORE_WEIGHT/2
#SEP_TYPE Set to 1 if LIST separator is ( or [ or {
#SH_COLOR Colorize subheads? (boolean)
- #SH_BASELINE_ADJ #DOC_LEAD/8 (TYPESET) or /5 (TYPEWRITE)
- (used for subhead vertical spacing)
+ #SH_LEAD_ADJUST #DOC_LEAD/8 (TYPESET) or /2 (TYPEWRITE)
+ (used for subhead spacing)
#SH_NUM Subhead number
#SHIM Amount of lead required to advance to
next valid baseline
@@ -1794,8 +1786,6 @@ mom uses, along with brief descriptions of their functions.
sometimes reports a fractionally larger
space than is actually available for
footnote text.
- #SSH_BASELINE_ADJ #DOC_LEAD/8 (TYPESET) or /5 (TYPEWRITE)
- (used for subsubhead vertical spacing)
#START If 1, signals completion of START
#START_FOR_FOOTERS Toggle set in START; signals to
PRINT_HDRFTR that START has been invoked,
@@ -1803,9 +1793,6 @@ mom uses, along with brief descriptions of their functions.
not to print a footer on page 1
#START_FOR_MNinit If 1, defer processing MN_INIT until #START
#STORED_PP_INDENT Temporarily holds value of #PP_INDENT
- #SUBHEAD Was subhead the last macro invoked? (boolean)
- Controls vert. space between SUBHEAD and
- SUBSUBHEAD
#SUBTITLE_COLOR Colorize subtitle? (boolean)
#SUBTITLE_COVER_NUM Incrementing register used to define strings
$SUBTITLE_COVER_&lt;n&gt;
diff --git a/contrib/mom/momdoc/tables-of-contents.html b/contrib/mom/momdoc/tables-of-contents.html
index 66b487eb..82c744b9 100644
--- a/contrib/mom/momdoc/tables-of-contents.html
+++ b/contrib/mom/momdoc/tables-of-contents.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
@@ -552,15 +552,12 @@ entries, along with their defaults.
<div id="toc-indent-note" class="box-tip">
<p class="tip">
<span class="note">Note:</span>
-The table of contents _INDENT macros set an absolute indent,
-relative to nothing, and therefore require an appended
+The table of contents _INDENT
+macros set an absolute indent, relative to nothing, and therefore
+require an appended
<a href="definitions.html#unitofmeasure">unit of measure</a>.
-Furthermore, the size of the indent can only be changed when your
-<a href="docprocessing.html#printstyle">PRINTSTYLE</a>
-is <kbd>TYPESET</kbd>; the indent is fixed for <kbd>TYPEWRITE</kbd>.
</p>
</div>
-
<div id="index-toc-entry-control-macros" class="defaults-container" style="padding-bottom: 8px;">
<p class="defaults" style="padding-top: 6px;">
See
@@ -570,37 +567,31 @@ See
<span class="pre defaults">
<span id="toc-title">
.TOC_TITLE_FAMILY default = prevailing doc family
-.TOC_TITLE_FONT default = bold italic (TYPESET); roman (TYPEWRITE)
-.TOC_TITLE_SIZE default = +1.5
-.TOC_TITLE_INDENT default = 0
+.TOC_TITLE_FONT default = bold italic
+.TOC_TITLE_SIZE default = +0
+.TOC_TITLE_INDENT default = 0 for TYPESET and TYPEWRITE
</span>
<span id="toc-head">
.TOC_HEAD_FAMILY default = prevailing doc family
-.TOC_HEAD_FONT default = bold (TYPESET); roman (TYPEWRITE)
+.TOC_HEAD_FONT default = bold
.TOC_HEAD_SIZE default = +.5
-.TOC_HEAD_INDENT default = 2 <a href="definitions.html#figurespace">figure spaces</a> + a period
+.TOC_HEAD_INDENT default = 18p for TYPESET; 2m for TYPEWRITE
</span>
<span id="toc-subhead">
.TOC_SUBHEAD_FAMILY default = prevailing doc family
.TOC_SUBHEAD_FONT default = roman
-.TOC_SUBHEAD_SIZE default = 0
-.TOC_SUBHEAD_INDENT default = TOC_HEAD_INDENT + 2 <a href="definitions.html#figurespace">figure spaces</a> + a period
-</span>
-<span id="toc-subsubhead">
-.TOC_SUBSUBHEAD_FAMILY default = prevailing doc family
-.TOC_SUBSUBHEAD_FONT default = italic (TYPESET); roman (TYPEWRITE)
-.TOC_SUBSUBHEAD_SIZE default = 0
-.TOC_SUBSUBHEAD_INDENT default = TOC_SUBHEAD_INDENT + 2 <a href="definitions.html#figurespace">figure spaces</a> + a period
+.TOC_SUBHEAD_SIZE default = +0
+.TOC_SUBHEAD_INDENT default = 30p for TYPESET; 4m for TYPEWRITE
</span>
<span id="toc-parahead">
.TOC_PARAHEAD_FAMILY default = prevailing doc family
-.TOC_PARAHEAD_FONT default = bold italic (TYPESET); roman (TYPEWRITE)
-.TOC_PARAHEAD_SIZE default = 0
-.TOC_PARAHEAD_INDENT default = TOC_SUBSUBHEAD_INDENT + 2 <a href="definitions.html#figurespace">figure spaces</a> + a period
+.TOC_PARAHEAD_FONT default = italic
+.TOC_PARAHEAD_SIZE default = +0
+.TOC_PARAHEAD_INDENT default = 42p for TYPESET; 6m for TYPEWRITE
</span>
.TOC_PN_FAMILY default = prevailing doc family
.TOC_PN_FONT default = roman
-.TOC_PN_SIZE default = 0
+.TOC_PN_SIZE default = +0
</span>
</div>
diff --git a/contrib/mom/momdoc/toc.html b/contrib/mom/momdoc/toc.html
index 01da91a9..1cc1573e 100644
--- a/contrib/mom/momdoc/toc.html
+++ b/contrib/mom/momdoc/toc.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter (pschaffter@ncf.ca).
Permission is granted to copy, distribute and/or modify this document
@@ -19,7 +19,7 @@ FDL in the main directory of the groff source package.
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <title>Mom, version 1.6-a -- Table of Contents</title>
+ <title>Mom, version 1.6 -- Table of Contents</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
@@ -30,7 +30,7 @@ FDL in the main directory of the groff source package.
<div class="page">
<div class="version">
- mom, version 1.6-a
+ mom, version 1.6
</div>
<h1 class="toc" style="margin-top: 9px;">Table of Contents</h1>
@@ -308,18 +308,17 @@ FDL in the main directory of the groff source package.
<li><a href="docelement.html#pp-intro">5.4.3 Paragraphs</a></li>
<li><a href="docelement.html#head-intro">5.4.4 Main heads</a></li>
<li><a href="docelement.html#subhead-intro">5.4.5 Subheads</a></li>
- <li><a href="docelement.html#subsubhead-intro">5.4.6 Subsubheads</a></li>
- <li><a href="docelement.html#parahead-intro">5.4.7 Paragraph heads</a></li>
- <li><a href="docelement.html#linebreak-intro">5.4.8 Linebreaks</a> &ndash; author linebreaks (section breaks)</li>
- <li><a href="docelement.html#quote-intro">5.4.9 Quotes</a> &ndash; line for line poetic quotes or unformatted, verbatim text (e.g. blocks of code)</li>
- <li><a href="docelement.html#blockquote-intro">5.4.10 Blockquotes</a> &ndash; cited material</li>
- <li><a href="docelement.html#code">5.4.11 Code</a> &ndash; inserting code snippets</li>
- <li><a href="docelement.html#list-intro">5.4.12 Lists</a> &ndash; nested lists</li>
- <li><a href="docelement.html#number-lines-intro">5.4.13 Line numbering</a></li>
- <li><a href="docelement.html#footnote-intro">5.4.14 Footnotes</a></li>
- <li><a href="docelement.html#endnote-intro">5.4.15 Endnotes</a></li>
- <li><a href="docelement.html#margin-notes-intro">5.4.16 Margin notes</a></li>
- <li><a href="docelement.html#finis-intro">5.4.17 Document termination string</a> &ndash; FINIS</li>
+ <li><a href="docelement.html#parahead-intro">5.4.6 Paragraph heads</a></li>
+ <li><a href="docelement.html#linebreak-intro">5.4.7 Linebreaks</a> &ndash; author linebreaks (section breaks)</li>
+ <li><a href="docelement.html#quote-intro">5.4.8 Quotes</a> &ndash; line for line poetic quotes or unformatted, verbatim text (e.g. blocks of code)</li>
+ <li><a href="docelement.html#blockquote-intro">5.4.9 Blockquotes</a> &ndash; cited material</li>
+ <li><a href="docelement.html#code">5.4.10 Code</a> &ndash; inserting code snippets</li>
+ <li><a href="docelement.html#list-intro">5.4.11 Lists</a> &ndash; nested lists</li>
+ <li><a href="docelement.html#number-lines-intro">5.4.12 Line numbering</a></li>
+ <li><a href="docelement.html#footnote-intro">5.4.13 Footnotes</a></li>
+ <li><a href="docelement.html#endnote-intro">5.4.14 Endnotes</a></li>
+ <li><a href="docelement.html#margin-notes-intro">5.4.15 Margin notes</a></li>
+ <li><a href="docelement.html#finis-intro">5.4.16 Document termination string</a> &ndash; FINIS</li>
</ul></li>
<li><a id="images" class="highlight" href="images.html#top">5.5 INSERTING IMAGES</a></li>
<li><a id="hdrftr" class="highlight" href="headfootpage.html#top">5.6 PAGE HEADERS AND FOOTERS</a>
@@ -358,7 +357,7 @@ FDL in the main directory of the groff source package.
<ul>
<li><a href="tables-of-contents.html#toc-behaviour">5.10.1 Table of contents behaviour</a></li>
<li><a href="tables-of-contents.html#psselect">5.10.2 Using psselect to put tables of contents where you want them</a></li>
- <li><a href="tables-of-contents.html#index-toc-control">5.10.3 Table of contents control macros</a></li>
+ <li><a href="tables-of-contents.html#toc-control">5.10.3 Table of contents control macros</a></li>
</ul></li>
<li><a id="ref" class="highlight" href="refer.html#top">5.11 BIBLIOGRAPHIES AND REFERENCES</a></li>
<li><a id="letter" class="highlight" href="letters.html#top">5.12 WRITING LETTERS</a>
diff --git a/contrib/mom/momdoc/typesetting.html b/contrib/mom/momdoc/typesetting.html
index dad7d7ad..272250ac 100644
--- a/contrib/mom/momdoc/typesetting.html
+++ b/contrib/mom/momdoc/typesetting.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/momdoc/using.html b/contrib/mom/momdoc/using.html
index 1c3170ac..2d215df6 100644
--- a/contrib/mom/momdoc/using.html
+++ b/contrib/mom/momdoc/using.html
@@ -2,7 +2,7 @@
<!--
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004, 2005, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc.
Written by Peter Schaffter.
Permission is granted to copy, distribute and/or modify this document
diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac
index 36fcd0d7..0f2ec03d 100644
--- a/contrib/mom/om.tmac
+++ b/contrib/mom/om.tmac
@@ -2,7 +2,7 @@
.ig
Mom -- a typesetting/document-processing macro set for groff.
-Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Written by Peter Schaffter (peter@schaffter.ca)
@@ -21,8 +21,8 @@ for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Version 1.6-a
--------------
+Version 1.6
+-----------
Antoine de St-Exupéry asserted that elegance in engineering is
achieved not when there is nothing left to add, but when there is
nothing left to take away.
@@ -41,8 +41,6 @@ may find other conventions preferable (e.g. NO, X, END, QUIT, etc.).
"<anything>" in the description of arguments that can be passed
to a macro means that any argument turns the feature off.
-
-Thanks to everyone who has contributed suggestions and patches.
..
.\" %beginstrip%
\#
@@ -5109,7 +5107,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'PARAHEAD_FAMILY' .ds $PH_FAM \\$1
. if '\\$0'QUOTE_FAMILY' .ds $QUOTE_FAM \\$1
. if '\\$0'SUBHEAD_FAMILY' .ds $SH_FAM \\$1
-. if '\\$0'SUBSUBHEAD_FAMILY' .ds $SSH_FAM \\$1
. if '\\$0'SUBTITLE_FAMILY' .ds $SUBTITLE_FAM \\$1
. if '\\$0'TITLE_FAMILY' .ds $TITLE_FAM \\$1
. if '\\$0'TOC_FAMILY' .ds $TOC_FAM \\$1
@@ -5119,7 +5116,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'TOC_PARAHEAD_FAMILY' .ds $TOC_PH_FAM \\$1
. if '\\$0'TOC_PN_FAMILY' .ds $TOC_PN_FAM \\$1
. if '\\$0'TOC_SUBHEAD_FAMILY' .ds $TOC_SH_FAM \\$1
-. if '\\$0'TOC_SUBSUBHEAD_FAMILY' .ds $TOC_SSH_FAM \\$1
. if '\\$0'TOC_TITLE_FAMILY' .ds $TOC_TITLE_FAM \\$1
.END
\#
@@ -5163,7 +5159,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'PARAHEAD_FONT' .ds $PH_FT \\$1
. if '\\$0'QUOTE_FONT' .ds $QUOTE_FT \\$1
. if '\\$0'SUBHEAD_FONT' .ds $SH_FT \\$1
-. if '\\$0'SUBSUBHEAD_FONT' .ds $SSH_FT \\$1
. if '\\$0'SUBTITLE_FONT' .ds $SUBTITLE_FT \\$1
. if '\\$0'TITLE_FONT' .ds $TITLE_FT \\$1
. if '\\$0'TOC_HEADER_FONT' .ds $TOC_HEADER_FT \\$1
@@ -5171,7 +5166,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'TOC_PARAHEAD_FONT' .ds $TOC_PH_FT \\$1
. if '\\$0'TOC_PN_FONT' .ds $TOC_PN_FT \\$1
. if '\\$0'TOC_SUBHEAD_FONT' .ds $TOC_SH_FT \\$1
-. if '\\$0'TOC_SUBSUBHEAD_FONT' .ds $TOC_SSH_FT \\$1
. if '\\$0'TOC_TITLE_FONT' .ds $TOC_TITLE_FT \\$1
.END
\#
@@ -5214,7 +5208,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'PARAHEAD_SIZE' .ds $PH_SIZE_CHANGE \\$1
. if '\\$0'QUOTE_SIZE' .ds $QUOTE_SIZE_CHANGE \\$1
. if '\\$0'SUBHEAD_SIZE' .ds $SH_SIZE_CHANGE \\$1
-. if '\\$0'SUBSUBHEAD_SIZE' .ds $SSH_SIZE_CHANGE \\$1
. if '\\$0'SUBTITLE_SIZE' .ds $SUBTITLE_SIZE_CHANGE \\$1
. if '\\$0'TITLE_SIZE' .ds $TITLE_SIZE_CHANGE \\$1
. if '\\$0'TOC_HEADER_SIZE' .ds $TOC_HEADER_SIZE_CHANGE \\$1
@@ -5222,7 +5215,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'TOC_PARAHEAD_SIZE' .ds $TOC_PH_SIZE_CHANGE \\$1
. if '\\$0'TOC_PN_SIZE' .ds $TOC_PN_SIZE_CHANGE \\$1
. if '\\$0'TOC_SUBHEAD_SIZE' .ds $TOC_SH_SIZE_CHANGE \\$1
-. if '\\$0'TOC_SUBSUBHEAD_SIZE' .ds $TOC_SSH_SIZE_CHANGE \\$1
. if '\\$0'TOC_TITLE_SIZE' .ds $TOC_TITLE_SIZE_CHANGE \\$1
.END
\#
@@ -5337,10 +5329,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #DOCTYPE_COLOR 1
. ds $DOCTYPE_COLOR \\$1
. \}
-. if '\\$0'ENDNOTE_STRING_COLOR' \{\
-. nr #ENDNOTE_STRING_COLOR 1
-. ds $ENDNOTE_STRING_COLOR \\$1
-. \}
. if '\\$0'EPIGRAPH_COLOR' \{\
. nr #EPI_COLOR 1
. ds $EPI_COLOR \\$1
@@ -5405,10 +5393,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #SH_COLOR 1
. ds $SH_COLOR \\$1
. \}
-. if '\\$0'SUBSUBHEAD_COLOR' \{\
-. nr #SSH_COLOR 1
-. ds $SSH_COLOR \\$1
-. \}
. if '\\$0'SUBTITLE_COLOR' \{\
. nr #SUBTITLE_COLOR 1
. ds $SUBTITLE_COLOR \\$1
@@ -5450,7 +5434,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if '\\$0'ENDNOTE_TITLE_QUAD' .ds $EN_TITLE_QUAD \\$1
. if '\\$0'EPIGRAPH_QUAD' .ds $EPI_QUAD \\$1
. if '\\$0'FOOTNOTE_QUAD' .ds $FN_QUAD \\$1
-. if '\\$0'SUBSUBHEAD_QUAD' .ds $SSH_QUAD \\$1
. if '\\$0'HEAD_QUAD' .ds $HEAD_QUAD \\$1
. if '\\$0'SUBHEAD_QUAD' .ds $SH_QUAD \\$1
. if '\\$0'TOC_HEADER_QUAD' .ds $TOC_HEADER_QUAD \\$1
@@ -5555,7 +5538,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #DONE_ONCE 0 1
. RESET_HEAD_NUMBER
. RESET_SUBHEAD_NUMBER
-. RESET_SUBSUBHEAD_NUMBER
. RESET_PARAHEAD_NUMBER
.\" General style defaults for both PRINTSTYLEs
. nr #PP_STYLE 1
@@ -5575,7 +5557,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if !r#HEAD_CAPS \{ .HEAD_CAPS \}
. if !r#HEAD_UNDERLINE \{ .HEAD_UNDERLINE \}
. if !d$SH_QUAD \{ .SUBHEAD_QUAD LEFT \}
-. if !d$SSH_QUAD \{ .SUBSUBHEAD_QUAD LEFT \}
. if !r#HDRFTR_RIGHT_CAPS \{ .HDRFTR_RIGHT_CAPS \}
. if \\n[#HDRFTR_RIGHT_CAPS]=0 \{\
. if !d$HDRFTR_RIGHT_SIZE_CHANGE \{ .HDRFTR_RIGHT_SIZE +0 \}
@@ -5688,10 +5669,6 @@ y\\R'#DESCENDER \\n[.cdp]'
.\" +Footnotes
. if !d$FN_SIZE_CHANGE \{ .FOOTNOTE_SIZE +0 \}
. if !r#FN_RULE_LENGTH \{ .FOOTNOTE_RULE_LENGTH 2i \}
-.\" +Subheads
-. if !r#SH_BASELINE_ADJ \{ .SUBHEAD_BASELINE_ADJUST \\n[#LEAD]u/5 \}
-.\" +Subsubheads
-. if !r#SSH_BASELINE_ADJ \{ .SUBSUBHEAD_BASELINE_ADJUST \\n[#LEAD]u/5 \}
.\" +Paragraph heads
. if !r#PH_INDENT \{ .PARAHEAD_INDENT \\n[#PP_INDENT]u/2u \}
.\" +Endnotes
@@ -5861,32 +5838,26 @@ y\\R'#DESCENDER \\n[.cdp]'
. if \\n[#HDRFTR_RIGHT_CAPS] \{\
. if !d$HDRFTR_RIGHT_SIZE_CHANGE \{ .HDRFTR_RIGHT_SIZE -2 \}
. \}
-. if !d$HDRFTR_RIGHT_SIZE_CHANGE \{ .HDRFTR_RIGHT_SIZE -.5 \}
+. if !d$HDRFTR_RIGHT_SIZE_CHANGE \{ .HDRFTR_RIGHT_SIZE -.5 \}
.\" +Heads
-. if !d$HEAD_FAM \{ .HEAD_FAMILY \\*[$DOC_FAM] \}
-. if !d$HEAD_FT \{ .HEAD_FONT B \}
-. if !d$HEAD_SIZE_CHANGE \{ .HEAD_SIZE +1 \}
-. if !r#HEAD_SPACE \{ .HEAD_SPACE \}
+. if !d$HEAD_FAM \{ .HEAD_FAMILY \\*[$DOC_FAM] \}
+. if !d$HEAD_FT \{ .HEAD_FONT B \}
+. if !d$HEAD_SIZE_CHANGE \{ .HEAD_SIZE +1 \}
+. if !r#HEAD_SPACE \{ .HEAD_SPACE \}
.\" +Subheads
-. if !d$SH_FAM \{ .SUBHEAD_FAMILY \\*[$DOC_FAM] \}
-. if !d$SH_FT \{ .SUBHEAD_FONT B \}
-. if !d$SH_SIZE_CHANGE \{ .SUBHEAD_SIZE +.5 \}
-. if !r#SH_BASELINE_ADJ \{ .SUBHEAD_BASELINE_ADJUST \\n[#LEAD]u/8 \}
-.\" +SubSubheads
-. if !d$SSH_FAM \{ .SUBSUBHEAD_FAMILY \\*[$DOC_FAM] \}
-. if !d$SSH_FT \{ .SUBSUBHEAD_FONT I \}
-. if !d$SSH_SIZE_CHANGE \{ .SUBSUBHEAD_SIZE +.5 \}
-. if !r#SSH_BASELINE_ADJ \{ .SUBSUBHEAD_BASELINE_ADJUST \\n[#LEAD]u/8 \}
+. if !d$SH_FAM \{ .SUBHEAD_FAMILY \\*[$DOC_FAM] \}
+. if !d$SH_FT \{ .SUBHEAD_FONT B \}
+. if !d$SH_SIZE_CHANGE \{ .SUBHEAD_SIZE +.5 \}
.\" +Paragraph heads
-. if !d$PH_FAM \{ .PARAHEAD_FAMILY \\*[$DOC_FAM] \}
-. if !d$PH_FT \{ .PARAHEAD_FONT BI \}
-. if !d$PH_SIZE_CHANGE \{ .PARAHEAD_SIZE -.25 \}
-. if !r#PH_INDENT \{ .PARAHEAD_INDENT \\n[#PP_INDENT]u/2u \}
-. if !d$PH_SPACE \{ .PARAHEAD_SPACE .6m \}
+. if !d$PH_FAM \{ .PARAHEAD_FAMILY \\*[$DOC_FAM] \}
+. if !d$PH_FT \{ .PARAHEAD_FONT BI \}
+. if !d$PH_SIZE_CHANGE \{ .PARAHEAD_SIZE -.25 \}
+. if !r#PH_INDENT \{ .PARAHEAD_INDENT \\n[#PP_INDENT]u/2u \}
+. if !d$PH_SPACE \{ .PARAHEAD_SPACE .6m \}
.\" +Quotes
-. if !d$QUOTE_FAM \{ .QUOTE_FAMILY \\*[$DOC_FAM] \}
-. if !d$QUOTE_FT \{ .QUOTE_FONT I \}
-. if !d$QUOTE_SIZE_CHANGE \{ .QUOTE_SIZE +0 \}
+. if !d$QUOTE_FAM \{ .QUOTE_FAMILY \\*[$DOC_FAM] \}
+. if !d$QUOTE_FT \{ .QUOTE_FONT I \}
+. if !d$QUOTE_SIZE_CHANGE \{ .QUOTE_SIZE +0 \}
. if !r#Q_OFFSET_VALUE \{\
. if '\\*[$Q_OFFSET_VALUE]'' \{ .QUOTE_INDENT 3 \}
. \}
@@ -5931,41 +5902,35 @@ y\\R'#DESCENDER \\n[.cdp]'
. if !d$BIB_STRING_FT \{ .BIBLIOGRAPHY_STRING_FONT B \}
. if !d$BIB_STRING_SIZE_CHANGE \{ .BIBLIOGRAPHY_STRING_SIZE +1 \}
.\" +Table of contents
-. if !d$TOC_FAM \{ .TOC_FAMILY \\*[$DOC_FAM] \}
-. if !r#TOC_PS \{ .TOC_PT_SIZE (\\n[#DOC_PT_SIZE]u) \}
-. if !d$TOC_LEAD \{ .TOC_LEAD \\n[#DOC_LEAD]u ADJUST \}
-. if !d$TOC_HEADER_FAM \{ .TOC_HEADER_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_HEADER_SIZE_CHANGE \{ .TOC_HEADER_SIZE +4 \}
-. if !d$TOC_HEADER_FT \{ .TOC_HEADER_FONT B \}
-. if !d$TOC_TITLE_FAM \{ .TOC_TITLE_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_PN_FAM \{ .TOC_PN_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_HEAD_FAM \{ .TOC_HEAD_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_SH_FAM \{ .TOC_SUBHEAD_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_SSH_FAM \{ .TOC_SUBSUBHEAD_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_PH_FAM \{ .TOC_PARAHEAD_FAMILY \\*[$TOC_FAM] \}
-. if !d$TOC_TITLE_FT \{ .TOC_TITLE_FONT BI \}
-. if !d$TOC_PN_FT \{ .TOC_PN_FONT R \}
-. if !d$TOC_HEAD_FT \{ .TOC_HEAD_FONT B \}
-. if !d$TOC_SH_FT \{ .TOC_SUBHEAD_FONT R \}
-. if !d$TOC_SSH_FT \{ .TOC_SUBSUBHEAD_FONT I \}
-. if !d$TOC_PH_FT \{ .TOC_PARAHEAD_FONT BI \}
-. if !d$TOC_TITLE_SIZE_CHANGE \{ .TOC_TITLE_SIZE +1.5 \}
-. if !d$TOC_PN_SIZE_CHANGE \{ .TOC_PN_SIZE +0 \}
-. if !d$TOC_HEAD_SIZE_CHANGE \{ .TOC_HEAD_SIZE +.5 \}
-. if !d$TOC_SH_SIZE_CHANGE \{ .TOC_SUBHEAD_SIZE +0 \}
-. if !d$TOC_SSH_SIZE_CHANGE \{ .TOC_SUBSUBHEAD_SIZE +0 \}
-. if !d$TOC_PH_SIZE_CHANGE \{ .TOC_PARAHEAD_SIZE +0 \}
+. if !d$TOC_FAM \{ .TOC_FAMILY \\*[$DOC_FAM] \}
+. if !r#TOC_PS \{ .TOC_PT_SIZE (\\n[#DOC_PT_SIZE]u) \}
+. if !d$TOC_LEAD \{ .TOC_LEAD \\n[#DOC_LEAD]u ADJUST \}
+. if !d$TOC_HEADER_FAM \{ .TOC_HEADER_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_HEADER_SIZE_CHANGE \{ .TOC_HEADER_SIZE +4 \}
+. if !d$TOC_HEADER_FT \{ .TOC_HEADER_FONT B \}
+. if !d$TOC_TITLE_FAM \{ .TOC_TITLE_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_PN_FAM \{ .TOC_PN_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_HEAD_FAM \{ .TOC_HEAD_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_SH_FAM \{ .TOC_SUBHEAD_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_PH_FAM \{ .TOC_PARAHEAD_FAMILY \\*[$TOC_FAM] \}
+. if !d$TOC_TITLE_FT \{ .TOC_TITLE_FONT BI \}
+. if !d$TOC_PN_FT \{ .TOC_PN_FONT R \}
+. if !d$TOC_HEAD_FT \{ .TOC_HEAD_FONT B \}
+. if !d$TOC_SH_FT \{ .TOC_SUBHEAD_FONT R \}
+. if !d$TOC_PH_FT \{ .TOC_PARAHEAD_FONT I \}
+. if !d$TOC_TITLE_SIZE_CHANGE \{ .TOC_TITLE_SIZE +.5 \}
+. if !d$TOC_PN_SIZE_CHANGE \{ .TOC_PN_SIZE +0 \}
+. if !d$TOC_HEAD_SIZE_CHANGE \{ .TOC_HEAD_SIZE +.5 \}
+. if !d$TOC_SH_SIZE_CHANGE \{ .TOC_SUBHEAD_SIZE +0 \}
+. if !d$TOC_PH_SIZE_CHANGE \{ .TOC_PARAHEAD_SIZE +0 \}
. ps \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE_CHANGE]
-. if !r#TOC_HEAD_INDENT \{ .TOC_HEAD_INDENT \w'\0\0.' \}
+. if !r#TOC_HEAD_INDENT \{ .TOC_HEAD_INDENT \w'\0\0.' \}
. ps
. ps \\n[#TOC_PS]u\\*[$TOC_HEAD_SIZE_CHANGE]
-. if !r#TOC_SH_INDENT \{ .TOC_SUBHEAD_INDENT \\n[#TOC_HEAD_INDENT]+\w'\0\0.' \}
+. if !r#TOC_SH_INDENT \{ .TOC_SUBHEAD_INDENT \\n[#TOC_HEAD_INDENT]+\w'\0\0.' \}
. ps
. ps \\n[#TOC_PS]u\\*[$TOC_SH_SIZE_CHANGE]
-. if !r#TOC_SSH_INDENT \{ .TOC_SUBSUBHEAD_INDENT \\n[#TOC_SH_INDENT]+\w'\0\0.' \}
-. ps
-. ps \\n[#TOC_PS]u\\*[$TOC_SSH_SIZE_CHANGE]
-. if !r#TOC_PH_INDENT \{ .TOC_PARAHEAD_INDENT \\n[#TOC_SSH_INDENT]+\w'\0\0.' \}
+. if !r#TOC_PH_INDENT \{ .TOC_PARAHEAD_INDENT \\n[#TOC_SH_INDENT]+\w'\0\0.' \}
. ps
. \}
.\" +Refer support
@@ -8030,7 +7995,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. PARAHEAD_FAMILY \\*[$DOC_FAM]
. QUOTE_FAMILY \\*[$DOC_FAM]
. SUBHEAD_FAMILY \\*[$DOC_FAM]
-. SUBSUBHEAD_FAMILY \\*[$DOC_FAM]
. SUBTITLE_FAMILY \\*[$DOC_FAM]
. TITLE_FAMILY \\*[$DOC_FAM]
.END
@@ -8948,12 +8912,8 @@ y\\R'#DESCENDER \\n[.cdp]'
\# on or off.
\#
.MAC HDRFTR_RULE END \"To print rule under header/over footer.
-. if r#HEADERS_ON \{\
-. if \\n[#HEADERS_ON]=1 \{ .nr #HDRFTR_RULE_GAP \\n[#HEADER_RULE_GAP] \}
-. \}
-. if r#FOOTERS_ON \{\
-. if \\n[#FOOTERS_ON]=1 \{ .nr #HDRFTR_RULE_GAP \\n[#FOOTER_RULE_GAP] \}
-. \}
+. if \\n[#HEADERS_ON] \{ .nr #HDRFTR_RULE_GAP \\n[#HEADER_RULE_GAP] \}
+. if \\n[#FOOTERS_ON] \{ .nr #HDRFTR_RULE_GAP \\n[#FOOTER_RULE_GAP] \}
. if '\\$0'HDRFTR_RULE_INTERNAL' \{\
. ie \\n[#USERDEF_HDRFTR] \{\
. nr #CAP_HEIGHT_ADJUST \\n[#HDRFTR_HEIGHT]
@@ -9785,7 +9745,7 @@ y\\R'#DESCENDER \\n[.cdp]'
. if \\n[#UNDERLINE_WAS_ON]=1 \{\
. vs 0
. ie !n \{\
-. nop \R'#UNDERLINE_ON 1'\X'ps: exec \\n[_w] \\n[_d] decorline'
+. nop \R'#UNDERLINE_ON 1'\X'ps: exec \\n[_w] \\n[_d] decorline' \}
. \}
. el \{\
. ul 1000
@@ -10241,13 +10201,11 @@ y\\R'#DESCENDER \\n[.cdp]'
. ie '\\$1'' \{\
. nr #HEAD_NUM 0 1
. nr #SH_NUM 0 1
-. nr #SSH_NUM 0 1
. nr #PH_NUM 0 1
. \}
. el \{\
. nr #HEAD_NUM \\$1-1 1
. nr #SH_NUM 0 1
-. nr #SSH_NUM 0 1
. nr #PH_NUM 0 1
. \}
.END
@@ -10279,60 +10237,19 @@ y\\R'#DESCENDER \\n[.cdp]'
\# Resets incrementing register #SH_NUM to 1 or, if there's
\# an argument, to user supplied number.
\# *Notes:
-\# When the subhead number is reset, it resets the subsubhead and
-\# parahead numbers as well. If this behaviour is not what's
-\# wanted, RESET_SUBSUBHEAD_NUMBER and RESET_PARAHEAD_NUMBER
-\# allow the user to set the subsubhead and parahead number(s) to
-\# whatever s/he desires.
+\# When the subhead number is reset, it resets the parahead number as
+\# well. If this behaviour is not what's wanted, RESET_SUBHEAD_NUMBER
+\# allows the user to set the parahead number to whatever s/he desires.
\#
.MAC RESET_SUBHEAD_NUMBER END
. ie '\\$1'' \{ .nr #SH_NUM 0 1 \}
. el \{\
-. nr #SH_NUM \\$1-1 1
-. nr #SSH_NUM 0 1
-. nr #PH_NUM 0 1
+. nr #SH_NUM \\$1-1 1
+. nr #PH_NUM 0 1
. \}
.END
\#
\#
-\# NUMBER SUBSUBHEADS
-\# ---------------
-\# *Arguments:
-\# <none> | <anything>
-\# *Function:
-\# Toggles register #NUMBER_SSH; sets incrementing register #SSH_NUM.
-\# *Notes:
-\# Default is OFF.
-\#
-.MAC NUMBER_SUBSUBHEADS END
-. ie '\\$1'' \{\
-. nr #NUMBER_SSH 1
-. if !\\n[#SSH_NUM] \{ .nr #SSH_NUM 0 1 \}
-. \}
-. el \{ .rr #NUMBER_SSH \}
-.END
-\#
-\#
-\# RESET SUBSUBHEAD NUMBER
-\# --------------------
-\# *Arguments:
-\# <none> | <desired subsubhead number>
-\# *Function:
-\# Resets incrementing register #SSH_NUM to 1 or, if there's
-\# an argument, to user supplied number.
-\# *Notes:
-\# When the subsubhead number is reset, it resets the parahead number as
-\# well. If this behaviour is not what's wanted, RESET_PARAHEAD_NUMBER
-\# allows the user to set the parahead number to whatever s/he desires.
-\#
-.MAC RESET_SUBSUBHEAD_NUMBER END
-. ie '\\$1'' \{ .nr #SSH_NUM 0 1 \}
-. el \{\
-. nr #SSH_NUM \\$1-1 1
-. nr #PH_NUM 0 1
-. \}
-.END
-\#
\# NUMBER PARAHEADS
\# ----------------
\# *Arguments:
@@ -10519,7 +10436,7 @@ y\\R'#DESCENDER \\n[.cdp]'
\!. TRAP OFF
\!. PAD_MARKER ^
. ie \\n[#PRINT_STYLE]=1 \{\
-\!. PAD "\\h'\w'\0\0.'u'\\*[$TOC_HEAD_ITEM]\\*[$TOC_PN_TYPEWRITE]"
+\!. PAD "\\h'2m'\\*[$TOC_HEAD_ITEM]\\*[$TOC_PN_TYPEWRITE]"
. \}
. el \{\
\!. PAD "\\h'\\n[#TOC_HEAD_INDENT]u'\\*[$TOC_HEAD_ITEM]\\*[$TOC_PN]"
@@ -10667,9 +10584,8 @@ y\\R'#DESCENDER \\n[.cdp]'
. CAPS OFF
. ev
. ALD \\n[#DOC_LEAD]u
-. if \\n[#NUMBER_HEAD] \{ .RESET_SUBHEAD_NUMBER \}
-. if \\n[#NUMBER_SH] \{ .RESET_SUBSUBHEAD_NUMBER \}
-. if \\n[#NUMBER_SSH] \{ .RESET_PARAHEAD_NUMBER \}
+. if \\n[#NUMBER_HEAD] \{ .RESET_SUBHEAD_NUMBER \}
+. if \\n[#NUMBER_SH] \{ .RESET_PARAHEAD_NUMBER \}
. if r#START \{ .rr #START \}
. if r#EPIGRAPH \{ .rr #EPIGRAPH \}
. if r#QUOTE \{ .rr #QUOTE \}
@@ -10687,17 +10603,6 @@ y\\R'#DESCENDER \\n[.cdp]'
\#
\# ---Subheads---
\#
-\# SUBHEAD BASELINE ADJUSTMENT
-\# ---------------------------
-\# *Arguments:
-\# <amount to raise subhead>
-\# *Function:
-\# Creates or modifies register #SH_BASELINE_ADJ
-\#
-.MAC SUBHEAD_BASELINE_ADJUST END
-. nr #SH_BASELINE_ADJ \\$1
-.END
-\#
\# SUBHEAD
\# -------
\# *Arguments:
@@ -10758,7 +10663,7 @@ y\\R'#DESCENDER \\n[.cdp]'
\!. TRAP OFF
\!. PAD_MARKER ^
. ie \\n[#PRINT_STYLE]=1 \{\
-\!. PAD "\\h'\w'\0\0.'u*2u'\\*[$TOC_SH_ITEM]\\*[$TOC_PN_TYPEWRITE]"
+\!. PAD "\\h'4m'\\*[$TOC_SH_ITEM]\\*[$TOC_PN_TYPEWRITE]"
. \}
. el \{\
\!. PAD "\\h'\\n[#TOC_SH_INDENT]u'\\*[$TOC_SH_ITEM]\\*[$TOC_PN]"
@@ -10780,12 +10685,11 @@ y\\R'#DESCENDER \\n[.cdp]'
\!. TQ
. di
. ev
-.\" End collection of subhead for TOC
+.\" End collection of head for TOC
.\" Process subhead
. nr #ARG_NUM 0 1
. if r#QUOTE \{ .rr #QUOTE \}
. if r#Q_AT_TOP \{ .rr #Q_AT_TOP \}
-. nr #SUBHEAD 1
. ev SUBHEAD
. ll \\n[#L_LENGTH]u
. ta \\n(.lu
@@ -10806,6 +10710,8 @@ y\\R'#DESCENDER \\n[.cdp]'
. LS \\n[#DOC_LEAD]u
. QUAD \\*[$SH_QUAD]
. \}
+. if \\n[#PRINT_STYLE]=1 \{ .nr #SH_LEAD_ADJUST \\n[#LEAD]/5 \}
+. if \\n[#PRINT_STYLE]=2 \{ .nr #SH_LEAD_ADJUST \\n[#LEAD]/8 \}
. ie \\n[#START] \{ .RLD 1v \}
. el \{\
. ie \\n[#HEAD]=1 \{ . \}
@@ -10837,24 +10743,24 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. ie \\n[#NUMBER_HEAD] \{\
. br
-. UNDERSCORE "\v'-\\n[#SH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]"
+. UNDERSCORE "\v'-\\n[#SH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]"
. br
. \}
. el \{\
. br
-. UNDERSCORE "\v'-\\n[#SH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]"
+. UNDERSCORE "\v'-\\n[#SH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]"
. br
. \}
. \}
. el \{\
. br
-. UNDERSCORE "\v'-\\n[#SH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]"
+. UNDERSCORE "\v'-\\n[#SH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]"
. br
. \}
. \}
. el \{\
. br
-. UNDERSCORE "\v'-\\n[#SH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]"
+. UNDERSCORE "\v'-\\n[#SH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]"
. br
. \}
.\}
@@ -10876,24 +10782,24 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. ie \\n[#NUMBER_HEAD] \{\
. br
-. PRINT "\v'-\\n[#SH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]
+. PRINT "\v'-\\n[#SH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]
. br
. \}
. el \{\
. br
-. PRINT "\v'-\\n[#SH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]
+. PRINT "\v'-\\n[#SH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n+[#SH_NUM].\0\\$[\\n+[#ARG_NUM]]
. br
. \}
. \}
. el \{\
. br
-. PRINT "\v'-\\n[#SH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]
+. PRINT "\v'-\\n[#SH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]
. br
. \}
. \}
. el \{\
. br
-. PRINT "\v'-\\n[#SH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]
+. PRINT "\v'-\\n[#SH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]
. br
. \}
.\}
@@ -10951,274 +10857,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #HEAD 2
.END
\#
-\# ---Subsubheads---
-\#
-\#
-\# SUBSUBHEAD BASELINE ADJUSTMENT
-\# ------------------------------
-\# *Arguments:
-\# <amount to raise subsubhead>
-\# *Function:
-\# Creates or modifies register #SSH_BASELINE_ADJ
-\#
-.MAC SUBSUBHEAD_BASELINE_ADJUST END
-. nr #SSH_BASELINE_ADJ \\$1
-.END
-\#
-\# SUBSUBHEAD
-\# -------
-\# *Arguments:
-\# "text of subsubhead" ["text of subsubhead"] ...
-\# *Function:
-\# In TYPEWRITE, prints subsubheads underlined.
-\# In TYPESET, prints subsubheads bold, .5 points larger than running
-\# text.
-\# In both styles, a line space precedes the subsubhead, and a small
-\# amount of lead comes after.
-\# *Notes:
-\# As with the HEAD macro, double-quotes (") must surround
-\# each line of text.
-\#
-.MAC SUBSUBHEAD END
-. if \\n[#UNDERLINE_ON]=1 .UNDERLINE OFF
-. br
-. ne \\n[#NUM_ARGS]+2
-.\" Collect subsubhead for TOC.
-. nr #ARG_NUM 0 1
-. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ]
-. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\
-. ie \\n[#ARG_NUM]=\\n[#NUM_ARGS] \{\
-. as $TOC_SSH_ITEM \\$[\\n+[#ARG_NUM]]\\|
-. \}
-. el \{\
-.\" Note that in the .as lines, below, \ at the end has a literal
-.\" space after it.
-. ie \\n[#NUMBER_SSH] \{\
-. ie \\n[#ARG_NUM]=0 \{\
-. as $TOC_SSH_ITEM \\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]\ \"
-. nr #SSH_NUM \\n-[#SSH_NUM]
-. \}
-. el \{\
-. as $TOC_SSH_ITEM \\$[\\n+[#ARG_NUM]]\ \"
-. \}
-. \}
-. el \{\
-. as $TOC_SSH_ITEM \\$[\\n+[#ARG_NUM]]\ \"
-. \}
-. \}
-.\}
-.\" Note the use of \!, which transparently embeds the macros used
-.\" in the TOC_ENTRIES diversion. The elements they control must be
-.\" processed literally when the diversion is output.
-. ev TOC_EV
-. da TOC_ENTRIES
-. if \\n[#PRINT_STYLE]=1 \{\
-\!. fam \\*[$TYPEWRITER_FAM]
-\!. ft R
-\!. ps \\*[$TYPEWRITER_PS]
-. \}
-. if \\n[#PRINT_STYLE]=2 \{\
-\!. FAMILY \\*[$TOC_SSH_FAM]
-\!. FT \\*[$TOC_SSH_FT]
-\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_SSH_SIZE_CHANGE]
-. \}
-\!. TRAP OFF
-\!. PAD_MARKER ^
-. ie \\n[#PRINT_STYLE]=1 \{\
-\!. PAD "\\h'\w'\0\0.'u*3u'\\*[$TOC_SSH_ITEM]\\*[$TOC_PN_TYPEWRITE]"
-. \}
-. el \{\
-\!. PAD "\\h'\\n[#TOC_SSH_INDENT]u'\\*[$TOC_SSH_ITEM]\\*[$TOC_PN]"
-. \}
-\!. PAD_MARKER #
-\!. EOL
-\!. ST 100 L
-\!. ST 101 R
-. if \\n[#PRINT_STYLE]=2 \{\
-\!. FAMILY \\*[$TOC_PN_FAM]
-\!. FT \\*[$TOC_PN_FT]
-\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE]
-. \}
-\!. TAB 100
-\!. PRINT \\*[LEADER]
-\!. TN
-\!. TRAP
-\!. PRINT \\n[#TOC_ENTRY_PN]
-\!. TQ
-. di
-. ev
-.\" End collection of subsubhead for TOC
-.\" Process subsubhead
-. nr #ARG_NUM 0 1
-. if r#QUOTE \{ .rr #QUOTE \}
-. if r#Q_AT_TOP \{ .rr #Q_AT_TOP \}
-. ev SUBSUBHEAD
-. ll \\n[#L_LENGTH]u
-. ta \\n(.lu
-. if \\n[#COLUMNS] \{\
-. ll \\n[#COL_L_LENGTH]u
-. ta \\n(.lu
-. \}
-. CHECK_INDENT
-. if \\n[#PRINT_STYLE]=1 \{\
-. TYPEWRITER
-. vs \\n[#DOC_LEAD]u
-. QUAD \\*[$SSH_QUAD]
-. \}
-. if \\n[#PRINT_STYLE]=2 \{\
-. FAMILY \\*[$SSH_FAM]
-. FT \\*[$SSH_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$SSH_SIZE_CHANGE]
-. LS \\n[#DOC_LEAD]u
-. QUAD \\*[$SSH_QUAD]
-. \}
-. if \\n[#PRINT_STYLE]=1 \{ .nr #SSH_LEAD_ADJUST \\n[#LEAD]/5 \}
-. if \\n[#PRINT_STYLE]=2 \{ .nr #SSH_LEAD_ADJUST \\n[#LEAD]/8 \}
-. ie \\n[#START] \{ .RLD 1v \}
-. el \{\
-. ie \\n[#SUBHEAD]=1 \{ . \}
-. el \{\
-. if \\n[#PRINT_STYLE]=1 \{\
-. if !\\n[#LINEBREAK] \{ .ALD \\n[#DOC_LEAD]u \}
-. \}
-. if \\n[#PRINT_STYLE]=2 \{\
-. ie \\n[#PP_SPACE]=1 \{\
-. ie !\\n[#LINEBREAK] \{ .ALD \\n[#DOC_LEAD]u \}
-. el \{ .RLD \\n[#DOC_LEAD]u \}
-. \}
-. el \{\
-. if !\\n[#LINEBREAK] \{ .ALD \\n[#DOC_LEAD]u \}
-. \}
-. \}
-. \}
-. \}
-.\" Print subsubhead
-. if \\n[#PRINT_STYLE]=1 \{\
-. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\
-. ie \\n[#NUMBER_SSH] \{\
-. ie \\n[#ARG_NUM]=0 \{\
-. ie \\n[#PREFIX_CH_NUM]=1 \{\
-. ds $CH_NUM \\n[#CH_NUM].
-. \}
-. el \{\
-. rm $CH_NUM
-. \}
-. ie \\n[#NUMBER_HEAD] \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]"
-. br
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]"
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]"
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]"
-. br
-. \}
-.\}
-. \}
-. if \\n[#PRINT_STYLE]=1 \{\
-. if \\n[#SINGLE_SPACE] \{ .ALD \\n[#DOC_LEAD]u \}
-. \}
-. if \\n[#PRINT_STYLE]=2 \{\
-. if \\n[#SSH_COLOR]=1 \{ .COLOR \\*[$SSH_COLOR] \}
-. ie \\n[#PP_SPACE]=0 \{\
-. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\
-. ie \\n[#NUMBER_SH] \{\
-. ie \\n[#ARG_NUM]=0 \{\
-. ie \\n[#PREFIX_CH_NUM]=1 \{\
-. ds $CH_NUM \\n[#CH_NUM].
-. \}
-. el \{\
-. rm $CH_NUM
-. \}
-. ie \\n[#NUMBER_HEAD] \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\*[$CH_NUM]\\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_BASELINE_ADJ]u'\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-.\}
-. \}
-. el \{\
-. ALD \\n[#DOC_LEAD]u
-. if \\n[#HEAD]=1 \{ .RLD \\n[#DOC_LEAD]u \}
-. if \\n[#END_QUOTE] \{ .RLD \\n[#DOC_LEAD]u \}
-. if \\n[#EPIGRAPH] \{ .RLD \\n[#DOC_LEAD]u \}
-. while \\n[#ARG_NUM]<\\n[#NUM_ARGS] \{\
-. ie \\n[#NUMBER_SH] \{\
-. ie \\n[#ARG_NUM]=0 \{\
-. ie \\n[#PREFIX_CH_NUM]=1 \{\
-. ds $CH_NUM \\n[#CH_NUM].
-. \}
-. el \{\
-. rm $CH_NUM
-. \}
-. ie \\n[#NUMBER_HEAD] \{\
-. br
-. PRINT "\v'-\\n[#SSH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#SSH_NUM]\0\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_LEAD_ADJUST]u'\\*[$CH_NUM]\\n+[#SSH_NUM].\0\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-. \}
-. el \{\
-. br
-. PRINT "\v'-\\n[#SSH_LEAD_ADJUST]u'\\$[\\n+[#ARG_NUM]]
-. br
-. \}
-.\}
-. ALD \\n[#DOC_LEAD]u
-. \}
-. \}
-. REMOVE_INDENT
-. ev
-. if \\n[#NUMBER_SH] \{ .RESET_PARAHEAD_NUMBER \}
-. if r#START \{ .rr #START \}
-. if r#EPIGRAPH \{ .rr #EPIGRAPH \}
-. if r#Q_FITS \{ .rr #Q_FITS \}
-. if r#END_QUOTE \{ .rr #END_QUOTE \}
-. if r#LINEBREAK \{ .rr #LINEBREAK \}
-. rm $TOC_SSH_ITEM
-. nr #PP 0
-. nr #HEAD 2
-.END
-\#
\# ---Paragraph heads---
\#
\# PARAHEAD INDENT
@@ -11260,7 +10898,6 @@ y\\R'#DESCENDER \\n[.cdp]'
\#
.MAC PARAHEAD END
. if \\n[#UNDERLINE_ON]=1 .UNDERLINE OFF
-. if \\n[#LINENUMBERS] .nm
.\" Collect parahead for TOC.
. nr #TOC_ENTRY_PN \\n%+\\n[#PAGE_NUM_ADJ]
. ie \\n[#NUMBER_PH] \{\
@@ -11285,7 +10922,7 @@ y\\R'#DESCENDER \\n[.cdp]'
\!. TRAP OFF
\!. PAD_MARKER ^
. ie \\n[#PRINT_STYLE]=1 \{\
-\!. PAD "\\h'\w'\0\0.'u*4u'\\*[$TOC_PH_ITEM]\\*[$TOC_PN_TYPEWRITE]"
+\!. PAD "\\h'6m'\\*[$TOC_PH_ITEM]\\*[$TOC_PN_TYPEWRITE]"
. \}
. el \{\
\!. PAD "\\h'\\n[#TOC_PH_INDENT]u'\\*[$TOC_PH_ITEM]\\*[$TOC_PN]"
@@ -11313,17 +10950,20 @@ y\\R'#DESCENDER \\n[.cdp]'
. nr #SLANT_WAS_ON 1
\E*[SLANTX]
. \}
-. vpt 0
-. sp -1v
. ie \\n[#PP]=1 \{\
. if \\n[#INDENT_FIRST_PARAS] \{\
+. vpt 0
+. if \\n[#PRINT_STYLE]=1 \{ .sp -1v \}
. ti \\n[#PH_INDENT]u
+. vpt
. \}
. \}
. el \{\
+. vpt 0
+. if \\n[#PRINT_STYLE]=1 \{ .sp -1v \}
. ti \\n[#PH_INDENT]u
-. \}
. vpt
+. \}
. ie \\n[#PREFIX_CH_NUM]=1 \{\
. ds $CH_NUM \\n[#CH_NUM].
. \}
@@ -11335,7 +10975,7 @@ y\\R'#DESCENDER \\n[.cdp]'
. ie \\n[#NUMBER_PH] \{\
. if \\n[#NUMBER_HEAD] \{\
. ie \\n[#NUMBER_SH] \{\
-. UNDERSCORE "\R'#NUMBERED 1'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n[#SSH_NUM].\\n+[#PH_NUM].\\ \\$1"
+. UNDERSCORE "\R'#NUMBERED 1'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#PH_NUM].\\ \\$1"
\0
. \}
. el \{\
@@ -11382,7 +11022,7 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. if \\n[#NUMBER_HEAD] \{\
. ie \\n[#NUMBER_SH] \{\
-. PRINT "\R'#NUMBERED 1'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n[#SSH_NUM].\\n+[#PH_NUM].\0\\$1\h'\\*[$PH_SPACE]'\c"
+. PRINT "\R'#NUMBERED 1'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n[#SH_NUM].\\n+[#PH_NUM].\0\\$1\h'\\*[$PH_SPACE]'\c"
. \}
. el \{\
. PRINT "\R'#NUMBERED 1'\\*[$CH_NUM]\\n[#HEAD_NUM].\\n+[#PH_NUM].\0\\$1\h'\\*[$PH_SPACE]'\c"
@@ -11413,7 +11053,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. \}
. rr #NUMBERED
. rm $TOC_PH_ITEM
-. if \\n[#LINENUMBERS] .nm +0
.END
\#
\#
@@ -11703,7 +11342,6 @@ y\\R'#DESCENDER \\n[.cdp]'
. if r#QUOTE \{ .rr #QUOTE \}
. if r#END_QUOTE \{ .rr #END_QUOTE \}
. if r#HEAD \{ .rr #HEAD \}
-. if r#SUBHEAD \{ .rr #SUBHEAD \}
. if r#EPIGRAPH \{ .rr #EPIGRAPH \}
. if r#Q_FITS \{ .rr #Q_FITS \}
. if r#LINEBREAK \{ .rr #LINEBREAK \}
@@ -14323,7 +13961,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.MAC ENDNOTE_STRING_CAPS END
. ie '\\$1'' \{ .nr #EN_STRING_CAPS 1 \}
-. el \{ .nr #EN_STRING_CAPS 0 \}
+. el \{ .rr #EN_STRING_CAPS \}
.END
\#
\#
@@ -15021,12 +14659,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. FT \\*[$EN_STRING_FT]
. PT_SIZE \\n[#EN_PS]u\\*[$EN_STRING_SIZE_CHANGE]
. vs \\n[#EN_LEAD]u
-. if \\n[#ENDNOTE_STRING_COLOR]=1 \{\
-. TRAP OFF
-. COLOR \\*[$ENDNOTE_STRING_COLOR]
-. EOL
-. TRAP
-. \}
. \}
. if '\\*[$EN_STRING_QUAD]'L' \{ .LEFT \}
. if '\\*[$EN_STRING_QUAD]'LEFT' \{ .LEFT \}
@@ -15652,12 +15284,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. nr #TOC_SH_INDENT (\\$1)
.END
\#
-\# - for subsubhead entries
-\#
-.MAC TOC_SUBSUBHEAD_INDENT END
-. nr #TOC_SSH_INDENT (\\$1)
-.END
-\#
\# - for parahead entries
\#
.MAC TOC_PARAHEAD_INDENT END
@@ -16881,7 +16507,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\# exactly on #B_MARGIN.
\#
.MAC TRAPS END
-. nr #UNADJUSTED_DOC_LEAD \\n[#DOC_LEAD]
.\" Remove all header/footer traps
. if !\\n[#NO_TRAP_RESET] \{\
. ch DO_T_MARGIN
@@ -16908,6 +16533,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. while \\n[#T_MARGIN]+(\\n[#DOC_LEAD]+\\n+[#DOC_LEAD_ADJ]*\\n[#LINES_PER_PAGE])<=\\n[#DEPTH_TO_B_MARGIN] \{\
.
.\}
+. nr #UNADJUSTED_DOC_LEAD \\n[#DOC_LEAD]
. DOC_LEAD \\n[#DOC_LEAD]u+\\n[#DOC_LEAD_ADJ]u
.\" The "visual" bottom margin is what \n(nl would report on the
.\" last line before the FOOTER trap is sprung
@@ -17520,7 +17146,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS PARAHEAD_FAMILY _FAMILY
.ALIAS QUOTE_FAMILY _FAMILY
.ALIAS SUBHEAD_FAMILY _FAMILY
-.ALIAS SUBSUBHEAD_FAMILY _FAMILY
.ALIAS SUBTITLE_FAMILY _FAMILY
.ALIAS TITLE_FAMILY _FAMILY
.ALIAS TOC_FAM _FAMILY
@@ -17530,7 +17155,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS TOC_PARAHEAD_FAMILY _FAMILY
.ALIAS TOC_PN_FAMILY _FAMILY
.ALIAS TOC_SUBHEAD_FAMILY _FAMILY
-.ALIAS TOC_SUBSUBHEAD_FAMILY _FAMILY
.ALIAS TOC_TITLE_FAMILY _FAMILY
\#
.ALIAS AUTHOR_FONT _FONT
@@ -17569,7 +17193,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS PARAHEAD_FONT _FONT
.ALIAS QUOTE_FONT _FONT
.ALIAS SUBHEAD_FONT _FONT
-.ALIAS SUBSUBHEAD_FONT _FONT
.ALIAS SUBTITLE_FONT _FONT
.ALIAS TITLE_FONT _FONT
.ALIAS TOC_HEADER_FONT _FONT
@@ -17577,7 +17200,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS TOC_PARAHEAD_FONT _FONT
.ALIAS TOC_PN_FONT _FONT
.ALIAS TOC_SUBHEAD_FONT _FONT
-.ALIAS TOC_SUBSUBHEAD_FONT _FONT
.ALIAS TOC_TITLE_FONT _FONT
\#
.ALIAS AUTHOR_SIZE _SIZE
@@ -17615,7 +17237,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS PARAHEAD_SIZE _SIZE
.ALIAS QUOTE_SIZE _SIZE
.ALIAS SUBHEAD_SIZE _SIZE
-.ALIAS SUBSUBHEAD_SIZE _SIZE
.ALIAS SUBTITLE_SIZE _SIZE
.ALIAS TITLE_SIZE _SIZE
.ALIAS TOC_HEADER_SIZE _SIZE
@@ -17623,7 +17244,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS TOC_PARAHEAD_SIZE _SIZE
.ALIAS TOC_PN_SIZE _SIZE
.ALIAS TOC_SUBHEAD_SIZE _SIZE
-.ALIAS TOC_SUBSUBHEAD_SIZE _SIZE
.ALIAS TOC_TITLE_SIZE _SIZE
\#
.ALIAS ATTRIBUTE_COLOR _COLOR
@@ -17651,7 +17271,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS DOC_COVER_TITLE_COLOR _COLOR
.ALIAS DOCHEADER_COLOR _COLOR
.ALIAS DOCTYPE_COLOR _COLOR
-.ALIAS ENDNOTE_STRING_COLOR _COLOR
.ALIAS EPIGRAPH_COLOR _COLOR
.ALIAS FINIS_COLOR _COLOR
.ALIAS FOOTNOTE_COLOR _COLOR
@@ -17668,7 +17287,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS QUOTE_COLOR _COLOR
.ALIAS SECTION_COLOR _COLOR
.ALIAS SUBHEAD_COLOR _COLOR
-.ALIAS SUBSUBHEAD_COLOR _COLOR
.ALIAS SUBTITLE_COLOR _COLOR
.ALIAS TITLE_COLOR _COLOR
\#
@@ -17690,7 +17308,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
.ALIAS FOOTNOTE_QUAD _QUAD
.ALIAS HEAD_QUAD _QUAD
.ALIAS SUBHEAD_QUAD _QUAD
-.ALIAS SUBSUBHEAD_QUAD _QUAD
.ALIAS TOC_HEADER_QUAD _QUAD
\#
\# Support aliases
diff --git a/contrib/pdfmark/ChangeLog b/contrib/pdfmark/ChangeLog
index 87b1bfa2..b9403abd 100644
--- a/contrib/pdfmark/ChangeLog
+++ b/contrib/pdfmark/ChangeLog
@@ -1,25 +1,3 @@
-2011-12-26 Mike Frysinger <vapier@gentoo.org>
-
- Fix parallel build race failure.
-
- Sometimes building in parallel will fail in the pdfmark directory:
-
- make[2]: Entering directory '.../contrib/pdfmark'
- rm -f pdfroff
- rm -f pdfmark.pdf
- sed -f ... ./pdfroff.sh >pdfroff
- ...; ./pdfroff ... pdfmark.ms >pdfmark.pdf
- /bin/sh: ./pdfroff: Permission denied
- chmod +x pdfroff
- make[2]: *** [pdfmark.pdf] Error 126
-
- This is because the generated pdf files use the local generated
- pdfroff helper script, but they don't depend directly upon it, so
- make tries to create the two in parallel and randomly falls over.
-
- * Makefile.sub: Have all the .pdf files explicitly depend on the
- `pdfroff' helper script.
-
2010-12-23 Keith Marshall <keith.d.marshall@ntlworld.com>
Update copyright notices; pdfmark.tmac bug-fix.
@@ -336,7 +314,7 @@
First import of pdfmark files.
-Copyright 2004-2011
+Copyright 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
diff --git a/contrib/pdfmark/Makefile.sub b/contrib/pdfmark/Makefile.sub
index 77e77a7f..9eb27631 100644
--- a/contrib/pdfmark/Makefile.sub
+++ b/contrib/pdfmark/Makefile.sub
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
# Written by Keith Marshall (keith.d.marshall@ntlworld.com)
#
# This file is part of groff.
@@ -66,9 +66,6 @@ PDFROFF=\
all: pdfroff $(make_pdfdoc)
-# The pdf files use the local script to generate.
-$(PDFDOCFILES): pdfroff
-
pdfdoc: gnu.eps $(PDFDOCFILES)
gnu.eps:
diff --git a/contrib/pdfmark/pdfmark.ms b/contrib/pdfmark/pdfmark.ms
index 31d2f95d..9e5e4e75 100644
--- a/contrib/pdfmark/pdfmark.ms
+++ b/contrib/pdfmark/pdfmark.ms
@@ -6,7 +6,7 @@ File position: <groff-source>/contrib/pdfmark/pdfmark.ms
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2004-2006, 2009, 2011 Free Software Foundation, Inc.
+Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc.
written by Keith Marshall <keith.d.marshall@ntlworld.com>
Permission is granted to copy, distribute and/or modify this document
@@ -343,10 +343,6 @@ groff -Tps [-m
.I options \& [-
.I "file ..." \& "...] "
.LP
-(Or use the PDF post-processor to avoid using ghostscript,
-.CW -Tpdf\c
-).
-.LP
It may be noted that the
.CW pdfmark
macros have no dependencies on, and no known conflicts with,
@@ -2494,10 +2490,6 @@ groff -Tps
.I "-options ...\&" ] [
file(s) ...
.LP
-(Or use the PDF post-processor to avoid using ghostscript,
-.CW -Tpdf\c
-).
-.LP
When using the
.CW spdf.tmac
package, the
diff --git a/doc/Makefile.in b/doc/Makefile.in
index b8a18d78..5f39e653 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2007, 2009-2011
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
# Free Software Foundation, Inc.
# Written by Werner Lemberg <wl@gnu.org>
#
@@ -58,7 +58,6 @@ groff_bin_dirs=\
$(top_builddir)/src/preproc/soelim \
$(top_builddir)/src/preproc/html \
$(top_builddir)/src/devices/grops \
- $(top_builddir)/src/devices/gropdf \
$(top_builddir)/src/devices/grodvi \
$(top_builddir)/src/devices/grotty \
$(top_builddir)/src/devices/grolj4 \
diff --git a/doc/Makefile.sub b/doc/Makefile.sub
index a35a41c2..a688d49d 100644
--- a/doc/Makefile.sub
+++ b/doc/Makefile.sub
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2007, 2009, 2011
+# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009
# Free Software Foundation, Inc.
# Written by Werner Lemberg <wl@gnu.org>
#
@@ -32,7 +32,6 @@ groff_bin_dirs=\
$(top_builddir)/src/preproc/soelim \
$(top_builddir)/src/preproc/html \
$(top_builddir)/src/devices/grops \
- $(top_builddir)/src/devices/gropdf \
$(top_builddir)/src/devices/grohtml
FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
diff --git a/doc/groff.texinfo b/doc/groff.texinfo
index b1e31707..5f7a5e85 100644
--- a/doc/groff.texinfo
+++ b/doc/groff.texinfo
@@ -1,4 +1,4 @@
-\input texinfo
+\input texinfo @c -*-texinfo-*-
@c
@c Please convert this manual with `texi2dvi -e groff.texinfo' due to
@@ -26,7 +26,9 @@
@copying
This manual documents GNU @code{troff} version 1.21.
-Copyright @copyright{} 1994-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 1994-2000, 2001, 2002, 2003, 2004, 2005, 2006,
+2007, 2008, 2009, 2010
+Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -832,10 +834,9 @@ preprocessors to use.
@code{groff} currently has preprocessors for producing tables
(@code{tbl}), typesetting equations (@code{eqn}), drawing pictures
-(@code{pic} and @code{grn}), processing bibliographies
-(@code{refer}), and drawing chemical structures (@code{chem}). An
-associated program which is useful when dealing with preprocessors is
-@code{soelim}.
+(@code{pic} and @code{grn}), and for processing bibliographies
+(@code{refer}). An associated program which is useful when dealing with
+preprocessors is @code{soelim}.
A free implementation of @code{grap}, a preprocessor for drawing graphs,
can be obtained as an extra package; @code{groff} can use @code{grap}
@@ -845,8 +846,9 @@ Unique to @code{groff} is the @code{preconv} preprocessor which enables
@code{groff} to handle documents in various input encodings.
There are other preprocessors in existence, but, unfortunately, no free
-implementations are available. Among them is a preprocessor for drawing
-mathematical pictures (@code{ideal}).
+implementations are available. Among them are preprocessors for drawing
+mathematical pictures (@code{ideal}) and chemical structures
+(@code{chem}).
@c =====================================================================
@@ -862,7 +864,7 @@ into a postprocessor to produce output for a particular device.
Currently, @code{groff} has postprocessors for @sc{PostScript} devices,
character terminals, X@tie{}Windows (for previewing), @TeX{} DVI format,
HP LaserJet@tie{}4 and Canon LBP printers (which use @acronym{CAPSL}),
-@acronym{HTML}, @acronym{XHTML}, and PDF.
+@acronym{HTML}, and @acronym{XHTML}.
@c =====================================================================
@@ -934,31 +936,29 @@ Similarly, we say @samp{gpic}, @samp{geqn}, etc.
@pindex ggrn
@pindex grap
@pindex gtbl
-@pindex gchem
@pindex grefer
@pindex gsoelim
@pindex preconv
-@code{groff} normally runs the @code{gtroff} program and a
-postprocessor appropriate for the selected device. The default device
-is @samp{ps} (but it can be changed when @code{groff} is configured and
-built). It can optionally preprocess with any of @code{gpic},
-@code{geqn}, @code{gtbl}, @code{ggrn}, @code{grap}, @code{gchem},
-@code{grefer}, @code{gsoelim}, or @code{preconv}.
+@code{groff} normally runs the @code{gtroff} program and a postprocessor
+appropriate for the selected device. The default device is @samp{ps}
+(but it can be changed when @code{groff} is configured and built). It
+can optionally preprocess with any of @code{gpic}, @code{geqn},
+@code{gtbl}, @code{ggrn}, @code{grap}, @code{grefer}, @code{gsoelim}, or
+@code{preconv}.
This section only documents options to the @code{groff} front end. Many
of the arguments to @code{groff} are passed on to @code{gtroff},
therefore those are also included. Arguments to pre- or postprocessors
can be found in @ref{Invoking gpic}, @ref{Invoking geqn}, @ref{Invoking
-gtbl}, @ref{Invoking ggrn}, @ref{Invoking grefer}, @ref{Invoking gchem},
-@ref{Invoking gsoelim}, @ref{Invoking preconv}, @ref{Invoking grotty},
-@ref{Invoking grops}, @ref{Invoking gropdf}, @ref{Invoking grohtml},
-@ref{Invoking grodvi}, @ref{Invoking grolj4}, @ref{Invoking grolbp}, and
-@ref{Invoking gxditview}.
+gtbl}, @ref{Invoking ggrn}, @ref{Invoking grefer}, @ref{Invoking
+gsoelim}, @ref{Invoking preconv}, @ref{Invoking grotty}, @ref{Invoking
+grops}, @ref{Invoking grohtml}, @ref{Invoking grodvi}, @ref{Invoking
+grolj4}, @ref{Invoking grolbp}, and @ref{Invoking gxditview}.
The command line format for @code{groff} is:
@Example
-groff [ -abceghijklpstvzCEGNRSUVXZ ] [ -d@var{cs} ] [ -D@var{arg} ]
+groff [ -abceghiklpstvzCEGNRSUVXZ ] [ -d@var{cs} ] [ -D@var{arg} ]
[ -f@var{fam} ] [ -F@var{dir} ] [ -I@var{dir} ] [ -K@var{arg} ]
[ -L@var{arg} ] [ -m@var{name} ] [ -M@var{dir} ] [ -n@var{num} ]
[ -o@var{list} ] [ -P@var{arg} ] [ -r@var{cn} ] [ -T@var{def} ]
@@ -1050,7 +1050,7 @@ using the @env{GROFF_FONT_PATH} environment variable.
Preprocess with @code{ggrn}.
@item -G
-Preprocess with @code{grap}. Implies @option{-p}.
+Preprocess with @code{grap}.
@item -h
Print a help message.
@@ -1082,9 +1082,6 @@ specified more than once; the directories are searched in the order
specified. No directory search is performed for files specified using
an absolute path.
-@item -j
-Preprocess with @code{gchem}. Implies @option{-p}.
-
@item -k
Preprocess with @code{preconv}. This is run before any other
preprocessor. Please refer to @code{preconv}'s manual page for its
@@ -1194,9 +1191,6 @@ following are the output devices currently available:
@item ps
For @sc{PostScript} printers and previewers.
-@item pdf
-For PDF viewers or printers.
-
@item dvi
For @TeX{} DVI format.
@@ -1337,10 +1331,10 @@ by @code{groff}.
@cindex prefix, for commands
If this is set to@tie{}@var{X}, then @code{groff} runs
@code{@var{X}troff} instead of @code{gtroff}. This also applies to
-@code{tbl}, @code{pic}, @code{eqn}, @code{grn}, @code{chem},
-@code{refer}, and @code{soelim}. It does not apply to @code{grops},
-@code{grodvi}, @code{grotty}, @code{pre-grohtml}, @code{post-grohtml},
-@code{preconv}, @code{grolj4}, @code{gropdf}, and @code{gxditview}.
+@code{tbl}, @code{pic}, @code{eqn}, @code{grn}, @code{refer}, and
+@code{soelim}. It does not apply to @code{grops}, @code{grodvi},
+@code{grotty}, @code{pre-grohtml}, @code{post-grohtml}, @code{preconv},
+@code{grolj4}, and @code{gxditview}.
The default command prefix is determined during the installation
process. If a non-GNU troff system is found, prefix @samp{g} is used,
@@ -2537,8 +2531,8 @@ release number (such as ``System V Release 3'').
@Defmac {UC, [@Var{version}], man}
@cindex @code{man}macros, BSD compatibility
-Alters the footer for use with BSD manpages. This command exists only
-for compatibility; don't use it. The argument can be:
+Alters the footer for use with @acronym{BSD} manpages. This command
+exists only for compatibility; don't use it. The argument can be:
@table @code
@item 3
@@ -3879,8 +3873,9 @@ equation.
@DefmacList {[, , ms}
@DefmacListEnd {], , ms}
Denotes a reference, to be processed by the @code{refer} preprocessor.
-The GNU @cite{refer(1)} man page provides a comprehensive reference to
-the preprocessor and the format of the bibliographic database.
+The @acronym{GNU} @cite{refer(1)} man page provides a comprehensive
+reference to the preprocessor and the format of the bibliographic
+database.
@endDefmac
@menu
@@ -5144,7 +5139,7 @@ and negates the entire expression.
Attempting to insert the @samp{!} operator
within the expression results in a
@samp{numeric expression expected} warning. This
-maintains compatibility
+maintains bug-compatibility
with old versions of @code{troff}.
Example:
@@ -6018,10 +6013,6 @@ details of formatting parameters.
Define or set registers using the @code{nr} request or the @code{\R}
escape.
-Although the following requests and escapes can be used to create
-registers, simply using an undefined register will cause it to be
-set to zero.
-
@DefreqList {nr, ident value}
@DefescListEnd {\\R, ', ident value, '}
Set number register @var{ident} to @var{value}. If @var{ident} doesn't
@@ -6060,13 +6051,13 @@ aaa bbb ccc ddd eee fff ggg hhh\h'0'\R':k \n[.k]'
@result{} :k == 15000
@endExample
-If you process this with the @sc{PostScript} device (@code{-Tps}),
-there will be a line break eventually after @code{ggg} in both input
-lines. However, after processing the space after @code{ggg}, the
-partially collected line is not overfull yet, so @code{troff}
-continues to collect input until it sees the space (or in this case,
-the newline) after @code{hhh}. At this point, the line is longer
-than the line length, and the line gets broken.
+If you process this with the PostScript device (@code{-Tps}), there
+will be a line break eventually after @code{ggg} in both input lines.
+However, after processing the space after @code{ggg}, the partially
+collected line is not overfull yet, so @code{troff} continues to
+collect input until it sees the space (or in this case, the newline)
+after @code{hhh}. At this point, the line is longer than the line
+length, and the line gets broken.
In the first input line, since the @code{\R} escape leaves no traces,
the check for the overfull line hasn't been done yet at the point where
@@ -8514,11 +8505,6 @@ Some notes:
@itemize @bullet
@item
-The line length set by the @code{ll} request is not honoured by
-@code{tl}; use the @code{lt} request (described below) instead, to
-control line length for text set by @code{tl}.
-
-@item
A title line is not restricted to the top or bottom of a page.
@item
@@ -8903,10 +8889,10 @@ the current family.
@cindex PostScript fonts
@cindex fonts, PostScript
-Currently, fonts for the devices @option{-Tps}, @option{-Tpdf},
-@option{-Tdvi}, @option{-Tlj4}, @option{-Tlbp}, and the X11 fonts are
-set up to this mechanism. By default, @code{gtroff} uses the Times
-family with the four styles @samp{R}, @samp{I}, @samp{B}, and @samp{BI}.
+Currently, fonts for the devices @option{-Tps}, @option{-Tdvi},
+@option{-Tlj4}, @option{-Tlbp}, and the X11 fonts are set up to this
+mechanism. By default, @code{gtroff} uses the Times family with the
+four styles @samp{R}, @samp{I}, @samp{B}, and @samp{BI}.
This way, it is possible to use the basic four fonts and to select a
different font family on the command line (@pxref{Groff Options}).
@@ -9352,7 +9338,7 @@ Any component @code{u@var{XXXX}} which is found in the list of
decomposable glyphs is decomposed.
@item
-The resulting elements are then concatenated with @samp{_} in between,
+The resulting elements are then concatenated with @samp{_} inbetween,
dropping the leading @samp{u} in all elements but the first.
@end itemize
@@ -9721,7 +9707,7 @@ Unicode values (according to the groff glyph gist) which then give the
start and end value of the range. If that fails, the class definition
is skipped.
-Finally, classes can be nested, too.
+Finally, classes can be nested, too.
Here is a more complex example:
@@ -9815,8 +9801,7 @@ Default scaling indicator is @samp{z}.
The read-only number register @code{.height} contains the font height as
set by @code{\H}.
-Currently, only the @option{-Tps} and @option{-Tpdf} devices support
-this feature.
+Currently, only the @option{-Tps} device supports this feature.
Note that @code{\H} doesn't produce an input token in @code{gtroff}. As
a consequence, it can be used in requests like @code{mc} (which expects
@@ -9852,8 +9837,7 @@ the right. Only integer values are possible.
The read-only number register @code{.slant} contains the font slant as
set by @code{\S}.
-Currently, only the @option{-Tps} and @option{-Tpdf} devices support
-this feature.
+Currently, only the @option{-Tps} device supports this feature.
Note that @code{\S} doesn't produce an input token in @code{gtroff}. As
a consequence, it can be used in requests like @code{mc} (which expects
@@ -10530,10 +10514,6 @@ with a default scale indicator of @samp{z}.
convenience (i.e.@: there are no built-in strings exept @code{.T}, but
even this is a read-write string variable).
-Although the following requests can be used to create strings,
-simply using an undefined string will cause it to be defined as empty.
-@xref{Identifiers}.
-
@DefreqList {ds, name [@Var{string}]}
@DefreqItem {ds1, name [@Var{string}]}
@DefescItem {\\*, , n, }
@@ -11256,19 +11236,14 @@ A @dfn{macro} is a collection of text and embedded commands which can be
invoked multiple times. Use macros to define common operations.
@xref{Strings}, for a (limited) alternative syntax to call macros.
-Although the following requests can be used to create macros,
-simply using an undefined macro will cause it to be defined as empty.
-@xref{Identifiers}.
-
@DefreqList {de, name [@Var{end}]}
@DefreqItem {de1, name [@Var{end}]}
@DefreqItem {dei, name [@Var{end}]}
@DefreqListEnd {dei1, name [@Var{end}]}
Define a new macro named @var{name}. @code{gtroff} copies subsequent
lines (starting with the next one) into an internal buffer until it
-encounters the line @samp{..} (two dots). If the optional second
-argument to @code{de} is present it is used as the macro closure
-request instead of @samp{..}.
+encounters the line @samp{..} (two dots). The optional second argument
+to @code{de} changes this to a macro to @samp{.@var{end}}.
There can be whitespace after the first dot in the line containing the
ending token (either @samp{.} or macro @samp{@var{end}}). Don't insert
@@ -12697,33 +12672,6 @@ line three
Note that this specific feature affects only the first potential page
break caused by the end macro; further page breaks emitted by the end
macro are handled normally.
-
-Another possible use of the @code{em} request is to make @code{gtroff}
-emit a single large page instead of multiple pages. For example, one
-may want to produce a long plain-text file for reading on-screen. The
-idea is to set the page length at the beginning of the document to a
-very large value to hold all the text, and automatically adjust it to
-the exact height of the document after the text has been output.
-
-@Example
-.de adjust-page-length
-. br
-. pl \\n[nl]u \" \n[nl] holds the current page length
-..
-.
-.de single-page-mode
-. pl 99999
-. em adjust-page-length
-..
-.
-.\" activate the above code
-.single-page-mode
-@endExample
-
-Since only one end-of-input trap does exist and other macro packages
-may already use it, care must be taken not to break the mechanism. A
-simple solution would be to append the above macro to the macro
-package's end-of-input macro using the @code{.am} request.
@endDefreq
@@ -12745,10 +12693,6 @@ For orthogonality it is said that @code{gtroff} is in the @dfn{top-level
diversion} if no diversion is active (i.e., the data is diverted to the
output device).
-Although the following requests can be used to create diversions,
-simply using an undefined diversion will cause it to be defined as empty.
-@xref{Identifiers}.
-
@DefreqList {di, macro}
@DefreqListEnd {da, macro}
@cindex beginning diversion (@code{di})
@@ -13971,7 +13915,7 @@ But we can fake it with `\&'. |
@DefregListEnd {ury}
@cindex PostScript, bounding box
@cindex bounding box
-Retrieve the bounding box of the @sc{PostScript} image found in
+Retrieve the bounding box of the PostScript image found in
@var{filename}. The file must conform to Adobe's @dfn{Document
Structuring Conventions} (DSC); the command searches for a
@code{%%BoundingBox} comment and extracts the bounding box values into
@@ -14720,7 +14664,6 @@ which are freely available.
* gpic::
* ggrn::
* grap::
-* gchem::
* grefer::
* gsoelim::
* preconv::
@@ -14821,7 +14764,7 @@ which are freely available.
@c =====================================================================
-@node grap, gchem, ggrn, Preprocessors
+@node grap, grefer, ggrn, Preprocessors
@section @code{grap}
@cindex @code{grap}, the program
@@ -14835,30 +14778,7 @@ is available as an extra package from the following address:
@c =====================================================================
-@node gchem, grefer, grap, Preprocessors
-@section @code{gchem}
-@cindex @code{chem}, the program
-@cindex @code{gchem}, the program
-
-@c XXX
-
-@menu
-* Invoking gchem::
-@end menu
-
-@c ---------------------------------------------------------------------
-
-@node Invoking gchem, , gchem, gchem
-@subsection Invoking @code{gchem}
-@cindex invoking @code{gchem}
-@cindex @code{gchem}, invoking
-
-@c XXX
-
-
-@c =====================================================================
-
-@node grefer, gsoelim, gchem, Preprocessors
+@node grefer, gsoelim, grap, Preprocessors
@section @code{grefer}
@cindex @code{refer}, the program
@cindex @code{grefer}, the program
@@ -14938,7 +14858,6 @@ is available as an extra package from the following address:
* Special Characters::
* grotty::
* grops::
-* gropdf::
* grodvi::
* grolj4::
* grolbp::
@@ -14965,9 +14884,7 @@ is available as an extra package from the following address:
@section @code{grotty}
@cindex @code{grotty}, the program
-The postprocessor @code{grotty} translates the output from GNU
-@code{troff} into a form suitable for typewriter-like devices. It is
-fully documented on its manual page, @cite{grotty(1)}.
+@c XXX
@menu
* Invoking grotty::
@@ -14980,83 +14897,34 @@ fully documented on its manual page, @cite{grotty(1)}.
@cindex invoking @code{grotty}
@cindex @code{grotty}, invoking
-The postprocessor @command{grotty} accepts the following command-line
-options:
-
-@table @option
-@item -b
-Do not overstrike bold glyphs. Ignored if @option{-c} isn't used.
-
-@item -B
-Do not underline bold-italic glyphs. Ignored if @option{-c} isn't
-used.
-
-@item -c
-Use overprint and disable colours for printing on legacy Teletype
-printers (see below).
-
-@item -d
-Do not render lines (this is, ignore all @code{\D} escapes).
-
-@item -f
-Use form feed control characters in the output.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font and device description files, given the
-target device @var{name}.
-
-@item -h
-Use horizontal tabs for sequences of 8 space characters.
-
-@item -i
-Request italic glyphs from the terminal. Ignored if @option{-c} is
-active.
-
-@item -o
-Do not overstrike.
-
-@item -r
-Highlight italic glyphs. Ignored if @option{-c} is active.
-
-@item -u
-Do not underline italic glyphs. Ignored if @option{-c} isn't used.
-
-@item -U
-Do not overstrike bold-italic glyphs. Ignored if @option{-c} isn't
-used.
-
-@item -v
-Print the version number.
-@end table
+@c XXX
-@pindex less
-@cindex Teletype
-@cindex ISO 6249 SGR
-@cindex terminal control sequences
-@cindex control sequences, for terminals
-The @option{-c} mode for TTY output devices means that underlining is
-done by emitting sequences of @samp{_} and @samp{^H} (the backspace
-character) before the actual character. Literally, this is printing
-an underline character, then moving the caret back one character
-position, and printing the actual character at the same position as
-the underline character (similar to a typewriter). Usually, a modern
-terminal can't interpret this (and the original Teletype machines for
-which this sequence was appropriate are no longer in use). You need
-a pager program like @code{less} which translates this into
-ISO@tie{}6429 SGR sequences to control terminals.
+@c The following is no longer true; fix and extend it.
+
+@c @pindex less
+@c @cindex Teletype
+@c @cindex ISO 6249 SGR
+@c @cindex terminal control sequences
+@c @cindex control sequences, for terminals
+@c For TTY output devices, underlining is done by emitting sequences of
+@c @samp{_} and @samp{\b} (the backspace character) before the actual
+@c character. Literally, this is printing an underline character, then
+@c moving back one character position, and printing the actual character
+@c at the same position as the underline character (similar to a
+@c typewriter). Usually, a modern terminal can't interpret this (and
+@c the original Teletype machines for which this sequence was
+@c appropriate are no longer in use). You need a pager program like
+@c @code{less} which translates this into ISO 6429 SGR sequences to
+@c control terminals.
@c =====================================================================
-@node grops, gropdf, grotty, Output Devices
+@node grops, grodvi, grotty, Output Devices
@section @code{grops}
@cindex @code{grops}, the program
-The postprocessor @command{grops} translates the output from GNU
-@command{troff} into a form suitable for Adobe @sc{PostScript}
-devices. It is fully documented on its manual page, @cite{grops(1)}.
-
+@c XXX
@menu
* Invoking grops::
@@ -15070,56 +14938,7 @@ devices. It is fully documented on its manual page, @cite{grops(1)}.
@cindex invoking @code{grops}
@cindex @code{grops}, invoking
-The postprocessor @code{grops} accepts the following command-line
-options:
-
-@table @option
-@item -b@var{flags}
-Use backward compatibility settings given by @var{flags} as
-documented in the @cite{grops(1)} manual page. Overrides the command
-@option{broken} in the @file{DESC} file.
-
-@item -c@var{n}
-Print @var{n} copies of each page.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font, prologue and device description files,
-given the target device @var{name}, usually @strong{ps}.
-
-@item -g
-Tell the printer to guess the page length. Useful for printing
-vertically centered pages when the paper dimensions are determined at
-print time.
-
-@item -I@var{path} @dots{}
-Consider the directory @file{@var{path}} for searching included files
-specified with relative paths. The current directory is searched as
-fallback.
-
-@item -l
-Use landscape orientation.
-
-@item -m
-Use manual feed.
-
-@item -p@var{papersize}
-Set the page dimensions. Overrides the commands @option{papersize},
-@option{paperlength}, and @option{paperwidth} in the @file{DESC}
-file. See the @cite{groff_font(5)} manual page for details.
-
-@item -P@var{prologue}
-Use the @var{prologue} in the font path as the prologue instead of
-the default @file{prologue}. Overrides the environment variable
-@env{GROPS_PROLOGUE}.
-
-@item -w@var{n}
-Set the line thickness to @var{n}/1000@dmn{em}. Overrides the
-default value @var{n} = 40.
-
-@item -v
-Print the version number.
-@end table
+@c XXX
@c ---------------------------------------------------------------------
@@ -15128,110 +14947,16 @@ Print the version number.
@cindex embedding PostScript
@cindex PostScript, embedding
-The escape sequence
-
-@code{\X'ps: import @var{file} @var{llx} @var{lly} @var{urx} @var{ury}
- @var{width} [@var{height}]'}
-
-@noindent
-places a rectangle of the specified @var{width} containing the
-@sc{PostScript} drawing from file @var{file} bound by the box from
-@var{llx} @var{lly} to @var{urx} @var{ury} (in @sc{PostScript}
-coordinates) at the insertion point. If @var{height} is not
-specified, the embedded drawing is scaled proportionally.
-
-@xref{Miscellaneous}, for the @code{psbb} request which automatically
-generates the bounding box.
-
-This escape sequence is used internally by the macro @code{PSPIC}
-(see the @cite{groff_tmac(5)} manual page).
-
-
-@c =====================================================================
-
-@node gropdf, grodvi, grops, Output Devices
-@section @code{gropdf}
-@cindex @code{gropdf}, the program
-
-The postprocessor @command{gropdf} translates the output from GNU
-@command{troff} into a form suitable for Adobe PDF devices. It is fully
-documented on its manual page, @cite{gropdf(1)}.
-
-@menu
-* Invoking gropdf::
-* Embedding PDF::
-@end menu
-
-@c ---------------------------------------------------------------------
-
-@node Invoking gropdf, Embedding PDF, gropdf, gropdf
-@subsection Invoking @code{gropdf}
-@cindex invoking @code{gropdf}
-@cindex @code{gropdf}, invoking
-
-The postprocessor @code{gropdf} accepts the following command-line
-options:
-
-@table @option
-@item -d
-Produce uncompressed PDFs which include debugging comments.
-
-@item -e
-This forces @code{gropdf} to embed all used fonts in the PDF,
-even if they are one of the 14 base Adobe fonts.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font, prologue and device description files,
-given the target device @var{name}, usually @strong{pdf}.
-
-@item -y@var{foundry}
-This forces the use of a different font foundry.
-
-@item -l
-Use landscape orientation.
-
-@item -p@var{papersize}
-Set the page dimensions. Overrides the commands @option{papersize},
-@option{paperlength}, and @option{paperwidth} in the @file{DESC}
-file. See the @cite{groff_font(5)} manual page for details.
-
-@item -v
-Print the version number.
-@end table
-
-@c ---------------------------------------------------------------------
-
-@node Embedding PDF, , Invoking gropdf, gropdf
-@subsection Embedding PDF
-@cindex embedding PDF
-@cindex PDF, embedding
-
-The escape sequence
-
-@code{\X'pdf: pdfpic @var{file} @var{alignment} @var{width} [@var{height}]
- [@var{linelength}]'}
-
-@noindent
-places a rectangle of the specified @var{width} containing the PDF
-drawing from file @var{file} of desired @var{width} and @var{height} (if
-@var{height} is missing or zero then it is scaled proportionally). If
-@var{alignment} is @code{-L} the drawing is left aligned. If it is
-@code{-C} or @code{-R} a @var{linelength} greater than the width of the
-drawing is required as well. If @var{width} is specified as zero then
-the width is scaled in proportion to the height.
+@c XXX
@c =====================================================================
-@node grodvi, grolj4, gropdf, Output Devices
+@node grodvi, grolj4, grops, Output Devices
@section @code{grodvi}
@cindex @code{grodvi}, the program
-The postprocessor @command{grodvi} translates the output from GNU
-@command{troff} into the @strong{DVI} output format compatible with
-the @strong{@TeX{}} document preparation system. It is fully
-documented on its manual page, @cite{grodvi(1)}.
+@c XXX
@menu
* Invoking grodvi::
@@ -15244,33 +14969,7 @@ documented on its manual page, @cite{grodvi(1)}.
@cindex invoking @code{grodvi}
@cindex @code{grodvi}, invoking
-The postprocessor @code{grodvi} accepts the following command-line
-options:
-
-@table @option
-@item -d
-Do not use @strong{tpic} specials to implement drawing commands.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font and device description files, given the
-target device @var{name}, usually @strong{dvi}.
-
-@item -l
-Use landscape orientation.
-
-@item -p@var{papersize}
-Set the page dimensions. Overrides the commands @option{papersize},
-@option{paperlength}, and @option{paperwidth} in the @file{DESC}
-file. See @cite{groff_font(5)} manual page for details.
-
-@item -v
-Print the version number.
-
-@item -w@var{n}
-Set the line thickness to @var{n}/1000@dmn{em}. Overrides the
-default value @var{n} = 40.
-@end table
+@c XXX
@c =====================================================================
@@ -15279,10 +14978,7 @@ default value @var{n} = 40.
@section @code{grolj4}
@cindex @code{grolj4}, the program
-The postprocessor @command{grolj4} translates the output from GNU
-@command{troff} into the @strong{PCL5} output format suitable for
-printing on a @strong{HP LaserJet@tie{}4} printer. It is fully
-documented on its manual page, @cite{grolj4(1)}.
+@c XXX
@menu
* Invoking grolj4::
@@ -15295,37 +14991,7 @@ documented on its manual page, @cite{grolj4(1)}.
@cindex invoking @code{grolj4}
@cindex @code{grolj4}, invoking
-The postprocessor @code{grolj4} accepts the following command-line
-options:
-
-@table @option
-@item -c@var{n}
-Print @var{n} copies of each page.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font and device description files, given the
-target device @var{name}, usually @strong{lj4}.
-
-@item -l
-Use landscape orientation.
-
-@item -p@var{size}
-Set the page dimensions. Valid values for @var{size} are:
-@code{letter}, @code{legal}, @code{executive}, @code{a4},
-@code{com10}, @code{monarch}, @code{c5}, @code{b5}, @code{d1}.
-
-@item -v
-Print the version number.
-
-@item -w@var{n}
-Set the line thickness to @var{n}/1000@dmn{em}. Overrides the
-default value @var{n} = 40.
-@end table
-
-The special drawing command @code{\D'R @var{dh} @var{dv}'} draws a
-horizontal rectangle from the current position to the position at
-offset (@var{dh},@var{dv}).
+@c XXX
@c =====================================================================
@@ -15334,10 +15000,7 @@ offset (@var{dh},@var{dv}).
@section @code{grolbp}
@cindex @code{grolbp}, the program
-The postprocessor @command{grolbp} translates the output from GNU
-@command{troff} into the @strong{LBP} output format suitable for
-printing on @strong{Canon CAPSL} printers. It is fully documented on
-its manual page, @cite{grolbp(1)}.
+@c XXX
@menu
* Invoking grolbp::
@@ -15350,39 +15013,7 @@ its manual page, @cite{grolbp(1)}.
@cindex invoking @code{grolbp}
@cindex @code{grolbp}, invoking
-The postprocessor @code{grolbp} accepts the following command-line
-options:
-
-@table @option
-@item -c@var{n}
-Print @var{n} copies of each page.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font, prologue and device description files,
-given the target device @var{name}, usually @strong{lbp}.
-
-@item -l
-Use landscape orientation.
-
-@item -o@var{orientation}
-Use the @var{orientation} specified: @code{portrait} or
-@code{landscape}.
-
-@item -p@var{papersize}
-Set the page dimensions. See @cite{groff_font(5)} manual page for
-details.
-
-@item -w@var{n}
-Set the line thickness to @var{n}/1000@dmn{em}. Overrides the
-default value @var{n} = 40.
-
-@item -v
-Print the version number.
-
-@item -h
-Print command-line help.
-@end table
+@c XXX
@c =====================================================================
@@ -15399,7 +15030,7 @@ option. If no files are given, @code{grohtml} will read the standard
input. A filename of @code{-} will also cause @code{grohtml} to read
the standard input. @acronym{HTML} output is written to the standard
output. When @code{grohtml} is run by @code{groff}, options can be
-passed to @code{grohtml} using @code{groff}'s @option{-P} option.
+passed to @code{grohtml} using @code{groff}'s @code{-P} option.
@code{grohtml} invokes @code{groff} twice. In the first pass, pictures,
equations, and tables are rendered using the @code{ps} device, and in
@@ -15414,9 +15045,6 @@ safely ignored unless the special characters appear inside a table or
equation, in which case glyphs for these characters must be defined for
the @code{ps} device as well.
-This output device is fully documented on its manual page,
-@cite{grohtml(1)}.
-
@menu
* Invoking grohtml::
* grohtml specific registers and strings::
@@ -15429,83 +15057,7 @@ This output device is fully documented on its manual page,
@cindex invoking @code{grohtml}
@cindex @code{grohtml}, invoking
-The postprocessor @code{grohtml} accepts the following command-line
-options:
-
-@table @option
-@item -a@var{bits}
-Use this number of @var{bits} (= 1, 2 or 4) for text antialiasing.
-Default: @var{bits} = 4.
-
-@item -a0
-Do not use text antialiasing.
-
-@item -b
-Use white background.
-
-@item -D@var{dir}
-Store rendered images in the directory @file{@var{dir}}.
-
-@item -F@var{dir}
-Put the directory @file{@var{dir}/dev@var{name}} in front of the
-search path for the font, prologue and device description files,
-given the target device @var{name}, usually @strong{html}.
-
-@item -g@var{bits}
-Use this number of @var{bits} (= 1, 2 or 4) for antialiasing of
-drawings. Default: @var{bits} = 4.
-
-@item -g0
-Do not use antialiasing for drawings.
-
-@item -h
-Use the @code{B} element for section headings.
-
-@item -i@var{resolution}
-Use the @var{resolution} for rendered images. Default:
-@var{resolution} = 100@dmn{dpi}.
-
-@item -I@var{stem}
-Set the images' @var{stem name}. Default: @var{stem} =
-@file{grohtml-@var{XXX}} (@var{XXX} is the process ID).
-
-@item -j@var{stem}
-Place each section in a separate file called
-@file{@var{stem}-@var{n}.html} (where @var{n} is a generated section
-number).
-
-@item -l
-Do not generate the table of contents.
-
-@item -n
-Generate simple fragment identifiers.
-
-@item -o@var{offset}
-Use vertical paddding @var{offset} for images.
-
-@item -p
-Display the page rendering progress to @code{stderr}.
-
-@item -r
-Do not use horizontal rules to separate headers and footers.
-
-@item -s@var{size}
-Set the base font size, to be modified using the elements @code{BIG}
-and @code{SMALL}.
-
-@item -S@var{level}
-Generate separate files for sections at level @var{level}.
-
-@item -v
-Print the version number.
-
-@item -V
-Generate a validator button at the bottom.
-
-@item -y
-Generate a signature of groff after the validator button, if any.
-@end table
-
+@c XXX
@c ---------------------------------------------------------------------
@@ -15541,7 +15093,7 @@ troff -Txhtml
@endExample
@cindex MathML
-The @sc{PostScript} device is used to create all the image files (for
+The PostScript device is used to create all the image files (for
@option{-Thtml}; if @option{-Txhtml} is used, all equations are passed
to @code{geqn} to produce @acronym{MathML}, and the register
@code{ps4html} enables the macro sets to ignore floating keeps, footers,
@@ -16313,7 +15865,7 @@ x stop
@noindent
This output can be fed into @code{grops} to get its representation as a
-@sc{PostScript} file.
+PostScript file.
@item Low-resolution device @code{latin1}
@@ -16416,14 +15968,14 @@ The classical quasi device independence is not yet implemented.
@item
The old hardware was very different from what we use today. So the
-@code{groff} devices are also fundamentally different from the ones
-in @acronym{AT&T} @code{troff}. For example, the @acronym{AT&T}
-@sc{PostScript} device is called @code{post} and has a resolution of
-only 720 units per inch, suitable for printers 20 years ago, while
-@code{groff}'s @code{ps} device has a resolution of 72000 units per
-inch. Maybe, by implementing some rescaling mechanism similar to the
-classical quasi device independence, @code{groff} could emulate
-@acronym{AT&T}'s @code{post} device.
+@code{groff} devices are also fundamentally different from the ones in
+@acronym{AT&T} @code{troff}. For example, the @acronym{AT&T} PostScript
+device is called @code{post} and has a resolution of only 720 units per
+inch, suitable for printers 20 years ago, while @code{groff}'s @code{ps}
+device has a resolution of 72000 units per inch. Maybe, by implementing
+some rescaling mechanism similar to the classical quasi device
+independence, @code{groff} could emulate @acronym{AT&T}'s @code{post}
+device.
@item
The B-spline command @samp{D~} is correctly handled by the intermediate
@@ -16531,9 +16083,9 @@ quantities are rounded to be multiples of this value.
@cindex PostScript, PNG image generation
@cindex PNG image generation from PostScript
Needed for @code{grohtml} only. It specifies the program to generate
-PNG images from @sc{PostScript} input. Under GNU/Linux this is
-usually @code{gs} but under other systems (notably cygwin) it might
-be set to another name.
+PNG images from PostScript input. Under GNU/Linux this is usually
+@code{gs} but under other systems (notably cygwin) it might be set to
+another name.
@item paperlength @var{n}
@kindex paperlength
@@ -17025,8 +16577,3 @@ accessed as @samp{\[xxx]}.
@bye
-
-@c Local Variables:
-@c mode: texinfo
-@c coding: latin-1
-@c End:
diff --git a/doc/meref.me b/doc/meref.me
index 1685561f..848b6c83 100644
--- a/doc/meref.me
+++ b/doc/meref.me
@@ -1329,25 +1329,12 @@ on each page.
.TL
.b .n2
.i N
-.i c
.DE
Number lines from
.i N ,
stop if
.i N
-missing; resume where stopped with (unsigned) value
-.i N
-or increment
-.i N
-if
-.i N
-is \(+-\c
-.i N .
-If
-.i c
-is c, maintain compatibility with original
-.b .n2
-by narrowing line width to accommodate numbers.
+= 0.
.TL
.b .sk
.DE
diff --git a/doc/pic.ms b/doc/pic.ms
index d1bd42cb..1e94bb53 100644
--- a/doc/pic.ms
+++ b/doc/pic.ms
@@ -1,4 +1,4 @@
-.\" Copyright (C) 2006-2011
+.\" Copyright (C) 2006, 2007, 2008, 2009
.\" Free Software Foundation, Inc.
.\" Written by Eric S. Raymond <esr@thyrsus.com>
.\"
@@ -30,7 +30,7 @@
.\" Eric S. Raymond <esr@thyrsus.com> in August 1995. It has been put
.\" under the GPL in March 2006.
.\"
-.\" $Id: pic.ms,v 1.49 2011/07/26 17:11:10 wl Exp $
+.\" $Id: pic.ms,v 1.45 2010/09/19 07:46:27 wl Exp $
.
.
.\" Set a proper TeX and LaTeX
@@ -188,7 +188,7 @@ This was produced from the following \fBpic\fP program:
\&.PS
ellipse "document";
arrow;
-box width 0.6 "\efIgpic\e/\efP(1)"
+box width 0.6 "\efIpic\e/\efP(1)"
arrow;
box width 1.1 "\efIgtbl\e/\efP(1) or \efIgeqn\e/\efP(1)" "(optional)" dashed;
arrow;
@@ -862,7 +862,7 @@ In GNU \fBgpic\fR, objects can have an
.B aligned
attribute.
This only works if the postprocessor is
-\fBgrops\fP or \fBgropdf\fP.
+\fBgrops\fP.
Any text associated with an object having the
.B aligned
attribute is rotated about the center of the object
@@ -1202,12 +1202,12 @@ Interpolation Between Positions
A position may be interpolated between any two positions. The syntax
is `\fIfraction\fP \fBof the way between\fP \fIposition1\fP \fBand\fP
\fIposition2\fP'. For example, you can say \fB1/3 of the way between
-Here and last ellipse .ne\fP. The fraction may be in
+here and last ellipse .ne\fP. The fraction may be in
numerator/denominator form or may be an ordinary number (values are
\fInot\fP restricted to [0,1]). As an alternative to this verbose
syntax, you can say `\fIfraction\fP \fB<\,\fP\fIposition1\fP \fB,\fP
\fIposition2\/\fP\fB>\fP'; thus, the example could also be written as
-\fB1/3 <Here, last ellipse>\fP.
+\fB1/3 <here, last ellipse>\fP.
.KS
.PS
arrow up right;
diff --git a/doc/webpage.ms b/doc/webpage.ms
index b195f6c8..9281f473 100644
--- a/doc/webpage.ms
+++ b/doc/webpage.ms
@@ -39,12 +39,8 @@ Home of Groff (GNU Troff).
.
.HTML-IMAGE-LEFT
.PSPIC -L gnu.eps 2i 2i
-.ie r ps4html \{\
-. ll 10i
-. br
+.ie r ps4html \
. nop \v'-0.66i'\h'2.0i'\s[80]\*[GNU] Troff\s0
-. ll
-.\}
.el \
. nop \v'-0.66i'\h'2.0i'\s[60]\*[GNU] Troff\s0
.HTML-IMAGE-END
@@ -296,46 +292,6 @@ postings to the corresponding mailing list.
.
.
.SH
-NEWS VERSION 1.21.1
-.LP
-.SH 2
-groff
-
-.ULS
-.LI
-A new option `\-j' has been added to call the `chem' preprocessor.
-.ULE
-.
-.
-.SH 2
-macro packages
-
-.ULS
-.LI
-Support for the `refer' preprocessor has been added to the \-mm macro
-package.
-
-
-.LI
-Bugs in the support for the `n1' and `n2' requests in the \-me package were
-fixed that caused extra line numbers to be added to text in floats and
-diversion environments, as well as equations and pic-style pictures.
-
-The `TH' macro was changed for compatibility with line number support in
-tables.
-.ULE
-.
-.
-.SH 2
-tbl
-
-.ULS
-.LI
-Added numbered line support in tables.
-.ULE
-.
-.
-.SH
NEWS VERSION 1.21
.LP
.SH 2
@@ -729,7 +685,7 @@ Here the same table using a more expanded syntax:
Tables can be nested; `hdtbl' works without a preprocessor so that the
full capability of groff's macro engine is available.
-This package currently works with `\-Tps' only.
+This package currently works with `-Tps' only.
.LI
\-mandoc now supports multiple man pages (in either man or mdoc format).
diff --git a/font/devpdf/DESC.in b/font/devpdf/DESC.in
deleted file mode 100644
index 5cb254f3..00000000
--- a/font/devpdf/DESC.in
+++ /dev/null
@@ -1,11 +0,0 @@
-res 72000
-hor 1
-vert 1
-sizescale 1000
-unitwidth 1000
-sizes 1000-10000000 0
-styles R I B BI
-family T
-fonts 8 0 0 0 0 0 0 S ZD
-tcommand
-postpro gropdf
diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
deleted file mode 100644
index f8a659b6..00000000
--- a/font/devpdf/Foundry.in
+++ /dev/null
@@ -1,114 +0,0 @@
-# Foundry file
-
-# Copyright (C) 2011 Free Software Foundation, Inc.
-# Written by Deri James <deri@chuzzlewit.demon.co.uk>
-#
-# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-#=====================================================================
-#Foundry|Name|Searchpath
-foundry||(gs)
-
-# These are just copies of the grops fonts so MUST not have any flags etc set
-
-#Font|IsBase14|Flags|Map|Encoding|File(!file...)
-AB|N||||URWGothicL-Demi!a010015l.pfb
-ABI|N||||URWGothicL-DemiObli!a010035l.pfb
-AI|N||||URWGothicL-BookObli!a010033l.pfb
-AR|N||||URWGothicL-Book!a010013l.pfb
-BMB|N||||URWBookmanL-DemiBold!b018015l.pfb
-BMBI|N||||URWBookmanL-DemiBoldItal!b018035l.pfb
-BMI|N||||URWBookmanL-LighItal!b018032l.pfb
-BMR|N||||URWBookmanL-Ligh!b018012l.pfb
-CB|Y||||NimbusMonL-Bold!n022004l.pfb
-CBI|Y||||NimbusMonL-BoldObli!n022024l.pfb
-CI|Y||||NimbusMonL-ReguObli!n022023l.pfb
-CR|Y||||NimbusMonL-Regu!n022003l.pfb
-EURO|N||||freeeuro.pfa
-HB|Y||||NimbusSanL-Bold!n019004l.pfb
-HBI|Y||||NimbusSanL-BoldItal!n019024l.pfb
-HI|Y||||NimbusSanL-ReguItal!n019023l.pfb
-HNB|N||||NimbusSanL-BoldCond!n019044l.pfb
-HNBI|N||||NimbusSanL-BoldCondItal!n019064l.pfb
-HNI|N||||NimbusSanL-ReguCondItal!n019063l.pfb
-HNR|N||||NimbusSanL-ReguCond!n019043l.pfb
-HR|Y||||NimbusSanL-Regu!n019003l.pfb
-NB|N||||CenturySchL-Bold!c059016l.pfb
-NBI|N||||CenturySchL-BoldItal!c059036l.pfb
-NI|N||||CenturySchL-Ital!c059033l.pfb
-NR|N||||CenturySchL-Roma!c059013l.pfb
-PB|N||||URWPalladioL-Bold!p052004l.pfb
-PBI|N||||URWPalladioL-BoldItal!p052024l.pfb
-PI|N||||URWPalladioL-Ital!p052023l.pfb
-PR|N||||URWPalladioL-Roma!p052003l.pfb
-S|Y||||StandardSymL!s050000l.pfb
-TB|Y||||NimbusRomNo9L-Medi!n021004l.pfb
-TBI|Y||||NimbusRomNo9L-MediItal!n021024l.pfb
-TI|Y||||NimbusRomNo9L-ReguItal!n021023l.pfb
-TR|Y||||NimbusRomNo9L-Regu!n021003l.pfb
-ZCMI|N||||URWChanceryL-MediItal!z003034l.pfb
-ZD|Y||||Dingbats!d050000l.pfb
-
-#======================================================================
-
-#Foundry|Name|Searchpath
-foundry|U|(gs):/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different)
-
-#Define Flags for afmtodit
-
-r=-i 0 -m
-i=-i 50
-n=-n
-s=-s
-
-#Font|IsBase14|Flags|Map|Encoding|File
-AB|N|r|textmap|text.enc|a010015l.pfb
-ABI|N|i|textmap|text.enc|a010035l.pfb
-AI|N|i|textmap|text.enc|a010033l.pfb
-AR|N|r|textmap|text.enc|a010013l.pfb
-BMB|N|r|textmap|text.enc|b018015l.pfb
-BMBI|N|i|textmap|text.enc|b018035l.pfb
-BMI|N|i|textmap|text.enc|b018032l.pfb
-BMR|N|r|textmap|text.enc|b018012l.pfb
-CB|N|nr|textmap|text.enc|n022004l.pfb
-CBI|N|ni|textmap|text.enc|n022024l.pfb
-CI|N|ni|textmap|text.enc|n022023l.pfb
-CR|N|nr|textmap|text.enc|n022003l.pfb
-HB|N|r|textmap|text.enc|n019004l.pfb
-HBI|N|i|textmap|text.enc|n019024l.pfb
-HI|N|i|textmap|text.enc|n019023l.pfb
-HNB|N|r|textmap|text.enc|n019044l.pfb
-HNBI|N|i|textmap|text.enc|n019064l.pfb
-HNI|N|i|textmap|text.enc|n019063l.pfb
-HNR|N|r|textmap|text.enc|n019043l.pfb
-HR|N|r|textmap|text.enc|n019003l.pfb
-NB|N|r|textmap|text.enc|c059016l.pfb
-NBI|N|i|textmap|text.enc|c059036l.pfb
-NI|N|i|textmap|text.enc|c059033l.pfb
-NR|N|r|textmap|text.enc|c059013l.pfb
-PB|N|r|textmap|text.enc|p052004l.pfb
-PBI|N|i|textmap|text.enc|p052024l.pfb
-PI|N|i|textmap|text.enc|p052023l.pfb
-PR|N|r|textmap|text.enc|p052003l.pfb
-S|N|sr|symbolmap||s050000l.pfb
-TB|N|r|textmap|text.enc|n021004l.pfb
-TBI|N|i|textmap|text.enc|n021024l.pfb
-TI|N|i|textmap|text.enc|n021023l.pfb
-TR|N|r|textmap|text.enc|n021003l.pfb
-ZCMI|N|i|textmap|text.enc|z003034l.pfb
-ZD|N|sr|dingbats.map||d050000l.pfb
-
-#======================================================================
diff --git a/font/devpdf/Makefile.sub b/font/devpdf/Makefile.sub
deleted file mode 100644
index be607cf1..00000000
--- a/font/devpdf/Makefile.sub
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright (C) 2011 Free Software Foundation, Inc.
-# Written by Deri James <deri@chuzzlewit.demon.co.uk>
-#
-# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-DEV=pdf
-GROFF_FONT_FILES=`cd $(top_builddir)/font/devpdf \
- && find * -maxdepth 0 -type f ! -name Makefile.sub \
- -exec grep -l internalname {} \;`
-ENC_FILES=`cd $(top_builddir)/font/devpdf; ls enc/*`
-MAP_FILES=`cd $(top_builddir)/font/devpdf; ls map/*`
-
-UTILFILES=\
- BuildFoundries
-
-MOSTLYCLEANADD=\
- download \
- DESC \
- Foundry \
- $(GROFF_FONT_FILES) \
- $(ENC_FILES) \
- $(MAP_FILES)
-
-MOSTLYCLEANDIRADD=enc map
-
-DEVFILES=\
- Foundry
-
-#DEVSCRIPTS=util/BuildFoundries
-
-DISTFILES=\
- $(DEVFILES) \
- $(DEVSCRIPTS)
-
-
-# Some `makes' don't predefine RM...
-RM=rm -f
-
-
-all: DESC
-
-DESC: DESC.in
- -rm -f DESC
- cat $(srcdir)/DESC.in >$(top_builddir)/font/devpdf/DESC
- if test "$(PAGE)" = A4; then \
- echo "papersize a4" >>$(top_builddir)/font/devpdf/DESC; \
- else \
- echo "papersize letter" >>$(top_builddir)/font/devpdf/DESC; \
- fi
- -rm -f Foundry
- cat $(srcdir)/Foundry.in >$(top_builddir)/font/devpdf/Foundry
- -test -d $(top_builddir)/font/devpdf/enc \
- || $(mkinstalldirs) $(top_builddir)/font/devpdf/enc
- -test -d $(top_builddir)/font/devpdf/map \
- || $(mkinstalldirs) $(top_builddir)/font/devpdf/map
- cp -f $(top_srcdir)/font/devps/text.enc \
- $(top_builddir)/font/devpdf/enc
- cp -f $(top_srcdir)/font/devps/symbolmap \
- $(top_builddir)/font/devpdf/map
- cp -f $(top_srcdir)/font/devps/generate/dingbats.map \
- $(top_builddir)/font/devpdf/map
- cp -f $(top_srcdir)/font/devps/generate/textmap \
- $(top_builddir)/font/devpdf/map
- cp -f $(top_srcdir)/font/devps/generate/symbolchars \
- $(top_builddir)/font/devpdf/map
- -test -d util || $(mkinstalldirs) util
- $(RM) util/BuildFoundries
- if test -n "$(PERLPATH)"; then \
- sed -f $(SH_DEPS_SED_SCRIPT) \
- -e "s|/usr/bin/perl|$(PERLPATH)|" \
- -e "s|@GROFF_GHOSTSCRIPT_INTERPRETERS@|$(GHOSTSCRIPT)|" \
- -e "s|@VERSION@|$(version)$(revision)|" \
- -e "s|@GROFF_FONT_DIR@|$(fontdir)|" \
- $(srcdir)/util/BuildFoundries.pl \
- >$(top_builddir)/font/devpdf/util/BuildFoundries ;\
- else \
- sed -f $(SH_DEPS_SED_SCRIPT) \
- -e "s|@VERSION@|$(version)$(revision)|" \
- -e "s|@GROFF_FONT_DIR@|$(fontdir)|" \
- $(srcdir)/util/BuildFoundries.pl \
- >$(top_builddir)/font/devpdf/util/BuildFoundries ;\
- fi
- chmod +x util/BuildFoundries
- echo "# foundry ps name psfile" > $(top_builddir)/font/devpdf/download
- PATH="$(top_builddir)/src/utils/afmtodit:${GROFF_PATH_SEPARATOR}${PATH}" \
- util/BuildFoundries $(top_builddir)/font/devpdf \
- '$(top_srcdir)/font/devps : $(top_builddir)/font/devps' \
- >> $(top_builddir)/font/devpdf/download
-
-install_data:
- -test -d $(DESTDIR)$(fontsubdir) \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)
- -test -d $(DESTDIR)$(fontsubdir)/enc \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/enc
- -test -d $(DESTDIR)$(fontsubdir)/map \
- || $(mkinstalldirs) $(DESTDIR)$(fontsubdir)/map
- for f in $(MOSTLYCLEANADD); do \
- $(RM) $(DESTDIR)$(fontsubdir)/$$f; \
- if test -f $$f; then \
- $(INSTALL_DATA) $$f $(DESTDIR)$(fontsubdir)/$$f; \
- else \
- $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(fontsubdir)/$$f; \
- fi; \
- done
- $(RM) $@
-
-uninstall_sub:
- for f in $(MOSTLYCLEANADD); do \
- $(RM) $(DESTDIR)$(fontsubdir)/$$f; \
- done
- -test -d $(DESTDIR)$(fontsubdir)/enc \
- && rmdir $(DESTDIR)$(fontsubdir)/enc
- -test -d $(DESTDIR)$(fontsubdir)/map \
- && rmdir $(DESTDIR)$(fontsubdir)/map
- -test -d $(DESTDIR)$(fontsubdir)/util \
- && rmdir $(DESTDIR)$(fontsubdir)/util
- -test -d $(DESTDIR)$(fontsubdir) \
- && rmdir $(DESTDIR)$(fontsubdir)
diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
deleted file mode 100644
index 8f52fd1d..00000000
--- a/font/devpdf/util/BuildFoundries.pl
+++ /dev/null
@@ -1,446 +0,0 @@
-#!/usr/bin/perl -w
-#
-# BuildFoundries : Given a Foundry file generate groff and download files
-# Deri James : Monday 07 Feb 2011
-
-# Copyright (C) 2011 Free Software Foundation, Inc.
-# Written by Deri James <deri@chuzzlewit.demon.co.uk>
-#
-# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict;
-
-my $where=shift||'';
-my $devps=shift||'../devps';
-chdir $where if $where ne '';
-my (%foundry,%flg,@downloadpreamble,%download);
-my $GSpath=FindGSpath();
-my $warn=0;
-my $lct=0;
-my $foundry=''; # the default foundry
-
-LoadDownload("download");
-LoadFoundry("Foundry");
-WriteDownload("download");
-
-exit $warn;
-
-
-
-sub LoadFoundry
-{
- my $fn=shift;
- my $foundrypath='';
-
- open(F,"<$fn") or die "No $fn file found";
-
- while (<F>)
- {
- chomp;
- $lct++;
- s/\r$//; # in case edited in windows
-
- s/\s*#.*?$//; # remove comments
-
- next if $_ eq '';
-
- if (m/^[A-Za-z]=/)
- {
- my (@f)=split('=');
- $flg{$f[0]}=$f[1];
- next;
- }
-
- my (@r)=split('\|');
-
- if (lc($r[0]) eq 'foundry')
- {
- $foundry=uc($r[1]);
- $foundrypath=$r[2].' : '.$devps;
- $foundrypath=~s/\(gs\)/$GSpath /;
- }
- else
- {
- # 0=groff font name
- # 1=IsBase Y/N (one of PDFs 14 base fonts)
- # 2=afmtodit flag
- # 3=map file
- # 4=encoding file
- # 5=font file
- # 6=afm file
-
- if (!defined($r[6]) or $r[6] eq '')
- {
- # if no afm file, have a guess!
- $r[6]=substr($r[5],0,-3)."afm";
- }
-
- my $gfont=($foundry eq '')?$r[0]:"$foundry-$r[0]";
-
- if ($r[2] eq '')
- {
- # Don't run afmtodit, just copy the grops font file
-
- my $gotf=1;
- my $gropsfnt=LocateFile($devps,$r[0],0);
-
- if ($gropsfnt ne '' and -r "$gropsfnt")
- {
- my $psfont=UseGropsVersion($gropsfnt);
- if (!PutDownload($psfont,LocatePF($foundrypath,$r[5]),uc($r[1])))
- {
- if (uc($r[1]) ne 'Y')
- {
- $gotf=0;
- Msg(0,"Unable to locate font '$r[5]' on the given path(s)");
- unlink $gfont; # Unable to find the postscript file for the font just created by afmtodit
- }
- }
- print STDERR "Copied grops font $gfont...\n" if $gotf;
-
- }
- else
- {
- Msg(0,"Can't read grops font '$r[0]' for Foundry '$foundry'");
- }
- }
- else
- {
- # We need to run afmtodit to create this groff font
- my $psfont=RunAfmtodit($gfont,LocateAF($foundrypath,$r[6]),$r[2],$r[3],$r[4]);
-
- if ($psfont)
- {
- if (!PutDownload($psfont,LocatePF($foundrypath,$r[5]),uc($r[1])))
- {
- unlink $gfont; # Unable to find the postscript file for the font just created by afmtodit
- }
- else
- {
- print STDERR "Generated $gfont...\n";
- }
- }
- else
- {
- Msg(0,"Failed to create groff font '$gfont' by running afmtodit");
- }
- }
- }
- }
-
- close();
-}
-
-sub RunAfmtodit
-{
- my $gfont=shift;
- my $afmfile=shift;
- my $flags=shift;
- my $map=shift||'';
- my $enc=shift||'';
- my $psfont='';
-
- $enc="-e 'enc/$enc'" if $enc;
- $map="'map/$map'" if $map;
-
- my $cmd='afmtodit -c -dDESC';
-
- foreach my $f (split('',$flags))
- {
- if (!exists($flg{$f}))
- {
- Msg(0,"Can't use undefined flag '$f' in calling afmtodit for groff font '$gfont'");
- return('');
- }
-
- $cmd.=" $flg{$f}";
- }
-
- system("$cmd $enc '$afmfile' $map $gfont 2>/dev/null");
-
- if ($?)
- {
- unlink $gfont;
- return('');
- }
-
- if (open(GF,"<$gfont"))
- {
- my (@gf)=(<GF>);
- my @ps=grep(/^internalname /,@gf);
- if ($#ps == 0) # Just 1 match
- {
- (undef,$psfont)=split(' ',$ps[0],2);
- chomp($psfont);
- }
- else
- {
- Msg(0,"Unexpected format for grops font '$gfont' for Foundry '$foundry' - ignoring");
- }
-
- close(GF);
- }
-
- return($psfont);
-}
-
-sub LocateAF
-{
- my $path=shift;
- my $file=shift;
-
- return(LocateFile($path,$file,1));
-}
-
-sub LocatePF
-{
- my $path=shift;
- my $file=shift;
-
- return(LocateFile($path,$file,0));
-}
-
-sub LocateFile
-{
- my $path=shift;
- my $files=shift;
- my $tryafm=shift;
-
- foreach my $file (split('!',$files))
- {
- if ($file=~m'/')
- {
- # path given with file name so no need to search the paths
-
- if (-r $file)
- {
- return($file);
- }
-
- if ($tryafm and $file=~s'type1/'afm/'i)
- {
- if (-r "$file")
- {
- return($file);
- }
- }
-
- return('');
- }
-
- if ($path eq '(tex)')
- {
- my $res=`kpsewhich $file`;
- return '' if $?;
- chomp($res);
- return($res);
- }
-
- my (@paths)=split(/ (:|;)/,$path);
-
- foreach my $p (@paths)
- {
- next if !defined($p) or $p eq ';' or $p eq ':';
- $p=~s/^\s+//;
- $p=~s/\s+$//;
-
- next if $p=~m/^\%rom\%/; # exclude %rom% paths (from (gs))
-
- if (-r "$p/$file")
- {
- return("$p/$file");
- }
-
- if ($tryafm and $p=~s'type1/'afm/'i)
- {
- if (-r "$p/$file")
- {
- return("$p/$file");
- }
- }
- }
- }
-
- return('');
-}
-
-sub FindGSpath
-{
- my (@res)=`@GROFF_GHOSTSCRIPT_INTERPRETERS@ -h 2>/dev/null`;
- return '' if $?;
- my $buildpath='';
- my $stg=1;
-
- foreach my $l (@res)
- {
- chomp($l);
-
- if ($stg==1 and $l=~m/^Search path:/)
- {
- $stg=2;
- }
- elsif ($stg == 2)
- {
- if (substr($l,0,1) ne ' ')
- {
- $stg=3;
- }
- else
- {
- $l=~s/^\s+//;
- $buildpath.=$l;
- }
- }
- }
-
- return($buildpath);
-}
-
-sub UseGropsVersion
-{
- my $gfont=shift;
- my $psfont='';
- my (@gfa)=split('/',$gfont);
- my $gfontbase=pop(@gfa);
-
- if (open(GF,"<$gfont"))
- {
- my (@gf)=(<GF>);
- my @ps=grep(/^internalname /,@gf);
- if ($#ps == 0) # Just 1 match
- {
- (undef,$psfont)=split(' ',$ps[0],2);
- chomp($psfont);
- }
- else
- {
- Msg(0,"Unexpected format for grops font '$gfont' for Foundry '$foundry' - ignoring");
- }
-
- close(GF);
-
- if ($psfont)
- {
- if (open(GF,">$gfontbase"))
- {
- local $"='';
- print GF "@gf";
- close(GF);
- }
- else
- {
- $psfont='';
- Msg(0,"Failed to create new font '$gfont' for Foundry '$foundry'");
- }
- }
- else
- {
- Msg(0,"Failed to locate postscript internalname in grops font '$gfont' for Foundry '$foundry'");
- }
-
- close(GF);
- }
- else
- {
- Msg(0,"Failed to open grops font '$gfont' for Foundry '$foundry'");
- }
-
- return($psfont);
-}
-
-sub PutDownload
-{
- my $psfont=shift;
- my $pffile=shift;
- my $IsBase14=shift;
- my $key="$foundry $psfont";
-
- delete($download{$key}), return 0 if ($pffile eq '');
-
- $pffile='*'.$pffile if $IsBase14 eq 'Y'; # This signals to gropdf to only edmbed if -e given
- $download{$key}=$pffile;
-
- return 1;
-}
-
-sub LoadDownload
-{
- my $fn=shift;
- my $top=1;
-
- return if !open(F,"<$fn");
-
- while (<F>)
- {
- chomp;
- s/\r$//; # in case edited in windows
-
- if ($top and substr($_,0,1) eq '#' or $_ eq '')
- {
- # Preserve comments at top of download file
-
- push(@downloadpreamble,$_);
- next;
- }
-
- $top=0;
- s/\s*#.*?$//; # remove comments
-
- next if $_ eq '';
-
- my (@r)=split(/\t+/);
- my $key=$r[1];
- $key="$r[0] $r[1]";
- $download{$key}=$r[2];
- }
-
- close(F);
-}
-
-sub WriteDownload
-{
- my $fn=shift;
- my $top=1;
-
- open(F,">$fn") or die "Can't Create new file '$fn'";
-
- print F join("\n",@downloadpreamble),"\n";
-
- foreach my $k (sort keys %download)
- {
- my ($f,$ps)=split(/ /,$k);
- print F "$f\t$ps\t$download{$k}\n";
- }
-
- close(F);
-}
-
-sub Msg
-{
- my $sev=shift;
- my $msg=shift;
-
- if ($sev)
- {
- print STDERR "Error: line $lct: $msg\n";
- exit 2;
- }
- else
- {
- print STDERR "Warning: line $lct: $msg\n";
- $warn=1;
- }
-}
diff --git a/m4/groff.m4 b/m4/groff.m4
index 0a0cc317..c2c58cc5 100644
--- a/m4/groff.m4
+++ b/m4/groff.m4
@@ -1,5 +1,5 @@
# Autoconf macros for groff.
-# Copyright (C) 1989-1995, 2001-2007, 2009, 2011
+# Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
# Free Software Foundation, Inc.
#
# This file is part of groff.
@@ -1193,19 +1193,3 @@ AC_DEFUN([GROFF_APPRESDIR_CHECK],
])
fi
fi])
-
-
-# Set up the `--with-grofferdir' command line option.
-
-AC_DEFUN([GROFF_GROFFERDIR_OPTION],
- [AC_ARG_WITH([grofferdir],
- AS_HELP_STRING([--with-grofferdir=DIR],
- [groffer files location]))])
-
-AC_DEFUN([GROFF_GROFFERDIR_DEFAULT],
- [if test "x$with_grofferdir" = "x"; then
- groffer_dir=$libdir/groff/groffer
- else
- groffer_dir=$with_grofferdir
- fi
- AC_SUBST([groffer_dir])])
diff --git a/man/groff_out.man b/man/groff_out.man
index 7fb47642..7c2db26c 100644
--- a/man/groff_out.man
+++ b/man/groff_out.man
@@ -5,7 +5,8 @@ groff_out.5
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 1989, 2001-2009, 2011
+Copyright (C) 1989, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ 2009
Free Software Foundation, Inc.
rewritten from scrach 2001 by Bernd Warken <bwarken@mayn.de>
@@ -1054,7 +1055,7 @@ must be an integer in the range -32767 to 32767.
.RI 0\|\[<=]\| n \|\[<=]\|1000
Set the color for filling solid drawing objects to a shade of gray,
where 0 corresponds to solid white, 1000 (the default) to solid black,
-and values in between to intermediate shades of gray; this is
+and values inbetween to intermediate shades of gray; this is
obsoleted by command
.BR DFg .
.
@@ -1559,9 +1560,7 @@ x stop
.P
This output can be fed into the postprocessor
.BR grops (@MAN1EXT@)
-to get its representation as a PostScript file, or
-.BR gropdf (@MAN1EXT@)
-to output directly to PDF.
+to get its representation as a PostScript file.
.
.
.IP \[bu] 2m
diff --git a/man/roff.man b/man/roff.man
index 27e45b6c..0368c3f9 100644
--- a/man/roff.man
+++ b/man/roff.man
@@ -4,7 +4,7 @@ roff.man
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000-2004, 2006-2009, 2011
+Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
@@ -252,7 +252,7 @@ Today, the name
.I roff
is used to refer to a
.I troff/\:nroff
-system as a whole.
+sytem as a whole.
.
.P
Ossanna's first version was written in the PDP-11 assembly language and
diff --git a/src/devices/grodvi/Makefile.sub b/src/devices/grodvi/Makefile.sub
index a939dbf0..16dc24ce 100644
--- a/src/devices/grodvi/Makefile.sub
+++ b/src/devices/grodvi/Makefile.sub
@@ -1,6 +1,6 @@
PROG=grodvi$(EXEEXT)
MAN1=grodvi.n
-XLIBS=$(LIBDRIVER) $(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=dvi.$(OBJEXT)
CCSRCS=$(srcdir)/dvi.cpp
diff --git a/src/devices/grohtml/Makefile.sub b/src/devices/grohtml/Makefile.sub
index 48203b42..ad673cf5 100644
--- a/src/devices/grohtml/Makefile.sub
+++ b/src/devices/grohtml/Makefile.sub
@@ -1,6 +1,6 @@
PROG=post-grohtml$(EXEEXT)
MAN1=grohtml.n
-XLIBS=$(LIBDRIVER) $(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=\
post-html.$(OBJEXT) \
diff --git a/src/devices/grohtml/html-text.cpp b/src/devices/grohtml/html-text.cpp
index 1b27ab3a..cae579b6 100644
--- a/src/devices/grohtml/html-text.cpp
+++ b/src/devices/grohtml/html-text.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 2000-2005, 2007, 2009, 2011
+/* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009
* Free Software Foundation, Inc.
*
* Gaius Mulley (gaius@glam.ac.uk) wrote html-text.cpp
@@ -873,8 +873,9 @@ void html_text::emit_space (void)
void html_text::remove_def (tag_definition *t)
{
- tag_definition *p = stackptr;
- tag_definition *l = 0;
+ tag_definition *p = stackptr;
+ tag_definition *l = 0;
+ tag_definition *q = 0;
while ((p != 0) && (p != t)) {
l = p;
@@ -885,10 +886,12 @@ void html_text::remove_def (tag_definition *t)
stackptr = stackptr->next;
if (stackptr == NULL)
lastptr = NULL;
+ q = stackptr;
} else if (l == 0) {
error("stack list pointers are wrong");
} else {
l->next = p->next;
+ q = p->next;
if (l->next == NULL)
lastptr = l;
}
diff --git a/src/devices/grohtml/post-html.cpp b/src/devices/grohtml/post-html.cpp
index f4656a0d..a6acc691 100644
--- a/src/devices/grohtml/post-html.cpp
+++ b/src/devices/grohtml/post-html.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 2000-2007, 2009-2011
+/* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
+ * 2010
* Free Software Foundation, Inc.
*
* Gaius Mulley (gaius@glam.ac.uk) wrote post-html.cpp
@@ -3613,7 +3614,9 @@ void html_printer::lookahead_for_tables (void)
text_glob *start_of_table = NULL;
text_glob *last = NULL;
colType type_of_col = none;
+ int left = 0;
int found_col = FALSE;
+ int seen_text = FALSE;
int ncol = 0;
int colmin = 0; // pacify compiler
int colmax = 0; // pacify compiler
@@ -3643,7 +3646,9 @@ void html_printer::lookahead_for_tables (void)
}
start_of_line = g;
+ seen_text = FALSE;
ncol = 0;
+ left = next_horiz_pos(g, nf);
if (found_col)
last = g;
found_col = FALSE;
@@ -3708,10 +3713,14 @@ void html_printer::lookahead_for_tables (void)
} else if (! g->is_a_tag())
update_min_max(type_of_col, &colmin, &colmax, g);
+ if ((! g->is_a_tag()) || g->is_tab())
+ seen_text = TRUE;
+
if ((g->is_col() || g->is_tab() || g->is_tab0())
&& (start_of_line != NULL) && (start_of_table == NULL)) {
start_of_table = insert_tab_ts(start_of_line);
start_of_line = NULL;
+ seen_text = FALSE;
} else if (g->is_ce() && (start_of_table != NULL)) {
add_table_end("*** CE ***");
start_of_table->remember_table(tbl);
@@ -3773,7 +3782,9 @@ void html_printer::lookahead_for_tables (void)
nf = calc_nf(g, nf);
} while ((g != NULL) && (g->is_br() || (nf && g->is_eol())));
start_of_line = g;
+ seen_text = FALSE;
ncol = 0;
+ left = next_horiz_pos(g, nf);
if (found_col)
last = g;
found_col = FALSE;
diff --git a/src/devices/grolbp/Makefile.sub b/src/devices/grolbp/Makefile.sub
index c9aef240..a2372933 100644
--- a/src/devices/grolbp/Makefile.sub
+++ b/src/devices/grolbp/Makefile.sub
@@ -1,6 +1,6 @@
PROG=grolbp$(EXEEXT)
MAN1=grolbp.n
-XLIBS=$(LIBDRIVER) $(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=lbp.$(OBJEXT)
CCSRCS=$(srcdir)/lbp.cpp
diff --git a/src/devices/grolj4/Makefile.sub b/src/devices/grolj4/Makefile.sub
index 9d1d2bba..1216a49a 100644
--- a/src/devices/grolj4/Makefile.sub
+++ b/src/devices/grolj4/Makefile.sub
@@ -1,7 +1,7 @@
PROG=grolj4$(EXEEXT)
MAN1=grolj4.n
MAN5=lj4_font.n
-XLIBS=$(LIBDRIVER) $(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=lj4.$(OBJEXT)
CCSRCS=$(srcdir)/lj4.cpp
diff --git a/src/devices/gropdf/Makefile.sub b/src/devices/gropdf/Makefile.sub
deleted file mode 100644
index c876c925..00000000
--- a/src/devices/gropdf/Makefile.sub
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (C) 2011 Free Software Foundation, Inc.
-# Written by Deri James <deri@chuzzlewit.demon.co.uk>
-#
-# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-MAN1=\
- gropdf.n
-
-CMDFILES=\
- gropdf
-
-MOSTLYCLEANADD=\
- gropdf \
- $(MAN1)
-
-# Some `makes' don't predefine RM...
-RM=rm -f
-
-
-all: gropdf
-
-
-gropdf: gropdf.pl $(SH_DEPS_SED_SCRIPT)
- $(RM) $@
- sed -f $(SH_DEPS_SED_SCRIPT) \
- -e "s|@VERSION@|$(version)$(revision)|" \
- -e "s|@PERLPATH@|$(PERLPATH)|" \
- -e "s|@GROFF_FONT_DIR@|$(fontdir)|" $(srcdir)/gropdf.pl >$@
- chmod +x $@
-
-install_data:
- -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir)
- for f in $(CMDFILES); do \
- $(RM) $(DESTDIR)$(bindir)/$$f; \
- $(INSTALL_SCRIPT) $$f $(DESTDIR)$(bindir)/$$f; \
- done
-
-uninstall_sub:
- for f in $(CMDFILES); do \
- $(RM) $(DESTDIR)$(bindir)/$$f; \
- done
diff --git a/src/devices/gropdf/TODO b/src/devices/gropdf/TODO
deleted file mode 100644
index 4d6fca18..00000000
--- a/src/devices/gropdf/TODO
+++ /dev/null
@@ -1,31 +0,0 @@
-pspic.tmac
-----------
-
-Equiv for gropdf is pdfpic (which is dependant on a program
-pdfbb (to extract MediaBox (etc.) from the pdf) which is not written yet!
-Meanwhile you could use \X'pdf: pdfpic filename -L|R|C wid (hgt) (linelen)'
-(-R and -C require a linelen) Wid or hgt may be zero (in which case the same
-scaling as the other axis is used). The disadvantage of this call (over
-pdfpic macro) is that it is transparent to groff, after placing the image
-the current X/Y position remains what it was, so you need to do your own
-'motion control' (like a .sp) to "step over" the image you just placed.
-
-psfig.tmac
-----------
-
-No equiv for gropdf.
-
-psatk.tmac
-----------
-
-No equiv for gropdf.
-
--I : search -I directory for included files
-
--w : set line width
-
-Another \X : \X'ps: exec 0 setlinejoin'\X'ps: exec 0 setlinecap' for mom
-
-Cater for fonts with >255 glyphs (currently accessing a glyph above 255
-(i.e. \N[260]) causes a fail). This will be fixed when font subsetting is
-implemented.
diff --git a/src/devices/gropdf/gropdf.man b/src/devices/gropdf/gropdf.man
deleted file mode 100644
index a26a314b..00000000
--- a/src/devices/gropdf/gropdf.man
+++ /dev/null
@@ -1,1064 +0,0 @@
-.ig
-Copyright (C) 2011
- 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"
-..
-.
-.de FT
-. if '\\*(.T'ps' .ft \\$1
-. if '\\*(.T'pdf' .ft \\$1
-..
-.
-.
-.TH GROPDF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
-.
-.
-.SH NAME
-.
-gropdf \- PDF driver for groff
-.
-.
-.SH SYNOPSIS
-.
-.SY gropdf
-.OP \-delv
-.OP \-F dir
-\#.OP \-I dir
-.OP \-p papersize
-\#.OP \-w n
-.OP \-y foundry
-.RI [ files
-.IR .\|.\|. ]
-.YS
-.
-.LP
-It is possible to have whitespace between a command line option and its
-parameter.
-.
-.
-.SH DESCRIPTION
-.
-.B gropdf
-translates the output of GNU
-.B troff
-to PDF.
-.
-Normally
-.B gropdf
-should be invoked by using the groff command
-with a
-.B \-Tpdf
-option.
-.
-If no files are given,
-.B gropdf
-reads the standard input.
-.
-A filename of
-.B \-
-also causes
-.B gropdf
-to read the standard input.
-.
-PDF output is written to the standard output.
-.
-When
-.B gropdf
-is run by
-.B groff
-options can be passed to
-.B gropdf
-using
-.BR groff 's
-.B \-P
-option.
-.
-.LP
-See section
-.B FONT INSTALLATION
-below for a guide how to install fonts for
-.BR gropdf .
-.
-.
-.SH OPTIONS
-.
-.TP
-.B \-d
-Include debug information as comments within the PDF.
-Also produces an uncompressed PDF.
-.
-.TP
-.B \-e
-Force all fonts to be embedded in the PDF.
-.
-.TP
-.BI \-F dir
-Prepend directory
-.IB dir /dev name
-to the search path for font, and device description files;
-.I name
-is the name of the device, usually
-.BR pdf .
-.
-.\" .TP
-.\" .BI \-I dir
-.\" This option may be used to add a directory to the search path for
-.\" files on the command line and files named in
-.\" .B \[rs]X'ps: import'
-.\" and
-.\" .B \[rs]X'ps: file'
-.\" escapes.
-.\" .
-.\" The search path is initialized with the current directory.
-.\" .
-.\" This option may be specified more than once; the directories are then
-.\" searched in the order specified (but before the current directory).
-.\" .
-.\" If you want to make the current directory be read before other directories,
-.\" add
-.\" .B \-I.\&
-.\" at the appropriate place.
-.\" .
-.\" .IP
-.\" No directory search is performed for files with an absolute file name.
-.\" .
-.\" .TP
-.
-.TP
-.B \-l
-Print the document in landscape format.
-.
-.TP
-.BI \-p paper-size
-Set physical dimension of output medium.
-.
-This overrides the
-.BR papersize ,
-.BR paperlength ,
-and
-.B paperwidth
-commands in the
-.B DESC
-file; it accepts the same arguments as the
-.B papersize
-command.
-.
-See
-.B groff_font (@MAN5EXT@)
-for details.
-.
-.\" .TP
-.\" .BI \-w n
-.\" Lines should be drawn using a thickness of
-.\" .IR n \~\c
-.\" thousandths of an em.
-.\" .
-.\" If this option is not given, the line thickness defaults to 0.04\~em.
-.\" .
-.
-.TP
-.B \-v
-Print the version number.
-.
-.TP
-.BI \-y foundry
-Set the foundry to use for selecting fonts of the same name.
-.
-.TP
-.B \-e
-Forces gropdf to embed ALL fonts (even the 14 base PDF fonts).
-.
-.
-.SH USAGE
-.
-The input to
-.B gropdf
-must be in the format output by
-.BR @g@troff (@MAN1EXT@).
-.
-This is described in
-.BR groff_out (@MAN5EXT@).
-.
-.LP
-In addition, the device and font description files for the device used
-must meet certain requirements:
-.
-The resolution must be an integer multiple of\~72 times the
-.BR sizescale .
-.
-The
-.B pdf
-device uses a resolution of 72000 and a sizescale of 1000.
-.
-.LP
-The device description file must contain a valid paper size; see
-.BR groff_font (@MAN5EXT@)
-for more information.
-.
-.B gropdf
-uses the same Type\~1 Adobe postscript fonts as the
-.B grops
-device driver.
-.
-Although the PDF Standard allows the use of other font types (like TrueType)
-this implementation only accepts the Type\~1 postscript font.
-.
-Fewer Type\~1 fonts are supported natively in PDF documents than
-the standard 35 fonts supported by
-.B grops
-and all postscript printers, but all the fonts are available since any
-which aren't supported natively are automatically embedded in the PDF.
-.
-.LP
-.B gropdf
-supports the concept of foundries, that is different versions of basically
-the same font.
-.
-During install a
-.B Foundry
-file controls where fonts are found and builds
-.B groff
-fonts from the files it discovers on your system.
-.
-.LP
-Each font description file must contain a command
-.
-.IP
-.BI internalname\ psname
-.
-.LP
-which says that the PostScript name of the font is
-.IR psname .
-.
-Lines starting with
-.B #
-and blank lines are ignored.
-.
-The code for each character given in the font file must correspond
-to the code in the default encoding for the font.
-.
-This code can be used with the
-.B \[rs]N
-escape sequence in
-.B troff
-to select the character,
-even if the character does not have a groff name.
-.
-Every character in the font file must exist in the PostScript font, and
-the widths given in the font file must match the widths used
-in the PostScript font.
-.
-.LP
-Note that
-.B gropdf
-is currently only able to display the first 256 glyphs in any font.
-This restriction will be lifted in a later version.
-.
-.\" .LP
-.\" Note that
-.\" .B grops
-.\" is able to display all glyphs in a PostScript font, not only 256.
-.\" .I enc_file
-.\" (or the default encoding if no encoding file specified) just defines the
-.\" order of glyphs for the first 256 characters; all other glyphs are
-.\" accessed with additional encoding vectors which
-.\" .B grops
-.\" produces on the fly.
-.
-.LP
-.B gropdf
-can automatically include the downloadable fonts necessary
-to print the document.
-.
-Fonts may be in PFA or PFB format.
-.LP
-.
-Any downloadable fonts which should, when required, be included by
-.B gropdf
-must be listed in the file
-.BR @FONTDIR@/devpdf/download ;
-this should consist of lines of the form
-.
-.IP
-.I
-foundry font filename
-.
-.LP
-where
-.I foundry
-is the foundry name or blank for the default foundry.
-.
-.I font
-is the PostScript name of the font,
-and
-.I filename
-is the name of the file containing the font;
-lines beginning with
-.B #
-and blank lines are ignored;
-fields must be separated by tabs;
-.I filename
-is searched for using the same mechanism that is used
-for groff font metric files.
-.
-The
-.B download
-file itself is also searched for using this mechanism;
-currently, only the first found file in the font path is used.
-.
-Foundry names are usually a single character (such as `U' for the URW
-Foundry) or blank for the default foundry.
-.
-This default uses the same fonts as
-.B ghostscript
-uses when it embeds fonts in a PDF file.
-.
-.LP
-In the default setup there are styles called
-.BR R ,
-.BR I ,
-.BR B ,
-and
-.B BI
-mounted at font positions 1 to\~4.
-.
-The fonts are grouped into families
-.BR A ,
-.BR BM ,
-.BR C ,
-.BR H ,
-.BR HN ,
-.BR N ,
-.BR P ,
-and\~\c
-.B T
-having members in each of these styles:
-.
-.RS
-.TP
-.B AR
-.FT AR
-AvantGarde-Book
-.FT
-.
-.TQ
-.B AI
-.FT AI
-AvantGarde-BookOblique
-.FT
-.
-.TQ
-.B AB
-.FT AB
-AvantGarde-Demi
-.FT
-.
-.TQ
-.B ABI
-.FT ABI
-AvantGarde-DemiOblique
-.FT
-.
-.TQ
-.B BMR
-.FT BMR
-Bookman-Light
-.FT
-.
-.TQ
-.B BMI
-.FT BMI
-Bookman-LightItalic
-.FT
-.
-.TQ
-.B BMB
-.FT BMB
-Bookman-Demi
-.FT
-.
-.TQ
-.B BMBI
-.FT BMBI
-Bookman-DemiItalic
-.FT
-.
-.TQ
-.B CR
-.FT CR
-Courier
-.FT
-.
-.TQ
-.B CI
-.FT CI
-Courier-Oblique
-.FT
-.
-.TQ
-.B CB
-.FT CB
-Courier-Bold
-.FT
-.
-.TQ
-.B CBI
-.FT CBI
-Courier-BoldOblique
-.FT
-.
-.TQ
-.B HR
-.FT HR
-Helvetica
-.FT
-.
-.TQ
-.B HI
-.FT HI
-Helvetica-Oblique
-.FT
-.
-.TQ
-.B HB
-.FT HB
-Helvetica-Bold
-.FT
-.
-.TQ
-.B HBI
-.FT HBI
-Helvetica-BoldOblique
-.FT
-.
-.TQ
-.B HNR
-.FT HNR
-Helvetica-Narrow
-.FT
-.
-.TQ
-.B HNI
-.FT HNI
-Helvetica-Narrow-Oblique
-.FT
-.
-.TQ
-.B HNB
-.FT HNB
-Helvetica-Narrow-Bold
-.FT
-.
-.TQ
-.B HNBI
-.FT HNBI
-Helvetica-Narrow-BoldOblique
-.FT
-.
-.TQ
-.B NR
-.FT NR
-NewCenturySchlbk-Roman
-.FT
-.
-.TQ
-.B NI
-.FT NI
-NewCenturySchlbk-Italic
-.FT
-.
-.TQ
-.B NB
-.FT NB
-NewCenturySchlbk-Bold
-.FT
-.
-.TQ
-.B NBI
-.FT NBI
-NewCenturySchlbk-BoldItalic
-.FT
-.
-.TQ
-.B PR
-.FT PR
-Palatino-Roman
-.FT
-.
-.TQ
-.B PI
-.FT PI
-Palatino-Italic
-.FT
-.
-.TQ
-.B PB
-.FT PB
-Palatino-Bold
-.FT
-.
-.TQ
-.B PBI
-.FT PBI
-Palatino-BoldItalic
-.FT
-.
-.TQ
-.B TR
-.FT TR
-Times-Roman
-.FT
-.
-.TQ
-.B TI
-.FT TI
-Times-Italic
-.FT
-.
-.TQ
-.B TB
-.FT TB
-Times-Bold
-.FT
-.
-.TQ
-.B TBI
-.FT TBI
-Times-BoldItalic
-.FT
-.RE
-.
-.LP
-There is also the following font which is not a member of a family:
-.
-.RS
-.TP
-.B ZCMI
-.FT ZCMI
-ZapfChancery-MediumItalic
-.FT
-.RE
-.
-.LP
-There are also some special fonts called
-.B S
-for the PS Symbol font. The lower case greek characters are automatically
-slanted (to match the SymbolSlanted font (SS) available to postscript).
-.
-Zapf Dingbats is available as
-.BR ZD ,
-the "hand pointing left" glyph (\[rs]lh) is available since it
-has been defined using the \[rs]X'pdf: xrev' extension which reverses the
-direction of letters within words.
-.
-.LP
-The default color for
-.B \[rs]m
-and
-.B \[rs]M
-is black; for colors defined in the `rgb' color space
-.B setrgbcolor
-is used, for `cmy' and `cmyk'
-.BR setcmykcolor ,
-and for `gray'
-.BR setgray .
-.
-Note that
-.B setcmykcolor
-is a PostScript LanguageLevel\~2 command and thus not available on some
-older printers.
-.
-.LP
-.B gropdf
-understands some of the X\~commands produced using the
-.B \[rs]X
-escape sequences supported by
-.B grops.
-Specifically it supports:-
-.
-.TP
-.B "\[rs]X'ps: invis'"
-Suppress output.
-.
-.TP
-.B "\[rs]X'ps: endinvis'"
-Stop suppressing output.
-.
-.TP
-.B "\[rs]X'ps: exec gsave currentpoint 2 copy translate \fIn\fP rotate neg exch neg exch translate'"
-where
-.I n
-is the angle of rotation.
-This is to support the
-.I align
-command in
-.BR gpic .
-.
-.TP
-.B "\[rs]X'ps: exec grestore'"
-Again used by
-.B gpic
-to restore after rotation.
-.
-.TP
-.BI "\[rs]X'ps: ... pdfmark'"
-All the
-.I pdfmark
-macros installed by using
-.I -m pdfmark
-or
-.I -m mspdf
-(see documentation in `pdfmark.pdf').
-A subset of these macros are installed automatically when you use
-.B -Tpdf
-so you should not need to use `-m pdfmark' for using most of the PDF
-functionality.
-.
-.LP
-All other
-.B ps:
-tags are silently ignored.
-.
-.LP
-One
-.B \[rs]X
-special used by the DVI driver is also recognised:
-.
-.TP
-.BI \[rs]X'papersize= paper-size '
-where the
-.I paper-size
-parameter is the same as the
-.B papersize
-command.
-.
-See
-.BR groff_font (@MAN5EXT@)
-for details.
-This means that you can alter the page size at will within the PDF file
-being created by
-.BR gropdf .
-.
-If you do want to change the paper size, it must be done before you start
-creating the page.
-.
-.LP
-In addition,
-.B gropdf
-supports its own suite of
-.B pdf:
-tags.
-.
-The following tags are supported:
-.
-.TP
-.BI "\[rs]X'pdf: pdfpic " "file alignment width height line-length" '
-Place an image of the specified
-.I width
-containing the PDF drawing from file
-.I file
-of desired
-.I width
-and
-.I height
-(if
-.I height
-is missing or zero then it is scaled proportionally).
-.
-If
-.I alignment
-is
-.B \-L
-the drawing is left aligned.
-.
-If it is
-.B \-C
-or
-.B \-R
-a
-.I linelength
-greater than the width of the drawing is required as well.
-.
-If
-.I width
-is specified as zero then the width is scaled in proportion to the height.
-.
-.\" .IP
-.\" See
-.\" .BR groff_tmac (@MAN5EXT@)
-.\" for a description of the
-.\" .B PSPIC
-.\" macro which provides a convenient high-level interface for inclusion of
-.\" PostScript graphics.
-.
-.TP
-.B \[rs]X'pdf: xrev'
-This toggles a flag which reverses the direction of printing
-.IR "letter by letter" ,
-i.e., each separate letter is reversed, not the entire word.
-.
-This is useful for reversing the direction of glyphs in the Dingbats font.
-.
-To return to normal printing repeat the command again.
-.
-.TP
-.BI "\[rs]X'pdf: markstart " "/ANN definition" '
-The macros which support PDF Bookmarks use this call internally to start the
-definition of bookmark hotspot (user will have called
-`.pdfhref\~L' with the text which will become the `hot spot' region).
-.
-Normally this is never used except from within the pdfmark macros.
-.
-.TP
-.B \[rs]X'pdf: markend'
-The macros which support PDF Bookmarks use this call internally to stop the
-definition of bookmark hotspot (user will have called
-`.pdfhref\~L' with the text which will become the `hot spot' region).
-.
-Normally this is never used except from within the pdfmark macros.
-.
-.TP
-.B \[rs]X'pdf: marksuspend'
-.TQ
-.B \[rs]X'pdf: markrestart'
-If you are using page traps to produce headings, footings, etc., you need to
-use these in case a `hot spot' crosses a page boundary, otherwise any text
-output by the heading or footing macro will be marked as part of the `hot
-spot'.
-.
-To stop this happening just place
-`.pdfmarksuspend' and `.pdfmarkrestart' at the start and end of the page trap macro,
-respectively.
-.
-(These are just convenience macros which emit the \[rs]X code.
-.
-These macros must only be used within page traps.)
-.
-.SS Importing graphics
-.
-.B gropdf
-only supports importing other PDF files as graphics.
-.
-But that PDF file may contain any of the graphic formats supported by the PDF
-standard (such as JPEG, PNG, GIF, etc.).
-.
-So any application which outputs PDF can be used as an embedded file in
-.BR gropdf .
-.
-The PDF file you wish to insert must be a single page and the drawing must
-just fit inside the media size of the PDF file.
-.
-So, in
-.BR inkscape (1)
-or
-.BR gimp (1)
-(for example) make sure the canvas size just fits the image.
-.
-.LP
-The PDF parser used in
-.B gropdf
-has not been rigorously tested with all possible applications which produce
-PDFs.
-.
-If you find a single page PDF which fails to import properly, it is worth
-running it through the
-.
-.BR pdftk (1)
-program by issuing the command:
-.
-.RS
-.LP
-.B pdftk
-.I oldfile.pdf
-.B output
-.I newfile.pdf
-.RE
-.
-.LP
-You may find that
-.I newfile.pdf
-will now load successfully.
-.
-.SS TrueType and other font formats
-.
-.B gropdf
-does not support TrueType fonts natively within the PDF files it generates
-(but does support any fonts if they are in an imported PDF).
-.
-However, TrueType fonts can be used with
-.B gropdf
-if converted first to
-.B Type\~42
-format, a special PostScript wrapper equivalent to the PFA format mentioned
-in
-.BR \%pfbtops (@MAN1EXT@).
-.
-There are several different methods to generate a Type\~42
-wrapper and most of them involve the use of a PostScript
-interpreter such as Ghostscript \[en] see
-.BR gs (1).
-.
-.LP
-Yet, the easiest method involves the use of the application
-.BR ttftot42 (1).
-.
-This program uses
-.BR freetype (3)
-(version 1.3.1) to generate Type\~42
-font wrappers and well-formed AFM files that can be fed to the
-.BR \%afmtodit (@MAN1EXT@)
-script to create appropriate metric files.
-.
-The resulting font wrappers should be added to groff's
-.B download
-file.
-.
-.B ttftot42
-source code can be downloaded from
-.UR ftp://\:www.giga.or.at/\:pub/\:nih/\:ttftot42/
-ftp://\:www.giga.or.at/\:pub/\:nih/\:ttftot42/
-.UE .
-.
-.LP
-Another solution for creating Type\~42 wrappers is to use FontForge,
-available from
-.UR http://\:fontforge.sf.net
-http://\:fontforge.sf.net
-.UE .
-.
-This font editor can convert most outline font formats.
-.
-.
-.SH FONT INSTALLATION
-.
-This section gives a summary of the above explanations; it can serve
-as a step-by-step font installation guide for
-.BR gropdf .
-.
-.ds BU \[bu]\ \ \"
-.de LI
-.IP "" 4
-\h'-\w'\*[BU]'u'\*[BU]\c
-..
-.LI
-Convert your font to something groff understands.
-.
-This is either a PostScript Type\~1 font in either PFA or PFB format or a
-PostScript Type\~42 font, together with an AFM file.
-.
-.IP
-The very first line in a PFA/PFB file contains this:
-.
-.RS
-.IP
-.B %!PS-AdobeFont-1.0:
-.RE
-.
-.IP
-A PFB file has this also in the first line, but the string is
-preceded with some binary bytes.
-.
-.IP
-The very first characters in a Type\~42 font file look like this:
-.
-.RS
-.IP
-.B %!PS-TrueTypeFont
-.RE
-.
-.IP
-This is a wrapper format for TrueType fonts.
-.
-Old PS printers might not support it (this is, they don't have a
-built-in TrueType font interpreter).
-.
-.IP
-For TrueType fonts, try
-.B ttftot42
-or
-.BR fontforge .
-For all other font formats use
-.B fontforge
-which can convert most outline font formats.
-.
-.LI
-Convert the AFM file to a groff font description file with the
-.BR \%afmtodit (@MAN1EXT@)
-program.
-.
-An example call is
-.
-.RS
-.IP
-afmtodit Foo-Bar-Bold.afm map/textmap FBB
-.RE
-.
-.IP
-which converts the metric file `Foo-Bar-Bold.afm' to the groff
-font `FBB'.
-.
-If you have a font family which comes with normal, bold, italic,
-and bold italic faces, it is recommended to use the letters
-.BR R ,
-.BR B ,
-.BR I ,
-and
-.BR BI ,
-respectively, as postfixes in the groff font names to make groff's
-`.fam' request work.
-.
-An example is groff's built-in Times-Roman font: The font family name
-is
-.BR T ,
-and the groff font names are
-.BR TR ,
-.BR TB ,
-.BR TI ,
-and
-.BR TBI .
-.
-.LI
-Install both the groff font description files and the fonts in a
-`devpdf' subdirectory of the font path which groff finds.
-.
-See the
-.B ENVIRONMENT
-section in the
-.BR troff (@MAN1EXT@)
-man page which lists the actual value of the font path.
-.
-Note that groff doesn't use the AFM files (but it is a good idea to
-store them anyway).
-.
-.LI
-Register all fonts which must be downloaded to the printer in the
-`devpdf/download' file.
-.
-Only the first occurrence of this file in the font path is read.
-.
-This means that you should copy the default `download' file to the
-first directory in your font path and add your fonts there.
-.
-To continue the above example we assume that the PS font name for
-Foo-Bar-Bold.pfa is `XY-Foo-Bar-Bold' (the PS font name is stored in the
-.B internalname
-field in the `FBB' file) and belongs to foundry `F', thus the following
-line should be added to `download':
-.
-.RS
-.IP
-.B F XY-Foo-Bar-Bold Foo-Bar-Bold.pfa
-.
-.LP
-Use a tab character to separate the fields, and the
-`foundry' field should be null for the default foundry.
-.RE
-.
-.
-.SH ENVIRONMENT
-.
-.TP
-.SM
-.B GROFF_FONT_PATH
-A list of directories in which to search for the
-.BI dev name
-directory in addition to the default ones.
-.
-If, in the `download' file, the
-font file has been specified with a full path, no directories are searched.
-.
-See
-.BR @g@troff (@MAN1EXT@)
-and
-.BR \%groff_font (@MAN5EXT@)
-for more details.
-.
-.
-.SH FILES
-.
-.Tp \w'\fB@FONTDIR@/devpdf/download'u+2n
-.B @FONTDIR@/devpdf/DESC
-Device description file.
-.
-.TP
-.BI @FONTDIR@/devpdf/ F
-Font description file for font\~\c
-.IR F .
-.
-.TP
-.BI @FONTDIR@/devpdf/ U-F
-Font description file for font\~\c
-.I F
-(using foundry\~\c
-.I U
-rather than the default foundry).
-.
-.TP
-.B @FONTDIR@/devpdf/download
-List of downloadable fonts.
-.
-.TP
-.B @FONTDIR@/devpdf/Foundry
-A Perl script used during install to locate suitable fonts.
-.
-.TP
-.B @FONTDIR@/devpdf/enc/text.enc
-Encoding used for text fonts.
-.
-.TP
-.B @MACRODIR@/pdf.tmac
-Macros for use with
-.BR gropdf ;
-automatically loaded by
-.BR troffrc .
-.
-.\" .TP
-.\" .B @MACRODIR@/pspic.tmac
-.\" Definition of
-.\" .B PSPIC
-.\" macro,
-.\" automatically loaded by
-.\" .BR ps.tmac .
-.\" .
-.
-.
-.SH "SEE ALSO"
-.
-.BR \%afmtodit (@MAN1EXT@),
-.BR groff (@MAN1EXT@),
-.BR grops (@MAN1EXT@),
-.BR @g@troff (@MAN1EXT@),
-.BR grops (@MAN1EXT@),
-.BR \%pfbtops (@MAN1EXT@),
-.BR \%groff_out (@MAN5EXT@),
-.BR \%groff_font (@MAN5EXT@),
-.BR \%groff_char (@MAN7EXT@),
-.BR \%groff_tmac (@MAN5EXT@)
-.
-.
-.
-.\" Local Variables:
-.\" mode: nroff
-.\" End:
diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
deleted file mode 100644
index 31b92d0f..00000000
--- a/src/devices/gropdf/gropdf.pl
+++ /dev/null
@@ -1,3019 +0,0 @@
-#!@PERLPATH@ -w
-#
-# gropdf : PDF post processor for groff
-# Deri James : 4th May 2009
-#
-
-# Copyright (C) 2011 Free Software Foundation, Inc.
-# Written by Deri James <deri@chuzzlewit.demon.co.uk>
-#
-# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict;
-use Getopt::Long;
-use Compress::Zlib;
-
-my %cfg;
-
-$cfg{GROFF_VERSION}='@VERSION@';
-$cfg{GROFF_FONT_PATH}='@GROFF_FONT_DIR@';
-binmode(STDOUT);
-
-my @obj; # Array of PDF objects
-my $objct=0; # Count of Objects
-my $fct=0; # Output count
-my %fnt; # Used fonts
-my $lct=0; # Input Line Count
-my $src_name='';
-my %env; # Current environment
-my %fontlst; # Fonts Loaded
-my $rot=0; # Portrait
-my %desc; # Contents of DESC
-my %download; # Contents of downlopad file
-my $pages; # Pointer to /Pages object
-my $devnm='devpdf';
-my $cpage; # Pointer to current pages
-my $cpageno=0; # Object no of current page
-my $cat; # Pointer to catalogue
-my $dests; # Pointer to Dests
-my @mediabox=(0,0,595,842);
-my @defaultmb=(0,0,595,842);
-my $stream=''; # Current Text/Graphics stream
-my $cftsz=10; # Current font sz
-my $cft; # Current Font
-my $lwidth=1; # current linewidth
-my $textcol=''; # Current groff text
-my $fillcol=''; # Current groff fill
-my $curfill=''; # Current PDF fill
-my $strkcol='';
-my $curstrk='';
-my @lin=(); # Array holding current line of text
-my @ahead=(); # Buffer used to hol the next line
-my $mode='g'; # Graphic (g) or Text (t) mode;
-my $xpos=0; # Current X position
-my $ypos=0; # Current Y position
-my $tmxpos=0;
-my $widtbl; # Pointer to width table for current font size
-my $origwidtbl; # Pointer to width table
-my $krntbl; # Pointer to kern table
-my $matrix="1 0 0 1";
-my $whtsz; # Current width of a space
-my $poschg=0; # V/H pending
-my $fontchg=0; # font change pending
-my $tnum=2; # flatness of B-Spline curve
-my $tden=3; # flatness of B-Spline curve
-my $linewidth=40;
-my $w_flg=0;
-my $nomove=0;
-my $pendmv=0;
-my $gotT=0;
-my $suppress=0; # Suppress processing?
-my %incfil; # Included Files
-my @outlev=([0,undef,0,0]); # Structure pdfmark /OUT entries
-my $curoutlev=\@outlev;
-my $Foundry='';
-my $xrev=0; # Reverse x direction of font
-my $matrixchg=0;
-my $wt=-1;
-my $thislev=1;
-my $mark=undef;
-my $suspendmark=undef;
-my $n_flg=1;
-my $pginsert=-1; # Growth point for kids array
-my %pgnames; # 'names' of pages for switchtopage
-
-my %ppsz=( 'ledger'=>[1224,792],
- 'legal'=>[612,1008],
- 'letter'=>[612,792],
- 'a0'=>[2384,3370],
- 'a1'=>[1684,2384],
- 'a2'=>[1191,1684],
- 'a3'=>[842,1191],
- 'a4'=>[595,842],
- 'a5'=>[420,595],
- 'a6'=>[297,420],
- 'a7'=>[210,297],
- 'a8'=>[148,210],
- 'a9'=>[105,148],
- 'a10'=>[73,105],
- 'isob0'=>[2835,4008],
- 'isob1'=>[2004,2835],
- 'isob2'=>[1417,2004],
- 'isob3'=>[1001,1417],
- 'isob4'=>[709,1001],
- 'isob5'=>[499,709],
- 'isob6'=>[354,499],
- 'c0'=>[2599,3677],
- 'c1'=>[1837,2599],
- 'c2'=>[1298,1837],
- 'c3'=>[918,1298],
- 'c4'=>[649,918],
- 'c5'=>[459,649],
- 'c6'=>[323,459] );
-
-
-my $fd;
-my $frot;
-my $fpsz;
-my $embedall=0;
-my $debug=0;
-my $version=0;
-
-#Load_Config();
-
-GetOptions("F=s" => \$fd, 'l' => \$frot, 'p=s' => \$fpsz, 'd!' => \$debug, 'v' => \$version, 'e' => \$embedall, 'y=s' => \$Foundry);
-
-if ($version)
-{
- print "GNU gropdf (groff) version $cfg{GROFF_VERSION}\n";
- exit;
-}
-
-# Search for 'font directory': paths in -f opt, shell var GROFF_FONT_PATH, default paths
-
-my $fontdir=$cfg{GROFF_FONT_PATH};
-$fontdir=$ENV{GROFF_FONT_PATH}.':'.$fontdir if exists($ENV{GROFF_FONT_PATH});
-$fontdir=$fd.':'.$fontdir if defined($fd);
-
-$rot=90 if $frot;
-$matrix="0 1 -1 0" if $frot;
-
-LoadDownload();
-LoadDesc();
-
-my $unitwidth=$desc{unitwidth};
-my $papersz=$desc{papersize};
-$papersz=$fpsz if $fpsz;
-
-$env{FontHT}=0;
-$env{FontSlant}=0;
-MakeMatrix();
-
-if (substr($papersz,0,1) eq '/' and -r $papersz)
-{
- if (open(P,"<$papersz"))
- {
- while (<P>)
- {
- chomp;
- s/# .*//;
- next if $_ eq '';
- $papersz=$_;
- last
- }
-
- close(P);
- }
-}
-
-if ($papersz=~m/([\d.]+)([cipP]),([\d.]+)([cipP])/)
-{
- @defaultmb=@mediabox=(0,0,ToPoints($1,$2),ToPoints($3,$4));
-}
-elsif (exists($ppsz{$papersz}))
-{
- @defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]);
-}
-
-my (@dt)=localtime(time);
-my $dt=PDFDate(\@dt);
-
-my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})",
- 'Producer' => "(gropdf version $cfg{GROFF_VERSION})",
- 'ModDate' => "($dt)",
- 'CreationDate' => "($dt)");
-while (<>)
-{
- chomp;
- s/\r$//;
- $lct++;
-
- do # The ahead buffer behaves like 'ungetc'
- {{
- if (scalar(@ahead))
- {
- $_=shift(@ahead);
- }
-
-
- my $cmd=substr($_,0,1);
- next if $cmd eq '#'; # just a comment
- my $lin=substr($_,1);
-
- while ($cmd eq 'w')
- {
- $cmd=substr($lin,0,1);
- $lin=substr($lin,1);
- $w_flg=1 if $gotT;
- }
-
- $lin=~s/^\s+//;
-# $lin=~s/\s#.*?$//; # remove comment
- $stream.="\% $_\n" if $debug;
-
- do_x($lin),next if ($cmd eq 'x');
- next if $suppress;
- do_p($lin),next if ($cmd eq 'p');
- do_f($lin),next if ($cmd eq 'f');
- do_s($lin),next if ($cmd eq 's');
- do_m($lin),next if ($cmd eq 'm');
- do_D($lin),next if ($cmd eq 'D');
- do_V($lin),next if ($cmd eq 'V');
- do_v($lin),next if ($cmd eq 'v');
- do_t($lin),next if ($cmd eq 't');
- do_C($lin),next if ($cmd eq 'C');
- do_c($lin),next if ($cmd eq 'c');
- do_N($lin),next if ($cmd eq 'N');
- do_h($lin),next if ($cmd eq 'h');
- do_H($lin),next if ($cmd eq 'H');
- do_n($lin),next if ($cmd eq 'n');
-
- my $tmp=scalar(@ahead);
- }} until scalar(@ahead) == 0;
-
-}
-
-
-if ($cpageno > 0)
-{
- PutObj($cpageno);
- OutStream($cpageno+1);
-}
-
-
-PutOutlines(\@outlev);
-
-PutObj(1);
-
-my $info=BuildObj(++$objct,\%info);
-
-PutObj($objct);
-
-foreach my $o (3..$objct)
-{
- PutObj($o) if (!exists($obj[$o]->{XREF}));
-}
-
-#my $encrypt=BuildObj(++$objct,{'Filter' => '/Standard', 'V' => 1, 'R' => 2, 'P' => 252});
-#PutObj($objct);
-PutObj(2);
-
-my $xrefct=$fct;
-
-$objct+=1;
-print "xref\n0 $objct\n0000000000 65535 f \n";
-
-foreach my $xr (@obj)
-{
- next if !defined($xr);
- printf("%010d 00000 n \n",$xr->{XREF});
-}
-
-print "trailer\n<<\n/Info $info\n/Root 1 0 R\n/Size $objct\n>>\nstartxref\n$fct\n\%\%EOF\n\% Pages=$pages->{Count}\n";
-
-
-sub MakeMatrix
-{
- my $fontxrev=shift||0;
- my @mat=($frot)?(0,1,-1,0):(1,0,0,1);
-
- if (!$frot)
- {
- if ($env{FontHT} != 0)
- {
- $mat[3]=sprintf('%.3f',$env{FontHT}/$cftsz);
- }
-
- if ($env{FontSlant} != 0)
- {
- my $slant=$env{FontSlant};
- $slant*=$env{FontHT}/$cftsz if $env{FontHT} != 0;
- my $ang=rad($slant);
-
- $mat[2]=sprintf('%.3f',sin($ang)/cos($ang));
- }
-
- if ($fontxrev)
- {
- $mat[0]=-$mat[0];
- }
- }
-
- $matrix=join(' ',@mat);
- $matrixchg=1;
-}
-
-sub PutOutlines
-{
- my $o=shift;
- my $outlines;
-
- if ($#{$o} > 0)
- {
- # We've got Outlines to deal with
- my $openct=$curoutlev->[0]->[2];
-
- while ($thislev-- > 1)
- {
- my $nxtoutlev=$curoutlev->[0]->[1];
- $nxtoutlev->[0]->[2]+=$openct if $curoutlev->[0]->[3]==1;
- $openct=0 if $nxtoutlev->[0]->[3]==-1;
- $curoutlev=$nxtoutlev;
- }
-
- $cat->{Outlines}=BuildObj(++$objct,{'Count' => abs($o->[0]->[0])+$o->[0]->[2]});
- $outlines=$obj[$objct]->{DATA};
- }
- else
- {
- return;
- }
-
- SetOutObj($o);
-
- $outlines->{First}=$o->[1]->[2];
- $outlines->{Last}=$o->[$#{$o}]->[2];
-
- LinkOutObj($o,$cat->{Outlines});
-}
-
-sub SetOutObj
-{
- my $o=shift;
-
- for my $j (1..$#{$o})
- {
- my $ono=BuildObj(++$objct,$o->[$j]->[0]);
- $o->[$j]->[2]=$ono;
-
- SetOutObj($o->[$j]->[1]) if $#{$o->[$j]->[1]} > -1;
- }
-}
-
-sub LinkOutObj
-{
- my $o=shift;
- my $parent=shift;
-
- for my $j (1..$#{$o})
- {
- my $op=GetObj($o->[$j]->[2]);
-
- $op->{Next}=$o->[$j+1]->[2] if ($j < $#{$o});
- $op->{Prev}=$o->[$j-1]->[2] if ($j > 1);
- $op->{Parent}=$parent;
-
- if ($#{$o->[$j]->[1]} > -1)
- {
- $op->{Count}=$o->[$j]->[1]->[0]->[2]*$o->[$j]->[1]->[0]->[3];# if exists($op->{Count}) and $op->{Count} > 0;
- $op->{First}=$o->[$j]->[1]->[1]->[2];
- $op->{Last}=$o->[$j]->[1]->[$#{$o->[$j]->[1]}]->[2];
- LinkOutObj($o->[$j]->[1],$o->[$j]->[2]);
- }
- }
-}
-
-sub GetObj
-{
- my $ono=shift;
- ($ono)=split(' ',$ono);
- return($obj[$ono]->{DATA});
-}
-
-
-
-sub PDFDate
-{
- my $dt=shift;
- return(sprintf("D:%04d%02d%02d%02d%02d%02d% +02d'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0],( localtime time() + 3600*( 12 - (gmtime)[2] ) )[2] - 12));
-}
-
-sub ToPoints
-{
- my $num=shift;
- my $unit=shift;
-
- if ($unit eq 'i')
- {
- return($num*72);
- }
- elsif ($unit eq 'c')
- {
- return int($num*72/2.54);
- }
- elsif ($unit eq 'm') # millimetres
- {
- return int($num*72/25.4);
- }
- elsif ($unit eq 'p')
- {
- return($num);
- }
- elsif ($unit eq 'P')
- {
- return($num*6);
- }
- else
- {
- Msg(1,"Unknown scaling factor '$unit'");
- }
-}
-
-sub Load_Config
-{
- open(CFG,"<gropdf_config") or die "Can't open config file: $!";
-
- while (<CFG>)
- {
- chomp;
- my ($key,$val)=split(/ ?= ?/);
-
- $cfg{$key}=$val;
- }
-
- close(CFG);
-}
-
-sub LoadDownload
-{
- my $f;
-
- OpenFile(\$f,$fontdir,"download");
- Msg(1,"Failed to open 'download'") if !defined($f);
-
- while (<$f>)
- {
- chomp;
- s/#.*$//;
- next if $_ eq '';
- my ($foundry,$name,$file)=split(/\t+/);
- if (substr($file,0,1) eq '*')
- {
- next if !$embedall;
- $file=substr($file,1);
- }
-
- $download{"$foundry $name"}=$file;
- }
-
- close($f);
-}
-
-sub OpenFile
-{
- my $f=shift;
- my $dirs=shift;
- my $fnm=shift;
-
- if (substr($fnm,0,1) eq '/' or substr($fnm,1,1) eq ':') # dos
- {
- return if -r "$fnm" and open($$f,"<$fnm");
- }
-
- my (@dirs)=split(':',$dirs);
-
- foreach my $dir (@dirs)
- {
- last if -r "$dir/$devnm/$fnm" and open($$f,"<$dir/$devnm/$fnm");
- }
-}
-
-sub LoadDesc
-{
- my $f;
-
- OpenFile(\$f,$fontdir,"DESC");
- Msg(1,"Failed to open 'DESC'") if !defined($f);
-
- while (<$f>)
- {
- chomp;
- s/#.*$//;
- next if $_ eq '';
- my ($name,$prms)=split(' ',$_,2);
- $desc{lc($name)}=$prms;
- }
-
- close($f);
-}
-
-sub rad { $_[0]*3.14159/180 }
-
-my $InPicRotate=0;
-
-sub do_x
-{
- my $l=shift;
- my ($xcmd,@xprm)=split(' ',$l);
- $xcmd=substr($xcmd,0,1);
-
- if ($xcmd eq 'T')
- {
- Msg(0,"Expecting a pdf pipe (got $xprm[0])") if $xprm[0] ne substr($devnm,3);
- }
- elsif ($xcmd eq 'f') # Register Font
- {
- $xprm[1]="${Foundry}-$xprm[1]" if $Foundry ne '';
- LoadFont($xprm[0],$xprm[1]);
- }
- elsif ($xcmd eq 'F') # Source File (for errors)
- {
- $env{SourceFile}=$xprm[0];
- }
- elsif ($xcmd eq 'H') # FontHT
- {
- $xprm[0]/=$unitwidth;
- $xprm[0]=0 if $xprm[0] == $cftsz;
- $env{FontHT}=$xprm[0];
- MakeMatrix();
- }
- elsif ($xcmd eq 'S') # FontSlant
- {
- $env{FontSlant}=$xprm[0];
- MakeMatrix();
- }
- elsif ($xcmd eq 'i') # Initialise
- {
- $objct++;
- @defaultmb=@mediabox;
- BuildObj($objct,{'Pages' => BuildObj($objct+1,
- {'Kids' => [],
- 'Count' => 0,
- 'Type' => '/Pages',
- 'Rotate' => $rot,
- 'MediaBox' => \@defaultmb,
- 'Resources' =>
- {'Font' => {},
- 'ProcSet' => ['/PDF', '/Text', '/ImageB', '/ImageC', '/ImageI']}
- }
- ),
- 'Type' => '/Catalog'});
-
- $cat=$obj[$objct]->{DATA};
- $objct++;
- $pages=$obj[2]->{DATA};
- Put("%PDF-1.4\n\x25\xe2\xe3\xcf\xd3\n");
- }
- elsif ($xcmd eq 'X')
- {
- # There could be extended args
- do
- {{
- LoadAhead(1);
- if (substr($ahead[0],0,1) eq '+')
- {
- $l.="\n".substr($ahead[0],1);
- shift(@ahead);
- }
- }} until $#ahead==0;
-
- ($xcmd,@xprm)=split(' ',$l);
- $xcmd=substr($xcmd,0,1);
-
- if ($xprm[0]=~m/^(.+:)(.+)/)
- {
- splice(@xprm,1,0,$2);
- $xprm[0]=$1;
- }
-
- my $par=join(' ',@xprm[1..$#xprm]);
-
- if ($xprm[0] eq 'ps:')
- {
- if ($xprm[1] eq 'invis')
- {
- $suppress=1;
- }
- elsif ($xprm[1] eq 'endinvis')
- {
- $suppress=0;
- }
- elsif ($par=~m/exec gsave currentpoint 2 copy translate (.+) rotate neg exch neg exch translate/)
- {
- # This is added by gpic to rotate a single object
-
- my $theta=-rad($1);
-
- IsGraphic();
- my ($curangle,$hyp)=RtoP($xpos,GraphY($ypos));
- my ($x,$y)=PtoR($theta+$curangle,$hyp);
- $stream.="q\n".sprintf("%.3f %.3f %.3f %.3f %.3f %.3f cm",cos($theta),sin($theta),-sin($theta),cos($theta),$xpos-$x,GraphY($ypos)-$y)."\n";
- $InPicRotate=1;
- }
- elsif ($par=~m/exec grestore/ and $InPicRotate)
- {
- IsGraphic();
- $stream.="Q\n";
- $InPicRotate=0;
- }
- elsif ($par=~m/\[(.+) pdfmark/)
- {
- my $pdfmark=$1;
- $pdfmark=~s((\d{4,6}) u)(sprintf("%.1f",$1/$desc{sizescale}))eg;
-
- if ($pdfmark=~m/(.+) \/DOCINFO/)
- {
- my @xwds=split(' ',"<< $1 >>");
- my $docinfo=ParsePDFValue(\@xwds);
-
- foreach my $k (keys %{$docinfo})
- {
- $info{$k}=$docinfo->{$k} if $k ne 'Producer';
- }
- }
- elsif ($pdfmark=~m/(.+) \/DOCVIEW/)
- {
- my @xwds=split(' ',"<< $1 >>");
- my $docview=ParsePDFValue(\@xwds);
-
- foreach my $k (keys %{$docview})
- {
- $cat->{$k}=$docview->{$k} if !exists($cat->{$k});
- }
- }
- elsif ($pdfmark=~m/(.+) \/DEST/)
- {
- my @xwds=split(' ',"<< $1 >>");
- my $dest=ParsePDFValue(\@xwds);
- foreach my $v (@{$dest->{View}})
- {
- $v=GraphY(abs($v)) if substr($v,0,1) eq '-';
- }
- unshift(@{$dest->{View}},"$cpageno 0 R");
-
- if (!defined($dests))
- {
- $cat->{Dests}=BuildObj(++$objct,{});
- $dests=$obj[$objct]->{DATA};
- }
-
- my $k=substr($dest->{Dest},1);
- $dests->{$k}=$dest->{View};
- }
- elsif ($pdfmark=~m/(.+) \/ANN/)
- {
- my $l=$1;
- $l=~s/Color/C/;
- $l=~s/Action/A/;
- $l=~s/Title/T/;
- $l=~s'/Subtype /URI'/S /URI';
- my @xwds=split(' ',"<< $l >>");
- my $annotno=BuildObj(++$objct,ParsePDFValue(\@xwds));
- my $annot=$obj[$objct];
- $annot->{DATA}->{Type}='/Annot';
- FixRect($annot->{DATA}->{Rect}); # Y origin to ll
- push(@{$cpage->{Annots}},$annotno);
- }
- elsif ($pdfmark=~m/(.+) \/OUT/)
- {
- my @xwds=split(' ',"<< $1 >>");
- my $out=ParsePDFValue(\@xwds);
-
- my $this=[$out,[]];
-
- if (exists($out->{Level}))
- {
- my $lev=abs($out->{Level});
- my $levsgn=sgn($out->{Level});
- delete($out->{Level});
-
- if ($lev > $thislev)
- {
- my $thisoutlev=$curoutlev->[$#{$curoutlev}]->[1];
- $thisoutlev->[0]=[0,$curoutlev,0,$levsgn];
- $curoutlev=$thisoutlev;
- $thislev++;
- }
- elsif ($lev < $thislev)
- {
- my $openct=$curoutlev->[0]->[2];
-
- while ($thislev > $lev)
- {
- my $nxtoutlev=$curoutlev->[0]->[1];
- $nxtoutlev->[0]->[2]+=$openct if $curoutlev->[0]->[3]==1;
- $openct=0 if $nxtoutlev->[0]->[3]==-1;
- $curoutlev=$nxtoutlev;
- $thislev--;
- }
- }
-
- push(@{$curoutlev},$this);
- $curoutlev->[0]->[2]++;
- }
- else
- {
- while ($curoutlev->[0]->[0] == 0 and defined($curoutlev->[0]->[1]))
- {
- $curoutlev=$curoutlev->[0]->[1];
- }
-
- $curoutlev->[0]->[0]--;
- $curoutlev->[0]->[2]++;
- push(@{$curoutlev},$this);
-
-
- if (exists($out->{Count}) and $out->{Count} != 0)
- {
- push(@{$this->[1]},[abs($out->{Count}),$curoutlev,0,sgn($out->{Count})]);
- $curoutlev=$this->[1];
-
- if ($out->{Count} > 0)
- {
- my $p=$curoutlev;
-
- while (defined($p))
- {
- $p->[0]->[2]+=$out->{Count};
- $p=$p->[0]->[1];
- }
- }
- }
- }
- }
- }
- }
- elsif (lc($xprm[0]) eq 'pdf:')
- {
- if (lc($xprm[1]) eq 'import')
- {
- my $fil=$xprm[2];
- my $llx=$xprm[3];
- my $lly=$xprm[4];
- my $urx=$xprm[5];
- my $ury=$xprm[6];
- my $wid=$xprm[7];
- my $hgt=$xprm[8]||-1;
- my $mat=[1,0,0,1,0,0];
-
- if (!exists($incfil{$fil}))
- {
- if ($fil=~m/\.pdf$/)
- {
- $incfil{$fil}=LoadPDF($fil,$mat,$wid,$hgt,"import");
- }
- elsif ($fil=~m/\.swf$/)
- {
- my $xscale=$wid/($urx-$llx+1);
- my $yscale=($hgt<=0)?$xscale:($hgt/($ury-$lly+1));
- $hgt=($ury-$lly+1)*$yscale;
-
- if ($rot)
- {
- $mat->[3]=$xscale;
- $mat->[0]=$yscale;
- }
- else
- {
- $mat->[0]=$xscale;
- $mat->[3]=$yscale;
- }
-
- $incfil{$fil}=LoadSWF($fil,[$llx,$lly,$urx,$ury],$mat);
- }
- else
- {
- Msg(0,"Unknown filetype '$fil'");
- return undef;
- }
- }
-
- if (defined($incfil{$fil}))
- {
- IsGraphic();
- if ($fil=~m/\.pdf$/)
- {
- my $bbox=$incfil{$fil}->[1];
- my $xscale=$wid/($bbox->[2]-$bbox->[0]+1);
- my $yscale=($hgt<=0)?$xscale:($hgt/($bbox->[3]-$bbox->[1]+1));
- $stream.="q $xscale 0 0 $yscale ".PutXY($xpos,$ypos)." cm";
- $stream.=" 0 1 -1 0 0 0 cm" if $rot;
- $stream.=" /$incfil{$fil}->[0] Do Q\n";
- }
- elsif ($fil=~m/\.swf$/)
- {
- $stream.=PutXY($xpos,$ypos)." m /$incfil{$fil} Do\n";
- }
- }
- }
- elsif (lc($xprm[1]) eq 'pdfpic')
- {
- my $fil=$xprm[2];
- my $flag=uc($xprm[3]);
- my $wid=GetPoints($xprm[4]);
- my $hgt=GetPoints($xprm[5]||-1);
- my $ll=GetPoints($xprm[6]||0);
- my $mat=[1,0,0,1,0,0];
-
- if (!exists($incfil{$fil}))
- {
- $incfil{$fil}=LoadPDF($fil,$mat,$wid,$hgt,"pdfpic");
- }
-
- if (defined($incfil{$fil}))
- {
- IsGraphic();
- my $bbox=$incfil{$fil}->[1];
- my $xscale=$wid/($bbox->[2]-$bbox->[0]+1);
- my $yscale=($hgt<=0)?$xscale:($hgt/($bbox->[3]-$bbox->[1]+1));
- $xscale=($wid<=0)?$yscale:$xscale;
- $xscale=$yscale if $yscale < $xscale;
- $yscale=$xscale if $xscale < $yscale;
- $wid=($bbox->[2]-$bbox->[0]+1)*$xscale;
- $hgt=($bbox->[3]-$bbox->[1]+1)*$yscale;
-
- if ($flag eq '-C' and $ll > $wid)
- {
- $xpos+=int(($ll-$wid)/2);
- }
- elsif ($flag eq '-R' and $ll > $wid)
- {
- $xpos+=$ll-$wid;
- }
-
- $ypos+=$hgt;
- $stream.="q $xscale 0 0 $yscale ".PutXY($xpos,$ypos)." cm";
- $stream.=" 0 1 -1 0 0 0 cm" if $rot;
- $stream.=" /$incfil{$fil}->[0] Do Q\n";
- }
- }
- elsif (lc($xprm[1]) eq 'xrev')
- {
- $xrev=!$xrev;
- }
- elsif (lc($xprm[1]) eq 'markstart')
- {
- $mark={'rst' => $xprm[2]/$unitwidth, 'rsb' => $xprm[3]/$unitwidth, 'xpos' => $xpos,
- 'ypos' => $ypos, 'pdfmark' => join(' ',@xprm[4..$#xprm])};
- }
- elsif (lc($xprm[1]) eq 'markend')
- {
- PutHotSpot($xpos) if defined($mark);
- $mark=undef;
- }
- elsif (lc($xprm[1]) eq 'marksuspend')
- {
- $suspendmark=$mark;
- $mark=undef;
- }
- elsif (lc($xprm[1]) eq 'markrestart')
- {
- $mark=$suspendmark;
- $suspendmark=undef;
- }
- elsif (lc($xprm[1]) eq 'pagename')
- {
- if ($pginsert > -1)
- {
- $pgnames{$xprm[2]}=$pages->{Kids}->[$pginsert];
- }
- else
- {
- $pgnames{$xprm[2]}='top';
- }
- }
- elsif (lc($xprm[1]) eq 'switchtopage')
- {
- my $ba=$xprm[2];
- my $want=$xprm[3];
-
- if ($pginsert > -1)
- {
- if (!defined($want) or $want eq '')
- {
- # no before/after
- $want=$ba;
- $ba='before';
- }
-
- if (!defined($ba) or $ba eq '' or $ba eq 'bottom')
- {
- $pginsert=$#{$pages->{Kids}};
- }
- elsif ($ba eq 'top')
- {
- $pginsert=-1;
- }
- else
- {
- if (exists($pgnames{$want}))
- {
- my $ref=$pgnames{$want};
-
- if ($ref eq 'top')
- {
- $pginsert=-1;
- }
- else
- {
-
- foreach my $j (0..$#{$pages->{Kids}})
- {
- if ($ref eq $pages->{Kids}->[$j])
- {
- if ($ba eq 'before')
- {
- $pginsert=$j-1;
- return;
- }
- elsif ($ba eq 'after')
- {
- $pginsert=$j;
- return;
- }
- else
- {
- Msg(0,"Parameter must be top|bottom|before|after not '$ba'");
- return;
- }
- }
- }
-
- Msg(0,"Can't find page ref '$ref'");
- }
- }
- else
- {
- Msg(0,"Can't find page named '$want'");
- }
- }
-
- }
- }
- }
- elsif (lc(substr($xprm[0],0,9)) eq 'papersize')
- {
- my ($px,$py)=split(',',substr($xprm[0],10));
- $px=GetPoints($px);
- $py=GetPoints($py);
- @mediabox=(0,0,$px,$py);
- my @mb=@mediabox;
- $matrixchg=1;
- $cpage->{MediaBox}=\@mb;
- }
- }
-}
-
-sub PutHotSpot
-{
- my $endx=shift;
- my $l=$mark->{pdfmark};
- $l=~s/Color/C/;
- $l=~s/Action/A/;
- $l=~s'/Subtype /URI'/S /URI';
- my @xwds=split(' ',"<< $l >>");
- my $annotno=BuildObj(++$objct,ParsePDFValue(\@xwds));
- my $annot=$obj[$objct];
- $annot->{DATA}->{Type}='/Annot';
- $annot->{DATA}->{Rect}=[$mark->{xpos},$mark->{ypos}-$mark->{rsb},$endx,$mark->{ypos}-$mark->{rst}];
- FixRect($annot->{DATA}->{Rect}); # Y origin to ll
- push(@{$cpage->{Annots}},$annotno);
-}
-
-sub sgn
-{
- return(1) if $_[0] > 0;
- return(-1) if $_[0] < 0;
- return(0);
-}
-
-sub FixRect
-{
- my $rect=shift;
-
- return if !defined($rect);
- $rect->[1]=GraphY($rect->[1]);
- $rect->[3]=GraphY($rect->[3]);
-}
-
-sub GetPoints
-{
- my $val=shift;
-
- $val=ToPoints($1,$2) if ($val=~m/(-?[\d.]+)([cipn])/);
-
- return $val;
-}
-
-# Although the PDF reference mentions XObject/Form as a way of incorporating an external PDF page into
-# the current PDF, it seems not to work with any current PDF reader (although I am told (by Leonard Rosenthol,
-# who helped author the PDF ISO standard) that Acroread 9 does support it, empiorical observation shows otherwise!!).
-# So... do it the hard way - full PDF parser and merge required objects!!!
-
-# sub BuildRef
-# {
-# my $fil=shift;
-# my $bbox=shift;
-# my $mat=shift;
-# my $wid=($bbox->[2]-$bbox->[0])*$mat->[0];
-# my $hgt=($bbox->[3]-$bbox->[1])*$mat->[3];
-#
-# if (!open(PDF,"<$fil"))
-# {
-# Msg(0,"Failed to open '$fil'");
-# return(undef);
-# }
-#
-# my (@f)=(<PDF>);
-#
-# close(PDF);
-#
-# $objct++;
-# my $xonm="XO$objct";
-#
-# $pages->{'Resources'}->{'XObject'}->{$xonm}=BuildObj($objct,{'Type' => '/XObject',
-# 'Subtype' => '/Form',
-# 'BBox' => $bbox,
-# 'Matrix' => $mat,
-# 'Resources' => $pages->{'Resources'},
-# 'Ref' => {'Page' => '1',
-# 'F' => BuildObj($objct+1,{'Type' => '/Filespec',
-# 'F' => "($fil)",
-# 'EF' => {'F' => BuildObj($objct+2,{'Type' => '/EmbeddedFile'})}
-# })
-# }
-# });
-#
-# $obj[$objct]->{STREAM}="q 1 0 0 1 0 0 cm
-# q BT
-# 1 0 0 1 0 0 Tm
-# .5 g .5 G
-# /F5 20 Tf
-# (Proxy) Tj
-# ET Q
-# 0 0 m 72 0 l s
-# Q\n";
-#
-# # $obj[$objct]->{STREAM}=PutXY($xpos,$ypos)." m ".PutXY($xpos+$wid,$ypos)." l ".PutXY($xpos+$wid,$ypos+$hgt)." l ".PutXY($xpos,$ypos+$hgt)." l f\n";
-# $obj[$objct+2]->{STREAM}=join('',@f);
-# PutObj($objct);
-# PutObj($objct+1);
-# PutObj($objct+2);
-# $objct+=2;
-# return($xonm);
-# }
-
-sub LoadSWF
-{
- my $fil=shift;
- my $bbox=shift;
- my $mat=shift;
- my $wid=($bbox->[2]-$bbox->[0])*$mat->[0];
- my $hgt=($bbox->[3]-$bbox->[1])*$mat->[3];
- my (@path)=split('/',$fil);
- my $node=pop(@path);
-
- if (!open(PDF,"<$fil"))
- {
- Msg(0,"Failed to open '$fil'");
- return(undef);
- }
-
- my (@f)=(<PDF>);
-
- close(PDF);
-
- $objct++;
- my $xonm="XO$objct";
-
- $pages->{'Resources'}->{'XObject'}->{$xonm}=BuildObj($objct,{'Type' => '/XObject', 'BBox' => $bbox, 'Matrix' => $mat, 'FormType' => 1, 'Subtype' => '/Form', 'Length' => 0, 'Type' => "/XObject"});
- $obj[$objct]->{STREAM}='';
- PutObj($objct);
- $objct++;
- my $asset=BuildObj($objct,{'EF' => {'F' => BuildObj($objct+1,{})},
- 'F' => "($node)",
- 'Type' => '/Filespec',
- 'UF' => "($node)"});
-
- PutObj($objct);
- $objct++;
- $obj[$objct]->{STREAM}=join('',@f);
- PutObj($objct);
- $objct++;
- my $config=BuildObj($objct,{'Instances' => [BuildObj($objct+1,{'Params' => { 'Binding' => '/Background'}, 'Asset' => $asset})],
- 'Subtype' => '/Flash'});
-
- PutObj($objct);
- $objct++;
- PutObj($objct);
- $objct++;
-
- my ($x,$y)=split(' ',PutXY($xpos,$ypos));
-
- push(@{$cpage->{Annots}},BuildObj($objct,{'RichMediaContent' => {'Subtype' => '/Flash', 'Configurations' => [$config], 'Assets' => {'Names' => [ "($node)", $asset ] }},
- 'P' => "$cpageno 0 R",
- 'RichMediaSettings' => { 'Deactivation' => { 'Condition' => '/PI',
- 'Type' => '/RichMediaDeactivation'},
- 'Activation' => { 'Condition' => '/PV',
- 'Type' => '/RichMediaActivation'}},
- 'F' => 68,
- 'Subtype' => '/RichMedia',
- 'Type' => '/Annot',
- 'Rect' => "[ $x $y ".($x+$wid)." ".($y+$hgt)." ]",
- 'Border' => [0,0,0]}));
-
- PutObj($objct);
-
- return $xonm;
-}
-
-sub LoadPDF
-{
- my $pdfnm=shift;
- my $wid=shift;
- my $hgt=shift;
- my $type=shift;
- my $mat=[1,0,0,1,0,0];
- my $pdf;
- my $pdftxt='';
- my $strmlen=0;
- my $curobj=-1;
- my $instream=0;
- my $cont;
-
- if (!open(PD,"<$pdfnm"))
- {
- Msg(0,"Failed to open PDF '$pdfnm'");
- return undef;
- }
-
- my $hdr=<PD>;
-
- $/="\r" if (length($hdr) > 10);
-
- while (<PD>)
- {
- chomp;
-
- s/\n//;
-
- if (m/endstream(\s+.*)?$/)
- {
- $instream=0;
- $_="endstream";
- $_.=$1 if defined($1)
- }
-
- next if $instream;
-
- if (m'/Length\s+(\d+)(\s+\d+\s+R)?')
- {
- if (!defined($2))
- {
- $strmlen=$1;
- }
- else
- {
- $strmlen=0;
- }
- }
-
- if (m'^(\d+) \d+ obj')
- {
- $curobj=$1;
- $pdf->[$curobj]->{OBJ}=undef;
- }
-
- if (m'stream\s*$' and ! m/^endstream/)
- {
- if ($curobj > -1)
- {
- $pdf->[$curobj]->{STREAMPOS}=[tell(PD),$strmlen];
- seek(PD,$strmlen,1);
- $instream=1;
- }
- else
- {
- Msg(0,"Parsing PDF '$pdfnm' failed");
- return undef;
- }
- }
-
- $pdftxt.=$_.' ';
- }
-
- close(PD);
-
- open(PD,"<$pdfnm");
-# $pdftxt=~s/\]/ \]/g;
- my (@pdfwds)=split(' ',$pdftxt);
- my $wd;
-
- while ($wd=nextwd(\@pdfwds),length($wd))
- {
- if ($wd=~m/\d+/ and defined($pdfwds[1]) and $pdfwds[1]=~m/^obj(.*)/)
- {
- $curobj=$wd;
- shift(@pdfwds); shift(@pdfwds);
- unshift(@pdfwds,$1) if defined($1) and length($1);
- $pdf->[$curobj]->{OBJ}=ParsePDFObj(\@pdfwds);
- }
- elsif ($wd eq 'trailer' and !exists($pdf->[0]->{OBJ}))
- {
- $pdf->[0]->{OBJ}=ParsePDFObj(\@pdfwds);
- }
- else
- {
-# print "Skip '$wd'\n";
- }
- }
-
- my $catalog=${$pdf->[0]->{OBJ}->{Root}};
- my $page=FindPage(1,$pdf);
- my $xobj=++$objct;
-
- # Load the streamas
-
- foreach my $o (@{$pdf})
- {
- if (exists($o->{STREAMPOS}))
- {
- my $l;
-
- $l=$o->{OBJ}->{Length} if exists($o->{OBJ}->{Length});
-
- $l=$pdf->[$$l]->{OBJ} if (defined($l) && ref($l) eq 'OBJREF');
-
- Msg(1,"Unable to determine length of stream \@$o->{STREAMPOS}->[0]") if !defined($l);
-
- sysseek(PD,$o->{STREAMPOS}->[0],0);
- Msg(0,'Failed to read all the stream') if $l != sysread(PD,$o->{STREAM},$l);
-
- if (exists($o->{OBJ}->{'Filter'}) and $o->{OBJ}->{'Filter'} eq '/FlateDecode')
- {
- $o->{STREAM}=Compress::Zlib::uncompress($o->{STREAM});
- delete($o->{OBJ }->{'Filter'});
- }
- }
- }
-
- close(PD);
-
- # Find BBox
- my $BBox;
- my $insmap={};
-
- foreach my $k (qw( MediaBox ArtBox TrimBox BleedBox CropBox ))
- {
- $BBox=FindKey($pdf,$page,$k);
- last if $BBox;
- }
-
- $BBox=[0,0,595,842] if !defined($BBox);
-
- my $xscale=$wid/($BBox->[2]-$BBox->[0]+1);
- my $yscale=($hgt<=0)?$xscale:($hgt/($BBox->[3]-$BBox->[1]+1));
- $hgt=($BBox->[3]-$BBox->[1]+1)*$yscale;
-
- if ($type eq "import")
- {
- $mat->[0]=$xscale;
- $mat->[3]=$yscale;
- }
-
- # Find Resource
-
- my $res=FindKey($pdf,$page,'Resources');
- my $xonm="XO$xobj";
-
- # Map inserted objects to current PDF
-
- MapInsValue($pdf,$page,'',$insmap,$xobj,$pdf->[$page]->{OBJ});
-#
-# Many PDFs include 'Resources' at the 'Page' level but if 'Resources' is held at a higher level (i.e 'Pages')
-# then we need to include its objects as well.
-#
- MapInsValue($pdf,$page,'',$insmap,$xobj,$res) if !exists($pdf->[$page]->{OBJ}->{Resources});
-
- # Copy Resources
-
- my %incres=%{$res};
-
- $incres{ProcSet}=['/PDF', '/Text', '/ImageB', '/ImageC', '/ImageI'];
-
- ($mat->[4],$mat->[5])=split(' ',PutXY($xpos,$ypos));
- $pages->{'Resources'}->{'XObject'}->{$xonm}=BuildObj($xobj,{'Type' => '/XObject', 'BBox' => $BBox, 'Name' => "/$xonm", 'FormType' => 1, 'Subtype' => '/Form', 'Length' => 0, 'Type' => "/XObject", 'Resources' => \%incres});
-
- BuildStream($xobj,$pdf,$pdf->[$page]->{OBJ}->{Contents});
-
- return([$xonm,$BBox] );
-}
-
-sub BuildStream
-{
- my $xobj=shift;
- my $pdf=shift;
- my $val=shift;
- my $strm='';
- my $objs;
- my $refval=ref($val);
-
- if ($refval eq 'OBJREF')
- {
- push(@{$objs}, $val);
- }
- elsif ($refval eq 'ARRAY')
- {
- $objs=$val;
- }
- else
- {
- Msg(0,"unexpected 'Contents'");
- }
-
- foreach my $o (@{$objs})
- {
- $strm.="\n" if $strm;
- $strm.=$pdf->[$$o]->{STREAM} if exists($pdf->[$$o]->{STREAM});
- }
-
- $obj[$xobj]->{STREAM}=$strm;
-}
-
-
-sub MapInsHash
-{
- my $pdf=shift;
- my $o=shift;
- my $insmap=shift;
- my $parent=shift;
- my $val=shift;
-
-
- foreach my $k (keys(%{$val}))
- {
- MapInsValue($pdf,$o,$k,$insmap,$parent,$val->{$k}) if $k ne 'Contents';
- }
-}
-
-sub MapInsValue
-{
- my $pdf=shift;
- my $o=shift;
- my $k=shift;
- my $insmap=shift;
- my $parent=shift;
- my $val=shift;
- my $refval=ref($val);
-
- if ($refval eq 'OBJREF')
- {
- if ($k ne 'Parent')
- {
- if (!exists($insmap->{IMP}->{$$val}))
- {
- $objct++;
- $insmap->{CUR}->{$objct}=$$val;
- $insmap->{IMP}->{$$val}=$objct;
- $obj[$objct]->{DATA}=$pdf->[$$val]->{OBJ};
- $obj[$objct]->{STREAM}=$pdf->[$$val]->{STREAM} if exists($pdf->[$$val]->{STREAM});
- MapInsValue($pdf,$$val,'',$insmap,$o,$pdf->[$$val]->{OBJ});
- }
-
- $$val=$insmap->{IMP}->{$$val};
- }
- else
- {
- $$val=$parent;
- }
- }
- elsif ($refval eq 'ARRAY')
- {
- foreach my $v (@{$val})
- {
- MapInsValue($pdf,$o,'',$insmap,$parent,$v)
- }
- }
- elsif ($refval eq 'HASH')
- {
- MapInsHash($pdf,$o,$insmap,$parent,$val);
- }
-
-}
-
-sub FindKey
-{
- my $pdf=shift;
- my $page=shift;
- my $k=shift;
-
- if (exists($pdf->[$page]->{OBJ}->{$k}))
- {
- my $val=$pdf->[$page]->{OBJ}->{$k};
- $val=$pdf->[$$val]->{OBJ} if ref($val) eq 'OBJREF';
- return($val);
- }
- else
- {
- if (exists($pdf->[$page]->{OBJ}->{Parent}))
- {
- return(FindKey($pdf,${$pdf->[$page]->{OBJ}->{Parent}},$k));
- }
- }
-
- return(undef);
-}
-
-sub FindPage
-{
- my $wantpg=shift;
- my $pdf=shift;
- my $catalog=${$pdf->[0]->{OBJ}->{Root}};
- my $pages=${$pdf->[$catalog]->{OBJ}->{Pages}};
-
- return(NextPage($pdf,$pages,\$wantpg));
-}
-
-sub NextPage
-{
- my $pdf=shift;
- my $pages=shift;
- my $wantpg=shift;
- my $ret;
-
- if ($pdf->[$pages]->{OBJ}->{Type} eq '/Pages')
- {
- foreach my $kid (@{$pdf->[$pages]->{OBJ}->{Kids}})
- {
- $ret=NextPage($pdf,$$kid,$wantpg);
- last if $$wantpg<=0;
- }
- }
- elsif ($pdf->[$pages]->{OBJ}->{Type} eq '/Page')
- {
- $$wantpg--;
- $ret=$pages;
- }
-
- return($ret);
-}
-
-sub nextwd
-{
- my $pdfwds=shift;
-
- my $wd=shift(@{$pdfwds});
-
- return('') if !defined($wd);
-
- if ($wd=~m/^(.*?)(<<|>>|\[|\])(.*)/)
- {
- if (defined($1) and length($1))
- {
- unshift(@{$pdfwds},$3) if defined($3) and length($3);
- unshift(@{$pdfwds},$2);
- $wd=$1;
- }
- else
- {
- unshift(@{$pdfwds},$3) if defined($3) and length($3);
- $wd=$2;
- }
- }
-
- return($wd);
-}
-
-sub ParsePDFObj
-{
-
- my $pdfwds=shift;
- my $rtn;
- my $wd;
-
- while ($wd=nextwd($pdfwds),length($wd))
- {
- if ($wd eq 'stream' or $wd eq 'endstream')
- {
- next;
- }
- elsif ($wd eq 'endobj' or $wd eq 'startxref')
- {
- last;
- }
- else
- {
- unshift(@{$pdfwds},$wd);
- $rtn=ParsePDFValue($pdfwds);
- }
- }
-
- return($rtn);
-}
-
-sub ParsePDFHash
-{
- my $pdfwds=shift;
- my $rtn={};
- my $wd;
-
- while ($wd=nextwd($pdfwds),length($wd))
- {
- if ($wd eq '>>')
- {
- last;
- }
-
- my (@w)=split('/',$wd,3);
-
- if ($w[0])
- {
- Msg(0,"PDF Dict Key '$wd' does not start with '/'");
- exit 1;
- }
- else
- {
- unshift(@{$pdfwds},"/$w[2]") if $w[2];
- $wd=$w[1];
- (@w)=split('\(',$wd,2);
- $wd=$w[0];
- unshift(@{$pdfwds},"($w[1]") if defined($w[1]);
- (@w)=split('\<',$wd,2);
- $wd=$w[0];
- unshift(@{$pdfwds},"<$w[1]") if defined($w[1]);
-
- $rtn->{$wd}=ParsePDFValue($pdfwds);
- }
- }
-
- return($rtn);
-}
-
-sub ParsePDFValue
-{
- my $pdfwds=shift;
- my $rtn;
- my $wd=nextwd($pdfwds);
-
- if ($wd=~m/^\d+$/ and $pdfwds->[0]=~m/^\d+$/ and $pdfwds->[1]=~m/^R(\]|\>|\/)?/)
- {
- shift(@{$pdfwds});
- if (defined($1) and length($1))
- {
- $pdfwds->[0]=substr($pdfwds->[0],1);
- }
- else
- {
- shift(@{$pdfwds});
- }
- return(bless(\$wd,'OBJREF'));
- }
-
- if ($wd eq '<<')
- {
- return(ParsePDFHash($pdfwds));
- }
-
- if ($wd eq '[')
- {
- return(ParsePDFArray($pdfwds));
- }
-
- if ($wd=~m/(.*?)(\(.*)$/)
- {
- if (defined($1) and length($1))
- {
- unshift(@{$pdfwds},$2);
- $wd=$1;
- }
- else
- {
- return(ParsePDFString($wd,$pdfwds));
- }
- }
-
- if ($wd=~m/(.*?)(\<.*)$/)
- {
- if (defined($1) and length($1))
- {
- unshift(@{$pdfwds},$2);
- $wd=$1;
- }
- else
- {
- return(ParsePDFHexString($wd,$pdfwds));
- }
- }
-
- if ($wd=~m/(.+?)(\/.*)$/)
- {
- if (defined($2) and length($2))
- {
- unshift(@{$pdfwds},$2);
- $wd=$1;
- }
- }
-
- return($wd);
-}
-
-sub ParsePDFString
-{
- my $wd=shift;
- my $rtn='';
- my $pdfwds=shift;
- my $lev=0;
-
- while (length($wd))
- {
- $rtn.=' ' if length($rtn);
-
- while ($wd=~m/(?<!\\)\(/g) {$lev++;}
- while ($wd=~m/(?<!\\)\)/g) {$lev--;}
-
-
- if ($lev<=0 and $wd=~m/^(.*?\))([^)]+)$/)
- {
- unshift(@{$pdfwds},$2) if defined($2) and length($2);
- $wd=$1;
- }
-
- $rtn.=$wd;
-
- last if $lev <= 0;
-
- $wd=nextwd($pdfwds);
- }
-
- return($rtn);
-}
-
-sub ParsePDFHexString
-{
- my $wd=shift;
- my $rtn='';
- my $pdfwds=shift;
- my $lev=0;
-
- if ($wd=~m/^(<.+?>)(.*)/)
- {
- unshift(@{$pdfwds},$2) if defined($2) and length($2);
- $rtn=$1;
- }
-
- return($rtn);
-}
-
-sub ParsePDFArray
-{
- my $pdfwds=shift;
- my $rtn=[];
- my $wd;
-
- while (1)
- {
- $wd=ParsePDFValue($pdfwds);
- last if $wd eq ']' or length($wd)==0;
- push(@{$rtn},$wd);
- }
-
- return($rtn);
-}
-
-sub Msg
-{
- my ($lev,$msg)=@_;
-
- print STDERR "$env{SourceFile}: " if exists($env{SourceFile});
- print STDERR "$msg\n";
- exit 1 if $lev;
-}
-
-sub PutXY
-{
- my ($x,$y)=(@_);
-
- if ($frot)
- {
- return("$y $x");
- }
- else
- {
- $y=$mediabox[3]-$y;
- return("$x $y");
- }
-}
-
-sub GraphY
-{
- my $y=shift;
-
- if ($frot)
- {
- return($y);
- }
- else
- {
- return($mediabox[3]-$y);
- }
-}
-
-sub Put
-{
- my $msg=shift;
-
- print $msg;
- $fct+=length($msg);
-}
-
-sub PutObj
-{
- my $ono=shift;
- my $msg="$ono 0 obj ";
- $obj[$ono]->{XREF}=$fct;
- if (exists($obj[$ono]->{STREAM}))
- {
- if (!$debug)
- {
- $obj[$ono]->{STREAM}=Compress::Zlib::compress($obj[$ono]->{STREAM});
- $obj[$ono]->{DATA}->{'Filter'}=['/FlateDecode'];
- }
-
- $obj[$ono]->{DATA}->{'Length'}=length($obj[$ono]->{STREAM});
- }
- PutField(\$msg,$obj[$ono]->{DATA});
- PutStream(\$msg,$ono) if exists($obj[$ono]->{STREAM});
- Put($msg."endobj\n");
-}
-
-sub PutStream
-{
- my $msg=shift;
- my $ono=shift;
-
- # We could 'flate' here
- $$msg.="stream\n$obj[$ono]->{STREAM}endstream\n";
-}
-
-sub PutField
-{
- my $pmsg=shift;
- my $fld=shift;
- my $term=shift||"\n";
- my $typ=ref($fld);
-
- if ($typ eq '')
- {
- $$pmsg.="$fld$term";
- }
- elsif ($typ eq 'ARRAY')
- {
- $$pmsg.='[';
- foreach my $cell (@{$fld})
- {
- PutField($pmsg,$cell,' ');
- }
- $$pmsg.="]$term";
- }
- elsif ($typ eq 'HASH')
- {
- $$pmsg.='<< ';
- foreach my $key (sort keys %{$fld})
- {
- $$pmsg.="/$key ";
- PutField($pmsg,$fld->{$key});
- }
- $$pmsg.=">>$term";
- }
- elsif ($typ eq 'OBJREF')
- {
- $$pmsg.="$$fld 0 R$term";
- }
-}
-
-sub BuildObj
-{
- my $ono=shift;
- my $val=shift;
-
- $obj[$ono]->{DATA}=$val;
-
- return("$ono 0 R ");
-}
-
-sub LoadFont
-{
- my $fontno=shift;
- my $fontnm=shift;
- my $ofontnm=$fontnm;
-
- return $fontlst{$fontno}->{OBJ} if (exists($fontlst{$fontno}));
-
- my $f;
- OpenFile(\$f,$fontdir,"$fontnm");
-
- if (!defined($f) and $Foundry)
- {
- # Try with no foundry
- $fontnm=~s/.*?-//;
- OpenFile(\$f,$fontdir,$fontnm);
- }
-
- Msg(1,"Failed to open font '$ofontnm'") if !defined($f);
-
- my $foundry='';
- $foundry=$1 if $fontnm=~m/^(.*?)-/;
- my $stg=1;
- my %fnt;
- my @fntbbox=(0,0,0,0);
- my $capheight=0;
- my $lastchr=0;
- my $t1flags=0;
- my $fixwid=-1;
- my $ascent=0;
- my $charset='';
-
- while (<$f>)
- {
- chomp;
-
- s/^ +//;
- s/^#.*// if $stg == 1;
- next if $_ eq '';
-
- if ($stg == 1)
- {
- my ($key,$val)=split(' ',$_,2);
-
- $key=lc($key);
- $stg=2,next if $key eq 'kernpairs';
- $stg=3,next if lc($_) eq 'charset';
-
- $fnt{$key}=$val
- }
- elsif ($stg == 2)
- {
- $stg=3,next if lc($_) eq 'charset';
-
- my ($ch1,$ch2,$k)=split;
- $fnt{KERN}->{$ch1}->{$ch2}=$k;
- }
- else
- {
- my (@r)=split;
- my (@p)=split(',',$r[1]);
-
- if ($r[1] eq '"')
- {
- $fnt{GNM}->{$r[0]}=$lastchr;
- next;
- }
-
- $r[0]='u0020' if $r[3] == 32;
- next if $r[3] >255;
- $fnt{GNM}->{$r[0]}=$r[3];
- $fnt{GNO}->[$r[3]]='/'.$r[4];
- $fnt{WID}->[$r[3]]=$p[0];
- $lastchr=$r[3] if $r[3] > $lastchr;
- $fixwid=$p[0] if $fixwid == -1;
- $fixwid=-2 if $fixwid > 0 and $p[0] != $fixwid;
-
- $fntbbox[1]=-$p[2] if defined($p[2]) and -$p[2] < $fntbbox[1];
- $fntbbox[2]=$p[0] if $p[0] > $fntbbox[2];
- $fntbbox[3]=$p[1] if defined($p[1]) and $p[1] > $fntbbox[3];
- $ascent=$p[1] if defined($p[1]) and $p[1] > $ascent and $r[3] >= 32 and $r[3] < 128;
- $charset.='/'.$r[4] if defined($r[4]);
- $capheight=$p[1] if length($r[4]) == 1 and $r[4] ge 'A' and $r[4] le 'Z' and $p[1] > $capheight;
- }
- }
-
- close($f);
-
- unshift(@{$fnt{GNO}},0);
-
- foreach my $glyph (@{$fnt{GNO}})
- {
- $glyph='/.notdef' if !defined($glyph);
- }
-
- foreach my $w (@{$fnt{WID}})
- {
- $w=0 if !defined($w);
- }
-
- my $fno=0;
- my $slant=0;
- $slant=-$fnt{'slant'} if exists($fnt{'slant'});
- $fnt{'spacewidth'}=700 if !exists($fnt{'spacewidth'});
-
- $t1flags|=2**0 if $fixwid > -1;
- $t1flags|=(exists($fnt{'special'}))?2**2:2**5;
- $t1flags|=2**6 if $slant != 0;
- my $fontkey="$foundry $fnt{internalname}";
-
- if (exists($download{$fontkey}))
- {
- # Not a Base Font
- my ($l1,$l2,$l3,$t1stream)=GetType1($download{$fontkey});
- Msg(0,"Incorrect font format for '$fontkey' ($l1)") if !defined($t1stream);
- $fno=++$objct;
- $fontlst{$fontno}->{OBJ}=BuildObj($objct,
- {'Type' => '/Font',
- 'Subtype' => '/Type1',
- 'BaseFont' => '/'.$fnt{internalname},
- 'Widths' => $fnt{WID},
- 'FirstChar' => 0,
- 'LastChar' => $lastchr,
- 'Encoding' => BuildObj($objct+1,
- {'Type' => '/Encoding',
- 'Differences' => $fnt{GNO}
- }
- ),
- 'FontDescriptor' => BuildObj($objct+2,
- {'Type' => '/FontDescriptor',
- 'FontName' => '/'.$fnt{internalname},
- 'Flags' => $t1flags,
- 'FontBBox' => \@fntbbox,
- 'ItalicAngle' => $slant,
- 'Ascent' => $ascent,
- 'Descent' => $fntbbox[1],
- 'CapHeight' => $capheight,
- 'StemV' => 0,
- 'CharSet' => "($charset)",
- 'FontFile' => BuildObj($objct+3,
- {'Length1' => $l1,
- 'Length2' => $l2,
- 'Length3' => $l3
- }
- )
- }
- )
- }
- );
-
- $objct+=3;
- $fontlst{$fontno}->{NM}='/F'.$fontno;
- $pages->{'Resources'}->{'Font'}->{'F'.$fontno}=$fontlst{$fontno}->{OBJ};
- $fontlst{$fontno}->{FNT}=\%fnt;
- $obj[$objct]->{STREAM}=$t1stream;
-
- }
- else
- {
- $fno=++$objct;
- $fontlst{$fontno}->{OBJ}=BuildObj($objct,
- {'Type' => '/Font',
- 'Subtype' => '/Type1',
- 'BaseFont' => '/'.$fnt{internalname},
- 'Encoding' => BuildObj($objct+1,
- {'Type' => '/Encoding',
- 'Differences' => $fnt{GNO}
- }
- )
- }
- );
- $objct+=1;
- $fontlst{$fontno}->{NM}='/F'.$fontno;
- $pages->{'Resources'}->{'Font'}->{'F'.$fontno}=$fontlst{$fontno}->{OBJ};
- $fontlst{$fontno}->{FNT}=\%fnt;
- }
-
- PutObj($fno);
- PutObj($fno+1);
- PutObj($fno+2) if defined($obj[$fno+2]);
- PutObj($fno+3) if defined($obj[$fno+3]);
-}
-
-sub GetType1
-{
- my $file=shift;
- my ($l1,$l2,$l3); # Return lengths
- my ($head,$body,$tail); # Font contents
- my $f;
-
- OpenFile(\$f,$fontdir,"$file");
- Msg(1,"Failed to open '$file'") if !defined($f);
- binmode($f);
-
- my $l=<$f>;
-
- if (substr($l,0,1) eq "\x80")
- {
- # PFB file
- sysseek($f,0,0);
- my $hdr='';
- $l1=$l2=$l3=0;
- my $typ=0;
- my $data='';
- my $sl=0;
-
- while ($typ != 3)
- {
- my $chk=sysread($f,$hdr,6);
-
- if ($chk < 2)
- {
- # eof($f) uses buffered i/o (since file was open not sysopen)
- # which screws up next sysread. So this will terminate loop if font
- # has no terminating section type 3.
- last if $l3;
- return(5,$l2,$l3,undef);
- }
-
- $typ=ord(substr($hdr,1,1));
-
- if ($chk == 6)
- {
- $sl=unpack('L',substr($hdr,2,4));
- $chk=sysread($f,$data,$sl);
- return(1,$l2,$l3,undef) if $chk != $sl;
- }
-
- if ($typ == 1)
- {
- if ($l2 == 0)
- {
- # First text bit(s) must be head
- $head.=$data;
- $l1+=$sl;
- }
- else
- {
- # A text bit after the binary sections must be tail
- $tail.=$data;
- $l3+=$sl;
- }
- }
- elsif ($typ == 2)
- {
- return(2,$l2,$l3,undef) if $l3; # Found a binary bit after the tail
- $body.=$data;
- $l2+=$sl;
- }
- elsif ($typ != 3)
- {
- # What segment type is this!
- return(3,$l2,$l3,undef);
- }
- }
-
- close($f);
- return($l1,$l2,$l3,"$head$body$tail");
- }
-
- my (@lines)=(<$f>);
- unshift(@lines,$l);
-
- close($f);
-
- Msg(1,"Font file '$file' must be an Adobe type 1 font file") if $lines[0]!~m/\%\!PS.Adobe/i;
- $head=$body=$tail='';
-
- foreach my $line (@lines)
- {
- if (!defined($l1))
- {
- if (length($line) > 19 and $line=~s/^(currentfile eexec)//)
- {
- $head.=$1;
- $l1=length($head);
- redo;
- }
-
- $head.=$line;
-
- if ($line=~m/eexec$/)
- {
- # chomp($head);
- # $head.="\x0d";
- $l1=length($head);
- }
- }
- elsif (!defined($l2))
- {
- #$line=~s/(\0\0)0+$/&1/;
- if ($line=~m/^0+$/)
- {
- $l2=length($body);
- $tail=$line;
- }
- else
- {
- chomp($line);
- $body.=pack('H*',$line);
- }
- }
- else
- {
- $tail.=$line;
- }
- }
-
- $l1=length($head);
- $l2=length($body);
- $l3=length($tail);
-
- return($l1,$l2,$l3,"$head$body$tail");
-}
-
-
-sub OutStream
-{
- my $ono=shift;
-
- IsGraphic();
- $stream.="Q\n";
- $obj[$ono]->{STREAM}=$stream;
- $obj[$ono]->{DATA}->{Length}=length($stream);
- $stream='';
- PutObj($ono);
-}
-
-sub do_p
-{
- # Start of pages
-
- if ($cpageno > 0)
- {
- PutObj($cpageno);
- OutStream($cpageno+1);
- }
-
- $cpageno=++$objct;
-
- my $thispg=BuildObj($objct,
- {'Type' => '/Page',
- 'Group' => {'CS' => '/DeviceRGB', 'S' => '/Transparency'},
- 'Parent' => '2 0 R',
- 'Contents' => [ BuildObj($objct+1,
- {'Length' => 0}
- ) ],
- }
- );
-
- splice(@{$pages->{Kids}},++$pginsert,0,$thispg);
-
- $objct+=1;
- $cpage=$obj[$cpageno]->{DATA};
- $pages->{'Count'}++;
- $stream="q 1 0 0 1 0 0 cm\n";
- $mode='g';
- $curfill='';
- @mediabox=@defaultmb;
-}
-
-sub do_f
-{
- my $par=shift;
-
-# IsText();
- $cft="$par";
- $fontchg=1;
-# $stream.="/F$cft $cftsz Tf\n" if $cftsz;
- $widtbl=CacheWid($par);
- $origwidtbl=$fontlst{$par}->{FNT}->{WID};
- $krntbl=$fontlst{$par}->{FNT}->{KERN};
-}
-
-sub CacheWid
-{
- my $par=shift;
-
- if (!defined($fontlst{$par}->{CACHE}->{$cftsz}))
- {
- $fontlst{$par}->{CACHE}->{$cftsz}=BuildCache($fontlst{$par}->{FNT}->{WID});
- }
-
- return($fontlst{$par}->{CACHE}->{$cftsz});
-}
-
-sub BuildCache
-{
- my $wid=shift;
- return([]);
- my @cwid;
-
- foreach my $w (@{$wid})
- {
- push(@cwid,$w*$cftsz);
- }
-
- return(\@cwid);
-}
-
-sub IsText
-{
- if ($mode eq 'g')
- {
- $xpos+=$pendmv/$unitwidth;
- $stream.="q BT\n$matrix ".PutXY($xpos,$ypos)." Tm\n";
- $poschg=0;
- $fontchg=0;
- $pendmv=0;
- $matrixchg=0;
- $tmxpos=$xpos;
- $stream.=$textcol."\n", $curfill=$textcol if $textcol ne $curfill;
- if (defined($cft))
- {
- $whtsz=$fontlst{$cft}->{FNT}->{spacewidth}*$cftsz;
- $stream.="/F$cft $cftsz Tf\n";
- }
- }
-
- if ($poschg or $matrixchg)
- {
- PutLine(0) if $matrixchg;
- $stream.="$matrix ".PutXY($xpos,$ypos)." Tm\n", $poschg=0;
- $tmxpos=$xpos;
- $matrixchg=0;
- }
-
- if ($fontchg)
- {
- PutLine(0);
- $whtsz=$fontlst{$cft}->{FNT}->{spacewidth}*$cftsz;
- $stream.="/F$cft $cftsz Tf\n" if $cftsz and defined($cft);
- $fontchg=0;
- }
-
- $mode='t';
-}
-
-sub IsGraphic
-{
- if ($mode eq 't')
- {
- PutLine();
- $stream.="ET Q\n";
- $xpos+=($pendmv-$nomove)/$unitwidth;
- $pendmv=0;
- $nomove=0;
- $stream.=$strkcol."\n", $curstrk=$strkcol if $strkcol ne $curstrk;
- $curfill=$fillcol;
- }
- $mode='g';
-}
-
-sub do_s
-{
- my $par=shift;
- $par/=$unitwidth;
-
- if ($par != $cftsz and defined($cft))
- {
- PutLine();
- $cftsz=$par;
-# $stream.="/F$cft $cftsz Tf\n";
- $fontchg=1;
- $widtbl=CacheWid($cft);
- }
-}
-
-sub do_m
-{
- # Groff uses /m[] for text & graphic stroke, and /M[] (DF?) for graphic fill.
- # PDF uses G/RG/K for graphic stroke, and g/rg/k for text & graphic fill.
- #
- # This means that we must maintain g/rg/k state separately for text colour & graphic fill (this is
- # probably why 'gs' maintains seperate graphic states for text & graphics when distilling PS -> PDF).
- #
- # To facilitate this:-
- #
- # $textcol = current groff stroke colour
- # $fillcol = current groff fill colour
- # $curfill = current PDF fill colour
-
- my $par=shift;
- my $mcmd=substr($par,0,1);
-
- $par=substr($par,1);
- $par=~s/^ +//;
-
-# IsGraphic();
-
- $textcol=set_col($mcmd,$par,0);
- $strkcol=set_col($mcmd,$par,1);
-
- if ($mode eq 't')
- {
- PutLine();
- $stream.=$textcol."\n";
- $curfill=$textcol;
- }
- else
- {
- $stream.="$strkcol\n";
- $curstrk=$strkcol;
- }
-}
-
-sub set_col
-{
- my $mcmd=shift;
- my $par=shift;
- my $upper=shift;
- my @oper=('g','k','rg');
-
- @oper=('G','K','RG') if $upper;
-
- if ($mcmd eq 'd')
- {
- # default colour
- return("0 $oper[0]");
- }
-
- my (@c)=split(' ',$par);
-
- if ($mcmd eq 'c')
- {
- # Text CMY
- return(($c[0]/65535).' '.($c[1]/65535).' '.($c[2]/65535)." 0 $oper[1]");
- }
- elsif ($mcmd eq 'k')
- {
- # Text CMYK
- return(($c[0]/65535).' '.($c[1]/65535).' '.($c[2]/65535).' '.($c[3]/65535)." $oper[1]");
- }
- elsif ($mcmd eq 'g')
- {
- # Text Grey
- return(($c[0]/65535)." $oper[0]");
- }
- elsif ($mcmd eq 'r')
- {
- # Text RGB0
- return(($c[0]/65535).' '.($c[1]/65535).' '.($c[2]/65535)." $oper[2]");
- }
-}
-
-sub do_D
-{
- my $par=shift;
- my $Dcmd=substr($par,0,1);
-
- $par=substr($par,1);
- $xpos+=$pendmv/$unitwidth;
- $pendmv=0;
-
- IsGraphic();
-
- if ($Dcmd eq 'F')
- {
- my $mcmd=substr($par,0,1);
-
- $par=substr($par,1);
- $par=~s/^ +//;
-
- $fillcol=set_col($mcmd,$par,0);
- $stream.="$fillcol\n";
- $curfill=$fillcol;
- }
- elsif ($Dcmd eq 'f')
- {
- my $mcmd=substr($par,0,1);
-
- $par=substr($par,1);
- $par=~s/^ +//;
- ($par)=split(' ',$par);
-
- if ($par >= 0 and $par <= 1000)
- {
- $fillcol=set_col('g',int((1000-$par)*65535/1000),0);
- }
- else
- {
- $fillcol=lc($textcol);
- }
-
- $stream.="$fillcol\n";
- $curfill=$fillcol;
- }
- elsif ($Dcmd eq '~')
- {
- # B-Spline
- my (@p)=split(' ',$par);
- my ($nxpos,$nypos);
-
- foreach my $p (@p) { $p/=$unitwidth; }
- $stream.=PutXY($xpos,$ypos)." m\n";
- $xpos+=($p[0]/2);
- $ypos+=($p[1]/2);
- $stream.=PutXY($xpos,$ypos)." l\n";
-
- for (my $i=0; $i < $#p-1; $i+=2)
- {
- $nxpos=(($p[$i]*$tnum)/(2*$tden));
- $nypos=(($p[$i+1]*$tnum)/(2*$tden));
- $stream.=PutXY(($xpos+$nxpos),($ypos+$nypos))." ";
- $nxpos=($p[$i]/2 + ($p[$i+2]*($tden-$tnum))/(2*$tden));
- $nypos=($p[$i+1]/2 + ($p[$i+3]*($tden-$tnum))/(2*$tden));
- $stream.=PutXY(($xpos+$nxpos),($ypos+$nypos))." ";
- $nxpos=(($p[$i]-$p[$i]/2) + $p[$i+2]/2);
- $nypos=(($p[$i+1]-$p[$i+1]/2) + $p[$i+3]/2);
- $stream.=PutXY(($xpos+$nxpos),($ypos+$nypos))." c\n";
- $xpos+=$nxpos;
- $ypos+=$nypos;
- }
-
- $xpos+=($p[$#p-1]-$p[$#p-1]/2);
- $ypos+=($p[$#p]-$p[$#p]/2);
- $stream.=PutXY($xpos,$ypos)." l\nS\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'p' or $Dcmd eq 'P')
- {
- # B-Spline
- my (@p)=split(' ',$par);
- my ($nxpos,$nypos);
-
- foreach my $p (@p) { $p/=$unitwidth; }
- $stream.=PutXY($xpos,$ypos)." m\n";
-
- for (my $i=0; $i < $#p; $i+=2)
- {
- $xpos+=($p[$i]);
- $ypos+=($p[$i+1]);
- $stream.=PutXY($xpos,$ypos)." l\n";
- }
-
- if ($Dcmd eq 'p')
- {
- $stream.="s\n";
- }
- else
- {
- $stream.="f\n";
- }
- $poschg=1;
- }
- elsif ($Dcmd eq 'c')
- {
- # Stroke circle
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- DrawCircle($p[0],$p[0]);
- $stream.="s\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'C')
- {
- # Fill circle
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- DrawCircle($p[0],$p[0]);
- $stream.="f\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'e')
- {
- # Stroke ellipse
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- DrawCircle($p[0],$p[1]);
- $stream.="s\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'E')
- {
- # Fill ellipse
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- DrawCircle($p[0],$p[1]);
- $stream.="f\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'l')
- {
- # Line To
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- foreach my $p (@p) { $p/=$unitwidth; }
- $stream.=PutXY($xpos,$ypos)." m\n";
- $xpos+=$p[0];
- $ypos+=$p[1];
- $stream.=PutXY($xpos,$ypos)." l\n";
-
- $stream.="s\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 't')
- {
- # Line Thickness
- $par=substr($par,1);
- my (@p)=split(' ',$par);
-
- foreach my $p (@p) { $p/=$unitwidth; }
- # $xpos+=$p[0]*100; # WTF!!!
- #int lw = ((font::res/(72*font::sizescale))*linewidth*env->size)/1000;
- $p[0]=(($desc{res}/(72*$desc{sizescale}))*$linewidth*$cftsz)/1000 if $p[0] < 0;
- $lwidth=$p[0];
- $stream.="$p[0] w\n";
- $poschg=1;
- }
- elsif ($Dcmd eq 'a')
- {
- # Arc
- $par=substr($par,1);
- my (@p)=split(' ',$par);
- my $rad180=3.14159;
- my $rad360=$rad180*2;
- my $rad90=$rad180/2;
-
- foreach my $p (@p) { $p/=$unitwidth; }
-
- # Documentation is wrong. Groff does not use Dh1,Dv1 as centre of the circle!
-
- my $centre=adjust_arc_centre(\@p);
-
- # Using formula here : http://www.tinaja.com/glib/bezcirc2.pdf
- # First calculate angle between start and end point
-
- my ($startang,$r)=RtoP(-$centre->[0],$centre->[1]);
- my ($endang,$r2)=RtoP(($p[0]+$p[2])-$centre->[0],-($p[1]+$p[3]-$centre->[1]));
- $endang+=$rad360 if $endang < $startang;
- my $totang=($endang-$startang)/4; # do it in 4 pieces
-
- # Now 1 piece
-
- my $x0=cos($totang/2);
- my $y0=sin($totang/2);
- my $x3=$x0;
- my $y3=-$y0;
- my $x1=(4-$x0)/3;
- my $y1=((1-$x0)*(3-$x0))/(3*$y0);
- my $x2=$x1;
- my $y2=-$y1;
-
- # Rotate to start position and draw 4 pieces
-
- foreach my $j (0..3)
- {
- PlotArcSegment($totang/2+$startang+$j*$totang,$r,$xpos+$centre->[0],GraphY($ypos+$centre->[1]),$x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3);
- }
-
- $xpos+=$p[0]+$p[2];
- $ypos+=$p[1]+$p[3];
-
- $poschg=1;
- }
-}
-
-sub deg
-{
- return int($_[0]*180/3.14159);
-}
-
-sub adjust_arc_centre
-{
- # Taken from geometry.cpp
-
- # We move the center along a line parallel to the line between
- # the specified start point and end point so that the center
- # is equidistant between the start and end point.
- # It can be proved (using Lagrange multipliers) that this will
- # give the point nearest to the specified center that is equidistant
- # between the start and end point.
-
- my $p=shift;
- my @c;
- my $x = $p->[0] + $p->[2]; # (x, y) is the end point
- my $y = $p->[1] + $p->[3];
- my $n = $x*$x + $y*$y;
- if ($n != 0)
- {
- $c[0]= $p->[0];
- $c[1] = $p->[1];
- my $k = .5 - ($c[0]*$x + $c[1]*$y)/$n;
- $c[0] += $k*$x;
- $c[1] += $k*$y;
- return(\@c);
- }
- else
- {
- return(undef);
- }
-}
-
-
-sub PlotArcSegment
-{
- my ($ang,$r,$transx,$transy,$x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3)=@_;
- my $cos=cos($ang);
- my $sin=sin($ang);
- my @mat=($cos,$sin,-$sin,$cos,0,0);
- my $lw=$lwidth/$r;
-
- $stream.="q $r 0 0 $r $transx $transy cm ".join(' ',@mat)." cm $lw w $x0 $y0 m $x1 $y1 $x2 $y2 $x3 $y3 c S Q\n";
-}
-
-sub DrawCircle
-{
- my $hd=shift;
- my $vd=shift;
- my $hr=$hd/2/$unitwidth;
- my $vr=$vd/2/$unitwidth;
- my $kappa=0.5522847498;
- $hd/=$unitwidth;
- $vd/=$unitwidth;
-
-
- $stream.=PutXY(($xpos+$hd),$ypos)." m\n";
- $stream.=PutXY(($xpos+$hd),($ypos+$vr*$kappa))." ".PutXY(($xpos+$hr+$hr*$kappa),($ypos+$vr))." ".PutXY(($xpos+$hr),($ypos+$vr))." c\n";
- $stream.=PutXY(($xpos+$hr-$hr*$kappa),($ypos+$vr))." ".PutXY(($xpos),($ypos+$vr*$kappa))." ".PutXY(($xpos),($ypos))." c\n";
- $stream.=PutXY(($xpos),($ypos-$vr*$kappa))." ".PutXY(($xpos+$hr-$hr*$kappa),($ypos-$vr))." ".PutXY(($xpos+$hr),($ypos-$vr))." c\n";
- $stream.=PutXY(($xpos+$hr+$hr*$kappa),($ypos-$vr))." ".PutXY(($xpos+$hd),($ypos-$vr*$kappa))." ".PutXY(($xpos+$hd),($ypos))." c\n";
- $xpos+=$hd;
-
- $poschg=1;
-}
-
-sub FindCircle
-{
- my ($x1,$y1,$x2,$y2,$x3,$y3)=@_;
- my ($Xo, $Yo);
-
- my $x=$x2+$x3;
- my $y=$y2+$y3;
- my $n=$x**2+$y**2;
-
- if ($n)
- {
- my $k=.5-($x2*$x + $y2*$y)/$n;
- return(sqrt($n),$x2+$k*$x,$y2+$k*$y);
- }
- else
- {
- return(-1);
- }
-
-}
-
-sub PtoR
-{
- my ($theta,$r)=@_;
-
- return($r*cos($theta),$r*sin($theta));
-}
-
-sub RtoP
-{
- my ($x,$y)=@_;
-
- return(atan2($y,$x),sqrt($x**2+$y**2));
-}
-
-sub PutLine
-{
-
- my $f=shift;
-
- IsText() if !defined($f);
-
- return if (scalar(@lin) == 0) or (!defined($lin[0]->[0]) and $#lin == 0);
-
-# $stream.="% --- wht=$whtsz, pend=$pendmv, nomv=$nomove\n" if $debug;
- $pendmv-=$nomove;
- $lin[$#lin]->[1]=-$pendmv/$cftsz if ($pendmv != 0);
-
- if (0)
- {
- if (scalar(@lin) == 1 and (!defined($lin[0]->[1]) or $lin[0]->[1] == 0))
- {
- $stream.="($lin[0]->[0]) Tj\n";
- }
- else
- {
- $stream.="[";
-
- foreach my $wd (@lin)
- {
- $stream.="($wd->[0]) " if defined($wd->[0]);
- $stream.="$wd->[1] " if defined($wd->[1]) and $wd->[1] != 0;
- }
-
- $stream.="] TJ\n";
- }
- }
- else
- {
- if (scalar(@lin) == 1 and (!defined($lin[0]->[1]) or $lin[0]->[1] == 0))
- {
- $stream.="0 Tw ($lin[0]->[0]) Tj\n";
- }
- else
- {
- if ($wt>=-1 or $#lin == 0 or $lin[0]->[1]>=0)
- {
- $stream.="0 Tw [";
-
- foreach my $wd (@lin)
- {
- $stream.="($wd->[0]) " if defined($wd->[0]);
- $stream.="$wd->[1] " if defined($wd->[1]) and $wd->[1] != 0;
- }
-
- $stream.="] TJ\n";
- }
- else
- {
- # $stream.="\%dg 0 Tw [";
- #
- # foreach my $wd (@lin)
- # {
- # $stream.="($wd->[0]) " if defined($wd->[0]);
- # $stream.="$wd->[1] " if defined($wd->[1]) and $wd->[1] != 0;
- # }
- #
- # $stream.="] TJ\n";
- #
- # my $wt=$lin[0]->[1]||0;
-
- # while ($wt < -$whtsz/$cftsz)
- # {
- # $wt+=$whtsz/$cftsz;
- # }
-
- $stream.=sprintf( "%.3f Tw ",-($whtsz+$wt*$cftsz)/$unitwidth );
- $stream.="[(";
-
- foreach my $wd (@lin)
- {
- my $wwt=$wd->[1]||0;
-
- while ($wwt <= $wt+.1)
- {
- $wwt-=$wt;
- $wd->[0].=' ';
- }
-
- if (abs($wwt) < .1 or $wwt == 0)
- {
- $stream.="$wd->[0]" if defined($wd->[0]);
- }
- else
- {
- $stream.="$wd->[0]) $wwt (" if defined($wd->[0]);
- }
- }
- $stream.=")] TJ\n";
- }
- }
- }
-
- @lin=();
- $xpos+=$pendmv/$unitwidth;
- $pendmv=0;
- $nomove=0;
- $wt=-1;
-}
-
-sub LoadAhead
-{
- my $no=shift;
-
- foreach my $j (1..$no)
- {
- my $lin=<>;
- chomp($lin);
- $lin=~s/\r$//;
- $lct++;
-
- push(@ahead,$lin);
- $stream.="%% $lin\n" if $debug;
- }
-}
-
-sub do_V
-{
- my $par=shift;
-
- if ($mode eq 't')
- {
- PutLine();
- }
- else
- {
- $xpos+=$pendmv/$unitwidth;
- $pendmv=0;
- }
-
- $ypos=$par/$unitwidth;
-
- LoadAhead(1);
-
- if (substr($ahead[0],0,1) eq 'H')
- {
- $xpos=substr($ahead[0],1)/$unitwidth;
-
- @ahead=();
-
- }
-
- $nomove=$pendmv=0;
- $poschg=1;
-}
-
-sub do_v
-{
- my $par=shift;
-
- PutLine();
-
- $ypos+=$par/$unitwidth;
-
- $poschg=1;
-}
-
-sub TextWid
-{
- my $txt=shift;
- my $w=0;
-
- foreach my $c (split('',$txt))
- {
- my $cn=ord($c);
- $widtbl->[$cn]=$origwidtbl->[$cn]*$cftsz if !defined($widtbl->[$cn]);
- $w+=$widtbl->[$cn];
- }
-
- return($w/$unitwidth);
-}
-
-sub do_t
-{
- my $par=shift;
- my $wid=TextWid($par);
-
- $par=reverse(split('',$par)) if $xrev;
- if ($n_flg and defined($mark))
- {
- $mark->{ypos}=$ypos;
- $mark->{xpos}=$xpos;
- }
-
- $n_flg=0;
- IsText();
-
- $xpos+=$wid;
- $xpos+=($pendmv-$nomove)/$unitwidth;
-
- $stream.="% == '$par'=$wid 'xpos=$xpos\n" if $debug;
- $par=~s/\\/\\\\/g;
- $par=~s/\)/\\)/g;
- $par=~s/\(/\\(/g;
-
- # $pendmv = 'h' move since last 't'
- # $nomove = width of char(s) added by 'C', 'N' or 'c'
- # $w-flg = 'w' seen since last t
-
- if ($fontchg)
- {
- PutLine();
- $whtsz=$fontlst{$cft}->{FNT}->{spacewidth}*$cftsz;
- $stream.="/F$cft $cftsz Tf\n", $fontchg=0 if $fontchg && defined($cft);
- }
-
- $gotT=1;
-
- $stream.="% --- wht=$whtsz, pend=$pendmv, nomv=$nomove\n" if $debug;
-
-# if ($w_flg && $#lin > -1)
-# {
-# $lin[$#lin]->[0].=' ';
-# $pendmv-=$whtsz;
-# $dontglue=1 if $pendmv==0;
-# }
-
- $wt=-$pendmv/$cftsz if $w_flg and $wt==-1;
- $pendmv-=$nomove;
- $nomove=0;
- $w_flg=0;
-
- if ($xrev)
- {
- PutLine(0) if $#lin > -1;
- MakeMatrix(1);
- $stream.="$matrix ".PutXY($xpos,$ypos)." Tm\n", $poschg=0;
- $stream.="0 Tw ";
- $stream.="($par) Tj\n";
- MakeMatrix();
- $stream.="$matrix ".PutXY($xpos,$ypos)." Tm\n", $poschg=0;
- $matrixchg=0;
- return;
- }
-
- if ($pendmv)
- {
- if ($#lin == -1)
- {
- push(@lin,[undef,-$pendmv/$cftsz]);
- }
- else
- {
- $lin[$#lin]->[1]=-$pendmv/$cftsz;
- }
-
- push(@lin,[$par,undef]);
-# $xpos+=$pendmv/$unitwidth;
- $pendmv=0
- }
- else
- {
- if ($#lin == -1)
- {
- push(@lin,[$par,undef]);
- }
- else
- {
- $lin[$#lin]->[0].=$par;
- }
- }
-}
-
-sub do_h
-{
- $pendmv+=shift;
-}
-
-sub do_H
-{
- my $par=shift;
-
- if ($mode eq 't')
- {
- PutLine();
- }
- else
- {
- $xpos+=$pendmv/$unitwidth;
- $pendmv=0;
- }
-
- my $newx=$par/$unitwidth;
- $stream.=sprintf("%.3f",$newx-$tmxpos)." 0 Td\n" if $mode eq 't';
- $tmxpos=$xpos=$newx;
- $pendmv=$nomove=0;
-}
-
-sub do_C
-{
- my $par=shift;
- my $nm;
-
- ($par,$nm)=FindChar($par);
-
- do_t($par);
- $nomove=$nm;
-}
-
-sub FindChar
-{
- my $chnm=shift;
-
- if (exists($fontlst{$cft}->{FNT}->{GNM}->{$chnm}))
- {
- my $ch=$fontlst{$cft}->{FNT}->{GNM}->{$chnm};
- return(chr($ch),$fontlst{$cft}->{FNT}->{WID}->[$ch]*$cftsz);
- }
- else
- {
- return(' ');
- }
-}
-
-sub do_c
-{
- my $par=shift;
-
- push(@ahead,substr($par,1));
- $par=substr($par,0,1);
- my $ch=ord($par);
- do_t($ch);
- $nomove=$fontlst{$cft}->{FNT}->{WID}->[$ch]*$cftsz;
-}
-
-sub do_N
-{
- my $par=shift;
-
- do_t(chr($par));
- $nomove=$fontlst{$cft}->{FNT}->{WID}->[$par]*$cftsz;
-}
-
-sub do_n
-{
- $gotT=0;
- PutLine();
- $pendmv=$nomove=0;
- $n_flg=1;
- @lin=();
- PutHotSpot($xpos) if defined($mark);
-}
diff --git a/src/devices/grops/Makefile.sub b/src/devices/grops/Makefile.sub
index 95ebd27a..e1595cb5 100644
--- a/src/devices/grops/Makefile.sub
+++ b/src/devices/grops/Makefile.sub
@@ -1,6 +1,6 @@
PROG=grops$(EXEEXT)
MAN1=grops.n
-XLIBS=$(LIBDRIVER) $(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBDRIVER) $(LIBGROFF)
MLIB=$(LIBM)
OBJS=\
ps.$(OBJEXT) \
diff --git a/src/devices/grops/grops.man b/src/devices/grops/grops.man
index 5c59ffb2..2d4ee4af 100644
--- a/src/devices/grops/grops.man
+++ b/src/devices/grops/grops.man
@@ -1,5 +1,6 @@
.ig
-Copyright (C) 1989-2006, 2008-2011
+Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008,
+ 2009, 2010
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -28,7 +29,6 @@ the original English.
.
.de FT
. if '\\*(.T'ps' .ft \\$1
-. if '\\*(.T'pdf' .ft \\$1
..
.
.
diff --git a/src/devices/grotty/tty.cpp b/src/devices/grotty/tty.cpp
index e25f934d..87654107 100644
--- a/src/devices/grotty/tty.cpp
+++ b/src/devices/grotty/tty.cpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009-2011
+/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+ 2010
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -311,8 +311,11 @@ void tty_printer::make_underline(int w)
if (!w)
warning("can't underline zero-width character");
else {
- putchar('_');
- putchar('\b');
+ int n = w / font::hor;
+ for (int i = 0; i < n; i++)
+ putchar('_');
+ for (int j = 0; j < n; j++)
+ putchar('\b');
}
}
else {
@@ -334,8 +337,10 @@ void tty_printer::make_bold(output_character c, int w)
if (!w)
warning("can't print zero-width character in bold");
else {
+ int n = w / font::hor;
put_char(c);
- putchar('\b');
+ for (int i = 0; i < n; i++)
+ putchar('\b');
}
}
else {
diff --git a/src/libs/libdriver/input.cpp b/src/libs/libdriver/input.cpp
index 42438ad6..3d837882 100644
--- a/src/libs/libdriver/input.cpp
+++ b/src/libs/libdriver/input.cpp
@@ -2,7 +2,8 @@
// <groff_src_dir>/src/libs/libdriver/input.cpp
-/* Copyright (C) 1989-1992, 2001-2006, 2008-2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2008, 2009, 2010
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -994,7 +995,7 @@ next_command(void)
inline bool
odd(const int n)
{
- return ((n & 1) == 1) ? true : false;
+ return (n & 1 == 1) ? true : false;
}
//////////////////////////////////////////////////////////////////////
diff --git a/src/preproc/eqn/main.cpp b/src/preproc/eqn/main.cpp
index 167fb4e2..e784c2c5 100644
--- a/src/preproc/eqn/main.cpp
+++ b/src/preproc/eqn/main.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-1992, 2000-2002, 2005, 2007, 2009, 2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2005, 2007,
+ 2009
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -111,14 +112,13 @@ void do_file(FILE *fp, const char *filename)
inline_flag = 0;
yyparse();
restore_compatibility();
- if (non_empty_flag) {
+ if (non_empty_flag)
if (output_format == mathml)
putchar('\n');
else {
printf(".lf %d\n", current_lineno - 1);
output_string();
}
- }
if (output_format == troff)
printf(".lf %d\n", current_lineno);
put_string(linebuf, stdout);
diff --git a/src/preproc/grn/Makefile.sub b/src/preproc/grn/Makefile.sub
index 0fa0bec6..c28db477 100644
--- a/src/preproc/grn/Makefile.sub
+++ b/src/preproc/grn/Makefile.sub
@@ -1,7 +1,7 @@
PROG=grn$(EXEEXT)
MAN1=grn.n
MLIB=$(LIBM)
-XLIBS=$(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBGROFF)
OBJS=\
hdb.$(OBJEXT) \
hpoint.$(OBJEXT) \
diff --git a/src/preproc/html/Makefile.sub b/src/preproc/html/Makefile.sub
index 2a8adea9..0763537a 100644
--- a/src/preproc/html/Makefile.sub
+++ b/src/preproc/html/Makefile.sub
@@ -1,7 +1,7 @@
PROG=pre-grohtml$(EXEEXT)
# MAN1=pre-grohtml.n
MAN1=
-XLIBS=$(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBGROFF)
MLIB=$(LIBM)
OBJS=pre-html.$(OBJEXT) pushback.$(OBJEXT)
CCSRCS=$(srcdir)/pre-html.cpp $(srcdir)/pushback.cpp
diff --git a/src/preproc/pic/pic.man b/src/preproc/pic/pic.man
index e845dd12..144f0a1b 100644
--- a/src/preproc/pic/pic.man
+++ b/src/preproc/pic/pic.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1989-2004, 2007, 2009, 2011
+Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2007, 2009
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -924,9 +924,7 @@ Objects can have an
.B aligned
attribute.
This will only work if the postprocessor is
-.BR grops ,
-or
-.BR gropdf .
+.BR grops .
Any text associated with an object having the
.B aligned
attribute will be rotated about the center of the object
@@ -1035,16 +1033,6 @@ Call
for a list of the available devices.
.
.LP
-An alternative may be to use the
-.B \-Tpdf
-option to convert your picture directly into
-.B PDF
-format.
-The MediaBox of the file produced can be controlled by passing a
-.B \-P-p
-papersize to groff.
-.
-.LP
As the Encapsulated PostScript File Format
.B EPS
is getting more and more important, and the conversion wasn't regarded
@@ -1090,18 +1078,11 @@ macros.
.BR ps2epsi (1),
.BR pnm (5)
.LP
-Eric S. Raymond,
-.I Making Pictures With GNU PIC.
-.br
-@DOCDIR@/pic.ps (this file, together with its source file, pic.ms, is part
-of the groff documentation)
-.LP
Tpic: Pic for \*(tx
.LP
Brian W. Kernighan,
-.I PIC \(em A Graphics Language for Typesetting (User Manual).
+PIC \(em A Graphics Language for Typesetting (User Manual).
AT&T Bell Laboratories, Computing Science Technical Report No.\ 116
-.br
<http://cm.bell-labs.com/cm/cs/cstr/116.ps.gz>
(revised May, 1991).
.LP
@@ -1110,13 +1091,11 @@ is available from CTAN mirrors, e.g.
.br
<ftp://ftp.dante.de/tex-archive/support/ps2eps/>
.LP
-W. Richard Stevens,
-.I Turning PIC Into HTML
+W. Richard Stevens - Turning PIC Into HTML
.br
<http://www.kohala.com/start/troff/pic2html.html>
.LP
-W. Richard Stevens,
-.I Examples of picMacros
+W. Richard Stevens - Examples of picMacros
.br
<http://www.kohala.com/start/troff/pic.examples.ps>
.
diff --git a/src/preproc/tbl/table.cpp b/src/preproc/tbl/table.cpp
index 64f5ab40..e1b8c3fb 100644
--- a/src/preproc/tbl/table.cpp
+++ b/src/preproc/tbl/table.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-1992, 2000, 2003, 2004, 2007-2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2003, 2004, 2007, 2008,
+ 2009, 2010
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -58,11 +59,6 @@ const int DEFAULT_COLUMN_SEPARATION = 3;
#define REPEATED_VPT_MACRO PREFIX "rvpt"
#define SUPPRESS_BOTTOM_REG PREFIX "supbot"
#define SAVED_DN_REG PREFIX "dn"
-#define ROW_START_LINE_REG PREFIX "lnst"
-#define ROW_SAVE_LINE_REG PREFIX "lnsv"
-#define ROW_MAX_LINE_REG PREFIX "lnmx"
-#define REPEATED_NM_SET_MACRO PREFIX "rlns"
-#define REPEATED_NM_SUS_MACRO PREFIX "rlnx"
// this must be one character
#define COMPATIBLE_REG PREFIX "c"
@@ -1784,31 +1780,6 @@ void table::init_output()
".de " REPEATED_VPT_MACRO "\n"
".vpt \\$1\n"
".if !'\\n(.z'' \\!." REPEATED_VPT_MACRO " \"\\$1\"\n"
- "..\n"
- ".de " REPEATED_NM_SET_MACRO "\n"
- ".ie !'\\n(.z'' \\{.nm\n"
- "\\!." REPEATED_NM_SET_MACRO " \"\\$1\"\n"
- ".\\}\n"
- ".el .if \\n[ln] \\{\\\n"
- ".if '\\$1'd' .nr " ROW_START_LINE_REG " \\n[ln]\n"
- ".if '\\$1's' .nm \\n[" ROW_START_LINE_REG "]\n"
- ".if '\\$1'm' .nr " ROW_MAX_LINE_REG " \\n[ln]>?\\n[" ROW_MAX_LINE_REG "]\n"
- ".\\}\n"
- "..\n"
- ".de " REPEATED_NM_SUS_MACRO "\n"
- ".ie !'\\n(.z'' \\{.nm\n"
- "\\!." REPEATED_NM_SUS_MACRO " \"\\$1\"\n"
- ".\\}\n"
- ".el .if \\n[ln] \\{\\\n"
- ".ie '\\$1's' \\{\\\n"
- ".nr " ROW_SAVE_LINE_REG " \\n(ln<?\\n[" ROW_MAX_LINE_REG "]\n"
- ".nm +0 \\n[ln]+42\n"
- ".\\}\n"
- ".el \\{\\\n"
- ".nr ln \\n[" ROW_SAVE_LINE_REG "]\n"
- ".nm \\n[ln] 1\n"
- ".\\}\n"
- ".\\}\n"
"..\n");
if (!(flags & NOKEEP))
prints(".de " KEEP_MACRO_NAME "\n"
@@ -1841,12 +1812,9 @@ void table::init_output()
page. */
".tm warning: page \\n%: table text block will not fit on one page\n"
".nf\n"
- ".if \\n[ln] .nm \\n[ln]\n"
- ".nr " ROW_MAX_LINE_REG " \\n[ln]\n"
".ls 1\n"
"." SECTION_DIVERSION_NAME "\n"
".ls\n"
- ".if \\n[ln] .nm\n"
".rm " SECTION_DIVERSION_NAME "\n"
".\\}\n"
"..\n"
@@ -1868,14 +1836,10 @@ void table::init_output()
".in 0\n"
".ls 1\n"
".nf\n"
- ".if \\n[ln] .nm \\n[ln]\n"
"." TABLE_DIVERSION_NAME "\n"
".\\}\n"
".rm " TABLE_DIVERSION_NAME "\n"
".\\}\n"
- ".if \\n[ln] \\{.nm\n"
- ".nr ln \\n[" ROW_MAX_LINE_REG "]\n"
- ".\\}\n"
"..\n");
prints(".ec\n"
".ce 0\n"
@@ -2304,7 +2268,6 @@ void table::print_single_hline(int r)
{
prints(".vs " LINE_SEP ">?\\n[.V]u\n"
".ls 1\n"
- "." REPEATED_NM_SUS_MACRO " s\n"
"\\v'" BODY_DEPTH "'"
"\\s[\\n[" LINESIZE_REG "]]");
if (r > nrows - 1)
@@ -2341,8 +2304,7 @@ void table::print_single_hline(int r)
}
}
prints("\\s0\n");
- prints("." REPEATED_NM_SUS_MACRO " r\n"
- ".ls\n"
+ prints(".ls\n"
".vs\n");
}
@@ -2351,7 +2313,6 @@ void table::print_double_hline(int r)
prints(".vs " LINE_SEP "+" DOUBLE_LINE_SEP
">?\\n[.V]u\n"
".ls 1\n"
- "." REPEATED_NM_SUS_MACRO " s\n"
"\\v'" BODY_DEPTH "'"
"\\s[\\n[" LINESIZE_REG "]]");
if (r > nrows - 1)
@@ -2410,7 +2371,6 @@ void table::print_double_hline(int r)
}
}
prints("\\s0\n"
- "." REPEATED_NM_SUS_MACRO " r\n"
".ls\n"
".vs\n");
}
@@ -2611,8 +2571,7 @@ void table::define_bottom_macro()
print_single_hline(0);
prints(".\\}\n");
}
- prints("." REPEATED_NM_SUS_MACRO " s\n"
- ".ls 1\n");
+ prints(".ls 1\n");
for (vertical_rule *p = vrule_list; p; p = p->next)
p->contribute_to_bottom_macro(this);
if (flags & DOUBLEBOX)
@@ -2629,8 +2588,7 @@ void table::define_bottom_macro()
".sp -1\n"
"\\v'" BODY_DEPTH "'\\h'|\\n[TW]u'\\s[\\n[" LINESIZE_REG "]]"
"\\D'l 0 |\\n[" TOP_REG "]u-1v'\\s0\n");
- prints("." REPEATED_NM_SUS_MACRO " r\n"
- ".ls\n");
+ prints(".ls\n");
prints(".nr " LAST_PASSED_ROW_REG " \\n[" CURRENT_ROW_REG "]\n"
".sp |\\n[" SAVED_VERTICAL_POS_REG "]u\n"
"." REPEATED_VPT_MACRO " 1\n"
@@ -2701,8 +2659,6 @@ void table::do_row(int r)
// we might have had a .TH, for example, since we last tried
if (!(flags & NOKEEP) && row_begins_section(r))
prints("." KEEP_MACRO_NAME "\n");
- prints("." REPEATED_NM_SET_MACRO " d\n"
- ".nr " ROW_MAX_LINE_REG " \\n[ln]\n");
printfs(".mk %1\n", row_start_reg(r));
prints(".mk " BOTTOM_REG "\n"
"." REPEATED_VPT_MACRO " 0\n");
@@ -2799,7 +2755,6 @@ void table::do_row(int r)
table_entry *e = entry[r][c];
if (e) {
if (e->end_row == r && e->to_simple_entry() == 0) {
- prints("." REPEATED_NM_SET_MACRO " s\n");
e->position_vertically();
e->print();
prints(".nr " BOTTOM_REG " \\n[" BOTTOM_REG "]>?\\n[.d]\n");
@@ -2808,8 +2763,7 @@ void table::do_row(int r)
c = e->end_col;
}
}
- prints("." REPEATED_NM_SET_MACRO " m\n"
- "." REPEATED_VPT_MACRO " 1\n"
+ prints("." REPEATED_VPT_MACRO " 1\n"
".sp |\\n[" BOTTOM_REG "]u\n"
"\\*[" TRANSPARENT_STRING_NAME "].nr " NEED_BOTTOM_RULE_REG " 1\n");
if (r != nrows - 1 && (flags & ALLBOX)) {
@@ -2837,7 +2791,6 @@ void table::do_row(int r)
if (!(flags & NOKEEP) && row_ends_section(r))
prints("." RELEASE_MACRO_NAME "\n");
}
- prints(".if \\n[ln] .nr ln \\n[" ROW_MAX_LINE_REG "]\n");
}
void table::do_top()
@@ -2846,8 +2799,7 @@ void table::do_top()
if (!(flags & NOKEEP) && (flags & (BOX | DOUBLEBOX | ALLBOX)))
prints("." TABLE_KEEP_MACRO_NAME "\n");
if (flags & DOUBLEBOX) {
- prints("." REPEATED_NM_SUS_MACRO " s\n"
- ".ls 1\n"
+ prints(".ls 1\n"
".vs " LINE_SEP ">?\\n[.V]u\n"
"\\v'" BODY_DEPTH "'\\s[\\n[" LINESIZE_REG "]]\\D'l \\n[TW]u 0'\\s0\n"
".vs\n"
@@ -2861,8 +2813,7 @@ void table::do_top()
"\n",
column_divide_reg(0),
column_divide_reg(ncolumns));
- prints("." REPEATED_NM_SUS_MACRO " r\n"
- ".ls\n"
+ prints(".ls\n"
".vs\n");
}
else if (flags & (ALLBOX | BOX)) {
@@ -2885,10 +2836,6 @@ void table::do_bottom()
".T#\n");
if (!(flags & NOKEEP) && (flags & (BOX | DOUBLEBOX | ALLBOX)))
prints("." TABLE_RELEASE_MACRO_NAME "\n");
- else
- prints(".if \\n[ln] \\{.nm\n"
- ".nr ln \\n[" ROW_MAX_LINE_REG "]\n"
- ".\\}\n");
if (flags & DOUBLEBOX)
prints(".sp " DOUBLE_LINE_SEP "\n");
prints("." RESET_MACRO_NAME "\n"
diff --git a/src/preproc/tbl/tbl.man b/src/preproc/tbl/tbl.man
index f50e783c..879143f2 100644
--- a/src/preproc/tbl/tbl.man
+++ b/src/preproc/tbl/tbl.man
@@ -1,6 +1,7 @@
'\" t
.ig
-Copyright (C) 1989-1995, 2001-2004, 2006-2011
+Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2006, 2007, 2008,
+ 2009, 2010
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -360,15 +361,11 @@ Not allowed for the first row.
.TP
.BR _ , -
Replace this entry with a horizontal line.
-Note that `_' and `-' can be used for table fields only,
-not for column separator lines.
.
.TP
.B =
.
Replace this entry with a double horizontal line.
-Note that `=' can be used for table fields only,
-not for column separator lines.
.
.TP
.B |
@@ -481,7 +478,7 @@ No effect if the corresponding table entry isn't a text block.
.
.TP
.BR w , W
-Minimum column width value.
+Minimal column width value.
Must be followed either by a
.BR @g@troff (@MAN1EXT@)
width expression in parentheses or a unitless integer.
@@ -818,48 +815,6 @@ this:
.EE
.
.
-.LP
-A leading and/or trailing `|' in a format line, such as
-.
-.IP
-.EX
-|l r|.
-.EE
-.
-.LP
-gives output which has a 1n\~space between the resulting
-bordering vertical rule and the content of the adjacent column,
-as in
-.
-.IP
-.EX
-\&.TS
-\&tab(#);
-\&|l r|.
-\&left column#right column
-\&.TE
-.EE
-.
-.LP
-If it is desired to have zero space (so that the rule touches
-the content), this can be achieved by introducing extra \[lq]dummy\[rq]
-columns, with no content and zero separation, before and/or after,
-as in
-.
-.IP
-.EX
-\&.TS
-\&tab(#);
-\&r0|l r0|l.
-\&#left column#right column#
-\&.TE
-.EE
-.
-.LP
-The resulting \[lq]dummy\[rq] columns are invisible and have zero width;
-note that such columns usually don't work with TTY devices.
-.
-.
.SH REFERENCE
Lesk, M.E.: "TBL \[en] A Program to Format Tables".
For copyright reasons it cannot be included in the groff distribution,
diff --git a/src/roff/groff/Makefile.sub b/src/roff/groff/Makefile.sub
index c0ea081b..798f2d8a 100644
--- a/src/roff/groff/Makefile.sub
+++ b/src/roff/groff/Makefile.sub
@@ -1,6 +1,6 @@
PROG=groff$(EXEEXT)
MAN1=groff.n
-XLIBS=$(LIBGROFF) $(LIBGNU)
+XLIBS=$(LIBGROFF)
MLIB=$(LIBM)
OBJS=groff.$(OBJEXT) pipeline.$(OBJEXT)
CCSRCS=$(srcdir)/groff.cpp
diff --git a/src/roff/groff/groff.cpp b/src/roff/groff/groff.cpp
index 8eef10e6..7921d1de 100644
--- a/src/roff/groff/groff.cpp
+++ b/src/roff/groff/groff.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-2011
+/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+ 2008, 2009, 2010
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -50,15 +51,11 @@ extern "C" {
#endif /* NEED_DECLARATION_PUTENV */
// The number of commands must be in sync with MAX_COMMANDS in pipeline.h
-
-// grap and chem must come before pic;
-// tbl must come before eqn
const int PRECONV_INDEX = 0;
const int SOELIM_INDEX = PRECONV_INDEX + 1;
const int REFER_INDEX = SOELIM_INDEX + 1;
const int GRAP_INDEX = REFER_INDEX + 1;
-const int CHEM_INDEX = GRAP_INDEX + 1;
-const int PIC_INDEX = CHEM_INDEX + 1;
+const int PIC_INDEX = GRAP_INDEX + 1;
const int TBL_INDEX = PIC_INDEX + 1;
const int GRN_INDEX = TBL_INDEX + 1;
const int EQN_INDEX = GRN_INDEX + 1;
@@ -125,7 +122,6 @@ int main(int argc, char **argv)
int safer_flag = 1;
int is_xhtml = 0;
int eflag = 0;
- int need_pic = 0;
int opt;
const char *command_prefix = getenv("GROFF_COMMAND_PREFIX");
const char *encoding = getenv("GROFF_ENCODING");
@@ -139,7 +135,7 @@ int main(int argc, char **argv)
};
while ((opt = getopt_long(
argc, argv,
- "abcCd:D:eEf:F:gGhiI:jkK:lL:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ",
+ "abcCd:D:eEf:F:gGhiI:lkK:L:m:M:n:No:pP:r:RsStT:UvVw:W:XzZ",
long_options, NULL))
!= EOF) {
char buf[3];
@@ -174,10 +170,6 @@ int main(int argc, char **argv)
case 't':
commands[TBL_INDEX].set_name(command_prefix, "tbl");
break;
- case 'j':
- commands[CHEM_INDEX].set_name(command_prefix, "chem");
- need_pic = 1;
- break;
case 'p':
commands[PIC_INDEX].set_name(command_prefix, "pic");
break;
@@ -186,7 +178,6 @@ int main(int argc, char **argv)
break;
case 'G':
commands[GRAP_INDEX].set_name(command_prefix, "grap");
- need_pic = 1;
break;
case 'e':
eflag = 1;
@@ -215,7 +206,7 @@ int main(int argc, char **argv)
vflag = 1;
printf("GNU groff version %s\n", Version_string);
printf(
- "Copyright (C) 2011 Free Software Foundation, Inc.\n"
+ "Copyright (C) 2009 Free Software Foundation, Inc.\n"
"GNU groff comes with ABSOLUTELY NO WARRANTY.\n"
"You may redistribute copies of groff and its subprograms\n"
"under the terms of the GNU General Public License.\n"
@@ -268,6 +259,7 @@ int main(int argc, char **argv)
if (strcmp(optarg, "html") == 0)
// force soelim to aid the html preprocessor
commands[SOELIM_INDEX].set_name(command_prefix, "soelim");
+
if (strcmp(optarg, "Xps") == 0) {
warning("-TXps option is obsolete: use -X -Tps instead");
device = "ps";
@@ -321,8 +313,6 @@ int main(int argc, char **argv)
break;
}
}
- if (need_pic)
- commands[PIC_INDEX].set_name(command_prefix, "pic");
if (encoding) {
commands[PRECONV_INDEX].set_name("preconv");
if (!Kflag && *encoding)
@@ -755,7 +745,7 @@ char **possible_command::get_argv()
void synopsis(FILE *stream)
{
fprintf(stream,
-"usage: %s [-abceghijklpstvzCENRSUVXZ] [-Fdir] [-mname] [-Tdev] [-ffam]\n"
+"usage: %s [-abceghiklpstvzCENRSUVXZ] [-Fdir] [-mname] [-Tdev] [-ffam]\n"
" [-wname] [-Wname] [-Mdir] [-dcs] [-rcn] [-nnum] [-olist] [-Parg]\n"
" [-Darg] [-Karg] [-Larg] [-Idir] [files...]\n",
program_name);
@@ -772,7 +762,6 @@ void help()
"-e\tpreprocess with eqn\n"
"-g\tpreprocess with grn\n"
"-G\tpreprocess with grap\n"
-"-j\tpreprocess with chem\n"
"-s\tpreprocess with soelim\n"
"-R\tpreprocess with refer\n"
"-Tdev\tuse device dev\n"
diff --git a/src/roff/groff/groff.man b/src/roff/groff/groff.man
index 50c2bf6a..38ebbb0b 100644
--- a/src/roff/groff/groff.man
+++ b/src/roff/groff/groff.man
@@ -1,7 +1,7 @@
.ig
groff.man
-Copyright (C) 1989, 2002-2009, 2011
+Copyright (C) 1989, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
Rewritten in 2002 by Bernd Warken <bwarken@mayn.de>
@@ -44,7 +44,7 @@ groff \- front-end for the groff document formatting system
.\" --------------------------------------------------------------------
.
.SY groff
-.OP \-abcegijklpstzCEGNRSUVXZ
+.OP \-abcegiklpstzCEGNRSUVXZ
.OP \-d cs
.OP \-D arg
.OP \-f fam
@@ -187,9 +187,6 @@ Preprocess with
Preprocess with
.BR grap .
.
-Implies
-.BR \-p .
-.
.
.TP
.B \-h
@@ -220,15 +217,6 @@ option.
.
.
.TP
-.B \-j
-Preprocess with
-.BR @g@chem .
-.
-Implies
-.BR \-p .
-.
-.
-.TP
.B \-k
Preprocess with
.BR preconv .
@@ -456,11 +444,6 @@ is
ps
PostScript output (postprocessor is
.BR grops ).
-.
-.TP
-pdf
-Portable Document Format (PDF) output (postprocessor is
-.BR gropdf ).
.RE
.RE
.
@@ -1111,13 +1094,6 @@ PostScript output; suitable for printers and previewers like
.BR gv (1).
.
.TP
-.B pdf
-PDF files; suitable for viewing with tools such as
-.BR evince (1)
-and
-.BR okular (1).
-.
-.TP
.B utf8
Text output using the Unicode (ISO 10646) character set with \%UTF-8
encoding; see
@@ -1207,10 +1183,6 @@ for HTML and XHTML formats,
.BR grops (@MAN1EXT@)
for PostScript.
.
-.TP
-.BR gropdf (@MAN1EXT@)
-for PDF.
-.
.P
Combined with the many existing free conversion tools this should
be sufficient to convert a
@@ -1741,7 +1713,7 @@ This is the only grap version supported by
.SH AUTHORS
.\" --------------------------------------------------------------------
.
-Copyright \(co 2011
+Copyright \(co 1989, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
.
.P
@@ -1861,7 +1833,6 @@ Postprocessors for the output devices:
.BR \%grolj4 (@MAN1EXT@),
.BR \%lj4_font (@MAN5EXT@),
.BR \%grops (@MAN1EXT@),
-.BR \%gropdf (@MAN1EXT@),
.BR \%grotty (@MAN1EXT@).
.
.TP
diff --git a/src/roff/groff/pipeline.h b/src/roff/groff/pipeline.h
index 2795b53d..20e775ac 100644
--- a/src/roff/groff/pipeline.h
+++ b/src/roff/groff/pipeline.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1989-1992, 2000, 2002, 2005, 2009, 2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2002, 2005, 2009
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -24,7 +24,7 @@ extern "C" {
#endif
/* run_pipeline can handle at most this many commands */
-#define MAX_COMMANDS 14
+#define MAX_COMMANDS 13
/* Children exit with this status if execvp fails. */
#define EXEC_FAILED_EXIT_STATUS 0xff
diff --git a/src/roff/grog/grog.man b/src/roff/grog/grog.man
index 49d00f2a..0cbd4c42 100644
--- a/src/roff/grog/grog.man
+++ b/src/roff/grog/grog.man
@@ -10,10 +10,10 @@ grog.1 - man page for grog (section 1)
Source file position: <groff_source_top>/src/roff/grog/grog.man
Installed position: $prefix/share/man/man1/grog.1
-Last Update: 22 Jan 2011
+Last Update: 2 Jun 2010
..
.de co
-Copyright (C) 1989-2003, 2006, 2007, 2009-2011
+Copyright (C) 1989-2000, 2001, 2002, 2003, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
.
Written by James Clark.
@@ -466,6 +466,50 @@ was found by
this file does not use a macro package.
.
.
+.IP \(bu
+.B grog
+can also handle files using the
+.I chem
+language.
+.
+The example
+.
+.RS
+.IP
+.EX
+grog chAh_brackets.chem
+.EE
+.RE
+.
+.IP
+outputs
+.
+.RS
+.IP
+.EX
+chem chAh_brackets.chem | groff \-pe
+.EE
+.RE
+.
+.IP
+So
+.B chem
+is run first and
+.B groff
+is appended.
+.
+The option
+.B \-p
+for
+.B pic
+is implied automatically by
+.BR chem .
+Additionally, the file uses
+.I eqn
+with
+.BR \-e .
+.
+.
.\" --------------------------------------------------------------------
.SH "SEE ALSO"
.
@@ -473,7 +517,6 @@ this file does not use a macro package.
.BR @g@troff (@MAN1EXT@),
.BR @g@tbl (@MAN1EXT@),
.BR @g@pic (@MAN1EXT@),
-.BR @g@chem (@MAN1EXT@),
.BR @g@eqn (@MAN1EXT@),
.BR @g@refer (@MAN1EXT@),
.BR @g@grn (@MAN1EXT@),
diff --git a/src/roff/grog/grog.pl b/src/roff/grog/grog.pl
index ff830153..24a4090f 100644
--- a/src/roff/grog/grog.pl
+++ b/src/roff/grog/grog.pl
@@ -6,7 +6,7 @@
# Source file position: <groff-source>/src/roff/grog/grog.pl
# Installed position: <prefix>/bin/grog
-# Copyright (C) 1993, 2006, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1993, 2006, 2009 Free Software Foundation, Inc.
# Written by James Clark, maintained by Werner Lemberg.
# Rewritten and put under GPL by Bernd Warken.
@@ -26,7 +26,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
########################################################################
-my $Last_Update = '22 Jan 2011';
+my $Last_Update = '5 Jan 2009';
########################################################################
require v5.6;
@@ -128,7 +128,7 @@ sub process {
if (/^(.cstart)|(begin\s+chem)$/) {
$Groff{'chem'}++;
- $Groff{'soelim'}++ if $level;
+ $Groff{'pic'}++;
} elsif (/^\.TS$Sp/) {
$_ = <FILE>;
if (!/^\./) {
@@ -151,6 +151,7 @@ sub process {
$_ = <FILE>;
if (!/^\./) {
$Groff{'grap'}++;
+ $Groff{'pic'}++;
$Groff{'soelim'}++ if $level;
}
# } elsif (/^\.PS\Sp([ 0-9.<].*)?$/) {
@@ -285,13 +286,12 @@ sub version {
$Groff{'refer'} ||= $Groff{'refer_open'} && $Groff{'refer_close'};
if ( $Groff{'pic'} || $Groff{'tbl'} || $Groff{'eqn'} ||
- $Groff{'grn'} || $Groff{'grap'} || $Groff{'refer'} ||
- $Groff{'chem'} ) {
+ $Groff{'grn'} || $Groff{'grap'} || $Groff{'refer'} ) {
my $s = "-";
$s .= "s" if $Groff{'soelim'};
$s .= "R" if $Groff{'refer'};
+ # grap must be run before pic
$s .= "G" if $Groff{'grap'};
- $s .= "j" if $Groff{'chem'};
$s .= "p" if $Groff{'pic'};
$s .= "g" if $Groff{'grn'};
$s .= "t" if $Groff{'tbl'};
@@ -331,8 +331,13 @@ sub version {
push(@Command, $s);
}
- unshift @Command, 'groff';
- push(@Command, @ARGV);
+ if ($Groff{'chem'}) {
+ my @chem = ('chem', @ARGV, '|', 'groff');
+ unshift(@Command, @chem);
+ } else {
+ unshift @Command, 'groff';
+ push(@Command, @ARGV);
+ }
foreach (@Command) {
next unless /\s/;
diff --git a/src/roff/grog/grog.sh b/src/roff/grog/grog.sh
index d4763b54..8f17078d 100644
--- a/src/roff/grog/grog.sh
+++ b/src/roff/grog/grog.sh
@@ -5,7 +5,7 @@
# Source file position: <groff-source>/src/roff/grog/grog.sh
# Installed position: <prefix>/bin/grog
-# Copyright (C) 1993, 2006, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1993, 2006, 2009 Free Software Foundation, Inc.
# Written by James Clark, maintained by Werner Lemberg.
# Rewritten by and put under GPL Bernd Warken.
@@ -25,7 +25,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
########################################################################
-Last_Update='22 Jan 2011'
+Last_Update='5 Jan 2009'
########################################################################
soelim=@g@soelim
@@ -161,16 +161,16 @@ eval sed "'s/[ ]*$//'" '--' "${filespec}" \
| awk '
/^\.SO_START$/ { so = 1 }
/^\.SO_END$/ { so = 0 }
-/^\.cstart$/ { chem++; if (so > 0) soelim++ }
+/^\.cstart$/ { chem++ }
/^\.TS/ { tbl++; in_tbl = 1; if (so > 0) soelim++; }
/^\.TE/ { in_tbl = 0 }
/^\.PS([ 0-9.<].*)?$/ { pic++; if (so > 0) soelim++ }
/^\.EQ/ { eqn++; if (so > 0) soelim++ }
/^\.R1/ { refer++; if (so > 0) soelim++ }
-/^\.\[/ { refer_start++; if (so > 0) soelim++ }
-/^\.\]/ { refer_end++; if (so > 0) soelim++ }
+/^\.\[/ {refer_start++; if (so > 0) soelim++ }
+/^\.\]/ {refer_end++; if (so > 0) soelim++ }
/^\.GS/ { grn++; if (so > 0) soelim++ }
-/^\.G1/ { grap++; if (so > 0) soelim++ }
+/^\.G1/ { grap++; pic++; if (so > 0) soelim++ }
/^\.TH/ { if (in_tbl != 1) TH++ }
/^\.PP/ { PP++ }
/^\.TL/ { TL++ }
@@ -202,15 +202,18 @@ eval sed "'s/[ ]*$//'" '--' "${filespec}" \
/^\.(PRINTSTYLE|START)/ { mom++ }
END {
+ if (chem > 0) {
+ printf "chem %s | ", files
+ pic++
+ files = ""
+ }
printf "groff"
refer = refer || (refer_start && refer_end)
- if (pic > 0 || tbl > 0 || grn > 0 || grap > 0 ||
- eqn > 0 || refer > 0 || chem > 0) {
+ if (pic > 0 || tbl > 0 || grn > 0 || grap > 0 || eqn > 0 || refer > 0) {
printf " -"
if (soelim > 0) printf "s"
if (refer > 0) printf "R"
if (grn > 0) printf "g"
- if (chem > 0) printf "j"
if (grap > 0) printf "G"
if (pic > 0) printf "p"
if (tbl > 0) printf "t"
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index 6d722f5c..13672cc5 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-1992, 2000-2006, 2009, 2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2009
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -3210,7 +3211,7 @@ const char *sptoa(int sp)
double factor = 10.0;
double val = s;
int decimal_point = 0;
- do {
+ do {
double v = ceil(s*factor);
if (v > INT_MAX)
break;
@@ -3313,8 +3314,8 @@ void environment::print_env()
? "on"
: margin_character_flags == MARGIN_CHARACTER_NEXT
? "next"
- : margin_character_flags == (MARGIN_CHARACTER_ON
- | MARGIN_CHARACTER_NEXT)
+ : margin_character_flags == MARGIN_CHARACTER_ON
+ | MARGIN_CHARACTER_NEXT
? "on, next"
: "none");
errprint(" margin character distance: %1u\n",
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index b71f27e0..7a0f46ce 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -1,5 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-1992, 2000-2011
+/* Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004, 2005,
+ 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -155,9 +156,6 @@ static symbol get_delim_name();
static void init_registers();
static void trapping_blank_line();
-// this is for gcc 2.95 with old versions of libstdc++
-#define input_iterator my_input_iterator
-
class input_iterator;
input_iterator *make_temp_iterator(const char *);
const char *input_char_description(int);
@@ -2358,10 +2356,6 @@ int token::delimiter(int err)
return 1;
}
case TOKEN_NODE:
- // the user doesn't know what a node is
- if (err)
- error("missing argument or invalid starting delimiter");
- return 0;
case TOKEN_SPACE:
case TOKEN_STRETCHABLE_SPACE:
case TOKEN_UNSTRETCHABLE_SPACE:
diff --git a/src/roff/troff/mtsm.cpp b/src/roff/troff/mtsm.cpp
index f13a6be1..79e2f78f 100644
--- a/src/roff/troff/mtsm.cpp
+++ b/src/roff/troff/mtsm.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 2003, 2004, 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2009 Free Software Foundation, Inc.
Written by Gaius Mulley (gaius@glam.ac.uk)
This file is part of groff.
@@ -479,24 +479,21 @@ void mtsm::flush(FILE *fp, statem *s, string tag_list)
void statem::display_state()
{
fprintf(stderr, " <state ");
- if (bool_values[MTSM_BR].is_known) {
+ if (bool_values[MTSM_BR].is_known)
if (bool_values[MTSM_BR].value)
fprintf(stderr, "[br]");
else
fprintf(stderr, "[!br]");
- }
- if (bool_values[MTSM_EOL].is_known) {
+ if (bool_values[MTSM_EOL].is_known)
if (bool_values[MTSM_EOL].value)
fprintf(stderr, "[eol]");
else
fprintf(stderr, "[!eol]");
- }
- if (int_values[MTSM_SP].is_known) {
+ if (int_values[MTSM_SP].is_known)
if (int_values[MTSM_SP].value)
fprintf(stderr, "[sp %d]", int_values[MTSM_SP].value);
else
fprintf(stderr, "[!sp]");
- }
fprintf(stderr, ">");
fflush(stderr);
}
@@ -613,12 +610,12 @@ int state_set::is_in(int_value_state i)
int state_set::is_in(units_value_state u)
{
- return (unitsset & (1 << (int)u)) != 0;
+ return (unitsset & (1 << (int)u) != 0);
}
int state_set::is_in(string_value_state s)
{
- return (stringset & (1 << (int)s)) != 0;
+ return (stringset & (1 << (int)s) != 0);
}
void state_set::add(units_value_state, int n)
diff --git a/src/utils/afmtodit/afmtodit.man b/src/utils/afmtodit/afmtodit.man
index 82d6f5d3..47017e19 100644
--- a/src/utils/afmtodit/afmtodit.man
+++ b/src/utils/afmtodit/afmtodit.man
@@ -1,5 +1,6 @@
.ig
-Copyright (C) 1989-2003, 2005, 2006, 2008-2011
+Copyright (C) 1989-2000, 2001, 2002, 2003, 2005, 2006, 2008, 2009,
+ 2010
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -36,7 +37,7 @@ the original English.
.
.
.SH NAME
-afmtodit \- create font files for use with groff \-Tps and \-Tpdf
+afmtodit \- create font files for use with groff \-Tps
.
.
.SH SYNOPSIS
@@ -64,10 +65,8 @@ The whitespace between a command line option and its argument is optional.
.
.SH DESCRIPTION
.B afmtodit
-creates a font file for use with groff,
-.BR grops ,
-and
-.BR gropdf .
+creates a font file for use with groff and
+.BR grops .
.
.B afmtodit
is written in perl;
diff --git a/src/utils/pfbtops/pfbtops.man b/src/utils/pfbtops/pfbtops.man
index eae6a461..027732c5 100644
--- a/src/utils/pfbtops/pfbtops.man
+++ b/src/utils/pfbtops/pfbtops.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1989-1995, 2001, 2003, 2004, 2009, 2011
+Copyright (C) 1989-1995, 2001, 2003, 2004, 2009
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -53,9 +53,7 @@ format.
.LP
The resulting ASCII format PostScript font can be used with groff.
It must first be listed in
-.B @FONTDIR@/devps/download
-and
-.BR @FONTDIR@/devpdf/download .
+.BR @FONTDIR@/devps/download .
.
.SH OPTIONS
.TP
@@ -64,8 +62,7 @@ Print the version number.
.
.
.SH "SEE ALSO"
-.BR grops (@MAN1EXT@),
-.BR gropdf (@MAN1EXT@)
+.BR grops (@MAN1EXT@)
.
.\" Local Variables:
.\" mode: nroff
diff --git a/src/utils/tfmtodit/tfmtodit.cpp b/src/utils/tfmtodit/tfmtodit.cpp
index 5f5c1d96..73e5c750 100644
--- a/src/utils/tfmtodit/tfmtodit.cpp
+++ b/src/utils/tfmtodit/tfmtodit.cpp
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 1989-1992, 2000, 2001, 2004, 2009, 2011
+/* Copyright (C) 1989-1992, 2000, 2001, 2004, 2009
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -66,10 +66,10 @@ extern "C" const char *Version_string;
struct char_info_word {
unsigned char width_index;
- unsigned char height_index;
- unsigned char depth_index;
- unsigned char italic_index;
- unsigned char tag;
+ char height_index;
+ char depth_index;
+ char italic_index;
+ char tag;
unsigned char remainder;
};
diff --git a/test-groff.in b/test-groff.in
index b58d8be9..51e4010d 100644
--- a/test-groff.in
+++ b/test-groff.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (C) 1989-2000, 2001-2005, 2009, 2011
+# Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2009
# Free Software Foundation, Inc.
#
# This file is part of groff.
@@ -41,7 +41,6 @@ $builddir/devices/grotty$SEP\
$builddir/devices/grolj4$SEP\
$builddir/devices/grolbp$SEP\
$builddir/devices/grohtml$SEP\
-$builddir/devices/gropdf$SEP\
$builddir/devices/xditview
XENVIRONMENT=$srcdir/src/devices/xditview/GXditview.ad
diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
index 3179ba00..10c4cddc 100644
--- a/tmac/Makefile.sub
+++ b/tmac/Makefile.sub
@@ -1,4 +1,5 @@
-# Copyright (C) 1989-2007, 2009-2011
+# Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
+# 2010
# Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
@@ -37,7 +38,6 @@ NORMALFILES=\
safer.tmac \
trace.tmac \
ps.tmac psold.tmac pspic.tmac psatk.tmac \
- pdf.tmac \
dvi.tmac \
tty.tmac tty-char.tmac \
latin1.tmac latin2.tmac latin5.tmac latin9.tmac cp1047.tmac \
@@ -50,7 +50,6 @@ NORMALFILES=\
europs.tmac \
composite.tmac \
eqnrc \
- refer.tmac refer-me.tmac refer-ms.tmac \
troffrc troffrc-end \
trans.tmac \
hyphen.us hyphenex.us \
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index 0b2ba18f..a256fd36 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -1,6 +1,7 @@
.\" an-old.tmac
.\"
-.\" Copyright (C) 1989-1992, 2001-2005, 2007-2009, 2011
+.\" Copyright (C) 1989, 1990, 1991, 1992, 2001, 2002, 2003, 2004, 2005,
+.\" 2007, 2008, 2009
.\" Free Software Foundation, Inc.
.\" Written by James Clark (jjc@jclark.com)
.\"
@@ -144,17 +145,7 @@
. ie (\\n[.$] > 3) .ds an-extra2 "\\$4\"
. el .ds an-extra2 \"Sun Release 4.0
. ie (\\n[.$] > 4) .ds an-extra3 "\\$5\"
-. el .ie '\\$2'1' .ds an-extra3 General Commands Manual
-. el .ie '\\$2'2' .ds an-extra3 System Calls Manual
-. el .ie '\\$2'3' .ds an-extra3 Library Functions Manual
-. el .ie '\\$2'3p' .ds an-extra3 Perl Programmers Reference Guide
-. el .ie '\\$2'4' .ds an-extra3 Kernel Interfaces Manual
-. el .ie '\\$2'5' .ds an-extra3 File Formats Manual
-. el .ie '\\$2'6' .ds an-extra3 Games Manual
-. el .ie '\\$2'7' .ds an-extra3 Miscellaneous Information Manual
-. el .ie '\\$2'8' .ds an-extra3 System Manager's Manual
-. el .ie '\\$2'9' .ds an-extra3 Kernel Developer's Manual
-. el .ds an-extra3
+. el .ds an-extra3 \"System Programmer's Manual
. ds an-init
\\..
.
diff --git a/tmac/doc-common b/tmac/doc-common
index 6372a239..26dcc562 100644
--- a/tmac/doc-common
+++ b/tmac/doc-common
@@ -264,72 +264,50 @@
.ds doc-volume-as-algor algor
.ds doc-volume-as-amd64 amd64
.ds doc-volume-as-amiga amiga
-.ds doc-volume-as-amigappc amigappc
.ds doc-volume-as-arc arc
-.ds doc-volume-as-arm arm
.ds doc-volume-as-arm26 arm26
.ds doc-volume-as-arm32 arm32
-.ds doc-volume-as-armish armish
.ds doc-volume-as-atari atari
-.ds doc-volume-as-aviion aviion
-.ds doc-volume-as-beagle beagle
.ds doc-volume-as-bebox bebox
.ds doc-volume-as-cats cats
.ds doc-volume-as-cesfic cesfic
.ds doc-volume-as-cobalt cobalt
.ds doc-volume-as-dreamcast dreamcast
-.ds doc-volume-as-emips emips
.ds doc-volume-as-evbarm evbarm
.ds doc-volume-as-evbmips evbmips
.ds doc-volume-as-evbppc evbppc
.ds doc-volume-as-evbsh3 evbsh3
-.ds doc-volume-as-ews4800mips ews4800mips
.ds doc-volume-as-hp300 hp300
.ds doc-volume-as-hp700 hp700
.ds doc-volume-as-hpcarm hpcarm
.ds doc-volume-as-hpcmips hpcmips
.ds doc-volume-as-hpcsh hpcsh
-.ds doc-volume-as-hppa hppa
-.ds doc-volume-as-hppa64 hppa64
.ds doc-volume-as-i386 i386
-.ds doc-volume-as-ia64 ia64
-.ds doc-volume-as-ibmnws ibmnws
-.ds doc-volume-as-iyonix iyonix
-.ds doc-volume-as-landisk landisk
-.ds doc-volume-as-loongson loongson
.ds doc-volume-as-luna68k luna68k
-.ds doc-volume-as-luna88k luna88k
.ds doc-volume-as-m68k m68k
.ds doc-volume-as-mac68k mac68k
.ds doc-volume-as-macppc macppc
.ds doc-volume-as-mips mips
-.ds doc-volume-as-mips64 mips64
.ds doc-volume-as-mipsco mipsco
.ds doc-volume-as-mmeye mmeye
.ds doc-volume-as-mvme68k mvme68k
-.ds doc-volume-as-mvme88k mvme88k
.ds doc-volume-as-mvmeppc mvmeppc
.ds doc-volume-as-netwinder netwinder
.ds doc-volume-as-news68k news68k
.ds doc-volume-as-newsmips newsmips
.ds doc-volume-as-next68k next68k
.ds doc-volume-as-ofppc ofppc
-.ds doc-volume-as-palm palm
.ds doc-volume-as-pc532 pc532
.ds doc-volume-as-playstation2 playstation2
.ds doc-volume-as-pmax pmax
.ds doc-volume-as-pmppc pmppc
.ds doc-volume-as-powerpc powerpc
.ds doc-volume-as-prep prep
-.ds doc-volume-as-rs6000 rs6000
.ds doc-volume-as-sandpoint sandpoint
.ds doc-volume-as-sbmips sbmips
-.ds doc-volume-as-sgi sgi
.ds doc-volume-as-sgimips sgimips
.ds doc-volume-as-sh3 sh3
.ds doc-volume-as-shark shark
-.ds doc-volume-as-socppc socppc
-.ds doc-volume-as-solbourne solbourne
.ds doc-volume-as-sparc sparc
.ds doc-volume-as-sparc64 sparc64
.ds doc-volume-as-sun2 sun2
@@ -338,8 +316,6 @@
.ds doc-volume-as-vax vax
.ds doc-volume-as-x68k x68k
.ds doc-volume-as-x86_64 x86_64
-.ds doc-volume-as-xen xen
-.ds doc-volume-as-zaurus zaurus
.
.de Dt
. \" reset default arguments
@@ -475,16 +451,12 @@
.ds doc-operating-system-NetBSD-3.0 3.0
.ds doc-operating-system-NetBSD-3.0.1 3.0.1
.ds doc-operating-system-NetBSD-3.0.2 3.0.2
-.ds doc-operating-system-NetBSD-3.0.3 3.0.3
.ds doc-operating-system-NetBSD-3.1 3.1
-.ds doc-operating-system-NetBSD-3.1.1 3.1.1
.ds doc-operating-system-NetBSD-4.0 4.0
.ds doc-operating-system-NetBSD-4.0.1 4.0.1
.ds doc-operating-system-NetBSD-5.0 5.0
.ds doc-operating-system-NetBSD-5.0.1 5.0.1
.ds doc-operating-system-NetBSD-5.0.2 5.0.2
-.ds doc-operating-system-NetBSD-5.1 5.1
-.ds doc-operating-system-NetBSD-6.0 6.0
.
.ds doc-operating-system-OpenBSD-2.0 2.0
.ds doc-operating-system-OpenBSD-2.1 2.1
@@ -515,8 +487,6 @@
.ds doc-operating-system-OpenBSD-4.6 4.6
.ds doc-operating-system-OpenBSD-4.7 4.7
.ds doc-operating-system-OpenBSD-4.8 4.8
-.ds doc-operating-system-OpenBSD-4.9 4.9
-.ds doc-operating-system-OpenBSD-5.0 5.0
.
.ds doc-operating-system-FreeBSD-1.0 1.0
.ds doc-operating-system-FreeBSD-1.1 1.1
@@ -573,8 +543,6 @@
.ds doc-operating-system-FreeBSD-7.3 7.3
.ds doc-operating-system-FreeBSD-8.0 8.0
.ds doc-operating-system-FreeBSD-8.1 8.1
-.ds doc-operating-system-FreeBSD-8.2 8.2
-.ds doc-operating-system-FreeBSD-9.0 9.0
.
.ds doc-operating-system-Darwin-8.0.0 8.0.0
.ds doc-operating-system-Darwin-8.1.0 8.1.0
@@ -595,16 +563,6 @@
.ds doc-operating-system-Darwin-9.4.0 9.4.0
.ds doc-operating-system-Darwin-9.5.0 9.5.0
.ds doc-operating-system-Darwin-9.6.0 9.6.0
-.ds doc-operating-system-Darwin-9.7.0 9.7.0
-.ds doc-operating-system-Darwin-9.8.0 9.8.0
-.ds doc-operating-system-Darwin-10.1.0 10.1.0
-.ds doc-operating-system-Darwin-10.2.0 10.2.0
-.ds doc-operating-system-Darwin-10.3.0 10.3.0
-.ds doc-operating-system-Darwin-10.4.0 10.4.0
-.ds doc-operating-system-Darwin-10.5.0 10.5.0
-.ds doc-operating-system-Darwin-10.6.0 10.6.0
-.ds doc-operating-system-Darwin-10.7.0 10.7.0
-.ds doc-operating-system-Darwin-11.0.0 11.0.0
.
.ds doc-operating-system-DragonFly-1.0 1.0
.ds doc-operating-system-DragonFly-1.1 1.1
@@ -623,11 +581,6 @@
.ds doc-operating-system-DragonFly-2.4 2.4
.ds doc-operating-system-DragonFly-2.6 2.6
.ds doc-operating-system-DragonFly-2.8 2.8
-.ds doc-operating-system-DragonFly-2.9 2.9
-.ds doc-operating-system-DragonFly-2.9.1 2.9.1
-.ds doc-operating-system-DragonFly-2.10 2.10
-.ds doc-operating-system-DragonFly-2.10.1 2.10.1
-.ds doc-operating-system-DragonFly-2.11 2.11
.
.de Os
. ds doc-command-name
diff --git a/tmac/doc-syms b/tmac/doc-syms
index da9ce361..d2a070d6 100644
--- a/tmac/doc-syms
+++ b/tmac/doc-syms
@@ -605,8 +605,6 @@
.ds doc-str-St--isoC \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1990
.as doc-str-St--isoC " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St]\*[Rq])
.als doc-str-St--isoC-90 doc-str-St--isoC
-.ds doc-str-St--isoC-2011 \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:2011
-.as doc-str-St--isoC-2011 " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^11\*[doc-str-St]\*[Rq])
.ds doc-str-St--isoC-99 \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1999
.as doc-str-St--isoC-99 " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^99\*[doc-str-St]\*[Rq])
.ds doc-str-St--isoC-amd1 \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899/AMD1:1995
@@ -619,8 +617,6 @@
.\" POSIX Part 1: System API
.ds doc-str-St--p1003.1 \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1
.as doc-str-St--p1003.1 " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
-.ds doc-str-St--p1003.1b \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1b
-.as doc-str-St--p1003.1b " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
.ds doc-str-St--p1003.1-88 \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-1988
.as doc-str-St--p1003.1-88 " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
.ds doc-str-St--p1003.1-90 \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9945-1:1990
@@ -756,74 +752,36 @@
.\" NS
.\" NS width register `Lb' defined in doc-common
.
-.ds doc-str-Lb-libarchive Reading and Writing Streaming Archives Library (libarchive, \-larchive)
.ds doc-str-Lb-libarm ARM Architecture Library (libarm, \-larm)
.ds doc-str-Lb-libarm32 ARM32 Architecture Library (libarm32, \-larm32)
-.ds doc-str-Lb-libbluetooth Bluetooth Library (libbluetooth, \-lbluetooth)
-.ds doc-str-Lb-libbsm Basic Security Module Library (libbsm, \-lbsm)
.ds doc-str-Lb-libc Standard C\~Library (libc, \-lc)
-.ds doc-str-Lb-libc_r Reentrant C\~Library (libc_r, \-lc_r)
-.ds doc-str-Lb-libcalendar Calendar Arithmetic Library (libcalendar, \-lcalendar)
-.ds doc-str-Lb-libcam Common Access Method User Library (libcam, \-lcam)
.ds doc-str-Lb-libcdk Curses Development Kit Library (libcdk, \-lcdk)
-.ds doc-str-Lb-libcipher FreeSec Crypt Library (libcipher, \-lcipher)
.ds doc-str-Lb-libcompat Compatibility Library (libcompat, \-lcompat)
.ds doc-str-Lb-libcrypt Crypt Library (libcrypt, \-lcrypt)
.ds doc-str-Lb-libcurses Curses Library (libcurses, \-lcurses)
-.ds doc-str-Lb-libdevinfo Device and Resource Information Utility Library (libdevinfo, \-ldevinfo)
-.ds doc-str-Lb-libdevstat Device Statistics Library (libdevstat, \-ldevstat)
-.ds doc-str-Lb-libdisk Interface to Slice and Partition Labels Library (libdisk, \-ldisk)
-.ds doc-str-Lb-libdwarf DWARF Access Library (libdwarf, \-ldwarf)
.ds doc-str-Lb-libedit Command Line Editor Library (libedit, \-ledit)
-.ds doc-str-Lb-libelf ELF Access Library (libelf, \-lelf)
.ds doc-str-Lb-libevent Event Notification Library (libevent, \-levent)
-.ds doc-str-Lb-libfetch File Transfer Library for URLs (libfetch, \-lfetch)
.ds doc-str-Lb-libform Curses Form Library (libform, \-lform)
-.ds doc-str-Lb-libgeom Userland API Library for kernel GEOM subsystem (libgeom, \-lgeom)
-.ds doc-str-Lb-libgpib General-Purpose Instrument Bus (GPIB) library (libgpib, \-lgpib)
.ds doc-str-Lb-libi386 i386 Architecture Library (libi386, \-li386)
.ds doc-str-Lb-libintl Internationalized Message Handling Library (libintl, \-lintl)
.ds doc-str-Lb-libipsec IPsec Policy Control Library (libipsec, \-lipsec)
-.ds doc-str-Lb-libipx IPX Address Conversion Support Library (libipx, \-lipx)
-.ds doc-str-Lb-libiscsi iSCSI protocol library (libiscsi, \-liscsi)
-.ds doc-str-Lb-libjail Jail Library (libjail, \-ljail)
-.ds doc-str-Lb-libkiconv Kernel side iconv library (libkiconv, \-lkiconv)
-.ds doc-str-Lb-libkse N:M Threading Library (libkse, \-lkse)
.ds doc-str-Lb-libkvm Kernel Data Access Library (libkvm, \-lkvm)
.ds doc-str-Lb-libm Math Library (libm, \-lm)
.ds doc-str-Lb-libm68k m68k Architecture Library (libm68k, \-lm68k)
.ds doc-str-Lb-libmagic Magic Number Recognition Library (libmagic, \-lmagic)
-.ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd)
-.ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat)
.ds doc-str-Lb-libmenu Curses Menu Library (libmenu, \-lmenu)
-.ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
-.ds doc-str-Lb-libnetpgp Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp)
.ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio)
.ds doc-str-Lb-libpam Pluggable Authentication Module Library (libpam, \-lpam)
.ds doc-str-Lb-libpcap Packet Capture Library (libpcap, \-lpcap)
.ds doc-str-Lb-libpci PCI Bus Access Library (libpci, \-lpci)
.ds doc-str-Lb-libpmc Performance Counters Library (libpmc, \-lpmc)
.ds doc-str-Lb-libposix \*[Px] \*[doc-str-Lb]Compatibility Library (libposix, \-lposix)
-.ds doc-str-Lb-libprop Property Container Object Library (libprop, \-lprop)
.ds doc-str-Lb-libpthread \*[Px] \*[doc-str-Lb]Threads Library (libpthread, \-lpthread)
-.ds doc-str-Lb-libpuffs puffs Convenience Library (libpuffs, \-lpuffs)
-.ds doc-str-Lb-librefuse File System in Userspace Convenience Library (librefuse, \-lrefuse)
.ds doc-str-Lb-libresolv DNS Resolver Library (libresolv, \-lresolv)
-.ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss)
-.ds doc-str-Lb-librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc)
.ds doc-str-Lb-librt \*[Px] \*[doc-str-Lb]Real-time Library (librt, \-lrt)
-.ds doc-str-Lb-libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp)
-.ds doc-str-Lb-libssp Buffer Overflow Protection Library (libssp, \-lssp)
-.ds doc-str-Lb-libSystem System Library (libSystem, \-lSystem)
.ds doc-str-Lb-libtermcap Termcap Access Library (libtermcap, \-ltermcap)
-.ds doc-str-Lb-libterminfo Terminal Information Library (libterminfo, \-lterminfo)
-.ds doc-str-Lb-libthr 1:1 Threading Library (libthr, \-lthr)
-.ds doc-str-Lb-libufs UFS File System Access Library (libufs, \-lufs)
-.ds doc-str-Lb-libugidfw File System Firewall Interface Library (libugidfw, \-lugidfw)
-.ds doc-str-Lb-libulog User Login Record Library (libulog, \-lulog)
.ds doc-str-Lb-libusbhid USB Human Interface Devices Library (libusbhid, \-lusbhid)
.ds doc-str-Lb-libutil System Utilities Library (libutil, \-lutil)
-.ds doc-str-Lb-libvgl Video Graphics Library (libvgl, \-lvgl)
.ds doc-str-Lb-libx86_64 x86_64 Architecture Library (libx86_64, \-lx86_64)
.ds doc-str-Lb-libz Compression Library (libz, \-lz)
.
diff --git a/tmac/doc.tmac b/tmac/doc.tmac
index 0bb7f301..017835e0 100644
--- a/tmac/doc.tmac
+++ b/tmac/doc.tmac
@@ -1197,14 +1197,8 @@
. if !\n[doc-arg-limit] \
. ds doc-macro-name Aq
.
-. ie "\*[doc-macro-name]"An" \{\
-. ds doc-quote-left <
-. ds doc-quote-right >
-. \}
-. el \{\
-. ds doc-quote-left \[la]
-. ds doc-quote-right \[ra]
-. \}
+. ds doc-quote-left \[la]
+. ds doc-quote-right \[ra]
.
. doc-enclose-string \$@
..
@@ -1533,10 +1527,7 @@
. if !\n[doc-arg-limit] \
. ds doc-macro-name Ao
.
-. ie "\*[doc-macro-name]"An" \
-. ds doc-quote-left <
-. el \
-. ds doc-quote-left \[la]
+. ds doc-quote-left \[la]
.
. doc-enclose-open \$@
..
@@ -1555,10 +1546,7 @@
. if !\n[doc-arg-limit] \
. ds doc-macro-name Ac
.
-. ie "\*[doc-macro-name]"An" \
-. ds doc-quote-right >
-. el \
-. ds doc-quote-right \[ra]
+. ds doc-quote-right \[ra]
.
. doc-enclose-close \$@
..
@@ -4268,7 +4256,7 @@
. if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
. nr doc-reg-Xr (\n[doc-arg-ptr] + 1)
. \" modify second argument if it is a string and
-. \" remove space in between
+. \" remove space inbetween
. if (\n[doc-type\n[doc-reg-Xr]] == 2) \{\
. ds doc-arg\n[doc-reg-Xr] \*[lp]\*[doc-arg\n[doc-reg-Xr]]\*[rp]
. ds doc-space\n[doc-arg-ptr]
@@ -5091,7 +5079,7 @@
.
.
.\" NS doc-build-func-string macro
-.\" NS collect function arguments and set hard spaces in between
+.\" NS collect function arguments and set hard spaces inbetween
.\" NS
.\" NS modifies:
.\" NS doc-func-arg
diff --git a/tmac/e.tmac b/tmac/e.tmac
index 7bd748a4..88339949 100644
--- a/tmac/e.tmac
+++ b/tmac/e.tmac
@@ -253,7 +253,7 @@
. sp |\\n(tmu \" move to top of text
.ev
.mk _k \" for columned output
-.if \\n(?n=1 .nm 1 \" restore line numbering if n1 mode
+.if \\n(?n .nm 1 \" restore line numbering if n1 mode
.nr $c 1 \" set first column
.if \n@>4 .tm -- @h >> .ns nl=\\n(nl %=\\n% _k=\\n(_k tm=\\n(tm
.ie \\n(?s \
@@ -297,13 +297,9 @@
.if \\n(?T \
\{\
. nr _i \\n(.i
-. if \\n(?n \
-. nm \\n(ln
. in 0
. |h\" \" output the table header
. in \\n(_iu
-. if \\n(?n \
-. nm
. rr _i
. mk #T \" for tbl commands
. ns
@@ -355,11 +351,7 @@
.in 0
.if \n@>2 .tm @o last printed text = \\n(nl placing @r trap at -\\n(_B
.wh -\\n(_Bu @r
-.if \\n(?n \
-. nm \\n(ln
.|f
-.if \\n(?n \
-. nm
.fi
.if \n@>2 .tm @o triggered @r (?o) = \\n(?o
.if \\n(?o \
@@ -402,13 +394,9 @@
. sz \\n(tp\" \" set header/footer type fonts, etc.
. @F \\n(tf
. lt \\n(_Lu \" make title span entire page
-. if \\n(?n \
-. nm \\n(ln
. nf
. \\$1
. br
-. if \\n(?n \
-. nm
.\}
..
.
@@ -518,46 +506,16 @@
.
.de n1 \" *** line numbering 1
.nm 1
-.ll -\w'0000'u
+.xl -\w'0000'u
.nr ?n 1
..
.
.de n2 \" *** line numbering 2
+.nm \\$1
.ie \\n(.$ \
-\{\
-. ie !`\\$2`c` \
-. po -\w'0000'u
-. el \
-. ll -\w'0000'u
-. ie \\B`\\$1` \
-\{\
-. ds |i \\$1
-. ds |j \\$1
-. do substring |i 0 0 \" pick off leading char and rest to check
-. do substring |j 1 \" for +N / -N
-. ie `\\*(|i`+` \
-. nr ln (\\n[_ln])+\\*(|j
-. el \
-. ie `\\*(|i`-` \
-. nr ln (\\n[_ln])-\\*(|j
-. el \
-. nr ln \\$1 \" unsigned N
-. nm \\n(ln
-. nr ?n 2
-. rm |i |j
-.\}
-. el \
-. tm Line \\n(.c -- Bad .n2 value
-.\}
+. xl -\w'0000'u
.el \
-\{\
-. nm
-. nr _ln \\n(ln
-. po +\w'0000'u
-. ll \\n($lu
-. nr ?n 0
-. nr ln 0
-.\}
+. xl \\n($lu
..
.
.de pa \" *** new page
@@ -956,11 +914,7 @@
.ls 1
.in 0
.sp \\n(zsu
-.if \\n(?n \
-. nm \\n(ln
.\\$1
-.if \\n(?n \
-. nm
.ec
.br
.rm \\$1
@@ -988,8 +942,15 @@
.@)
.if (\\n(bt=0):(\\n(.t<\\n(bt) \
. ne \\n(dnu \" make it all on one page
-.@k |k
-.ev \" return from display environment
+.ls 1
+.nf
+.|k
+.ec
+.fi
+.in 0
+.xl \\n($lu
+.ev
+.rm |k
.sp \\n(bsu+\\n(.Lv-1v
..
.
@@ -1030,9 +991,7 @@
..
.
.de (c \" *** begin block centered text
-.br
.if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
-.if \\n(?n .nm
.di |c
..
.
@@ -1045,15 +1004,11 @@
.ls 1
.in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
.if \n@>4 .tm -- .)c << .in .l=\\n(.l .i=\\n(.i dl=\\n(dl
-.if \\n(?n \
-. nm \\n(ln
.nf
.|c
.ec
.in
.ls
-.if \\n(?n \
-. nm
.ev
.rm |c
..
@@ -1070,14 +1025,10 @@
.in +\\n(qiu
.xl -\\n(qiu
.sz \\n(qp
-.if \\n(?n \
-. nm \\n(ln
..
.
.de )q \" *** end block quote
.br
-.if \\n(?n \
-. nm
.ev
.sp \\n(qsu+\\n(.Lv-1v
.nr ?k 0
@@ -1088,15 +1039,11 @@
.sp \\n(bsu
.@D 3 \\$1 \\$2
.@M
-.if \\n(?n \
-. nm \\n(ln
.if '\*(.T'html' .sp \\n(bsu
..
.
.de )l \" *** end list
.br
-.if \\n(?n \
-. nm
.ev
.sp \\n(bsu+\\n(.Lv-1v
.nr ?k 0
@@ -1155,7 +1102,7 @@
.de @q \" --- equation output
.nr _Q \\n(dnu
.ev
-.sp \\n(esu \" output rest of preceding text
+.sp \\n(esu \" output rest of preceeding text
.if !"\\n(.z"" \!.ne \\n(_Qu
.ne \\n(_Qu+\n(.Vu \" keep it on one page
.@C 2\" \" .ev 2 may be jumbled from header
@@ -1176,11 +1123,7 @@
. tl """\\*(|p"
. rt \\n(_qu
.\}
-.if \\n(?n \
-. nm \\n(ln
.|e
-.if \\n(?n \
-. nm
.sp |\\n(_qu+\\n(_Qu
.sp \\n(esu+\\n(.Lv-1v
.rr _q
@@ -1214,14 +1157,12 @@
.de TH \" *** end header part of table
.nr T. 0
.T# 0
-.if \\n(?n \!.nm
.di
.nr _T \\n(?T
.nr ?T 0
.ne \\n(dnu+1v
.nr ?T \\n(_T
.nr _i \\n(.i
-.if \\n(?n .nm \\n(ln
.in 0
.|h\" \" put in the initial header
.in \\n(_iu
@@ -1248,7 +1189,117 @@
.\"
.\" REFER
.\"
-.mso refer-me.tmac
+.de ][ \" *** refer output
+.if \\$1>5 .tm Bad arg to []
+.[\\$1
+..
+.
+.de [0 \" --- other
+.(f
+.ip "\\*([F.\0"
+.if !"\\*([A"" \\*([A,
+.if !"\\*([T"" \\f2\\*([T\\f1\c
+.if !"\\*([T"" .if !"\\*([O"" ,\ \"
+.ie !"\\*([O"" \\*([O
+.el .if !"\\*([T"" \&.
+.if !"\\*([D"" \\*([D.
+.@p
+.)f
+..
+.
+.de [1 \" --- journal article
+.(f
+.ip "\\*([F.\0"
+\\*([A,
+.if !"\\*([T"" \\*(lq\\*([T,\\*(rq
+.if "\\*([V"" \\f2\\*([J\\f1,
+.if !"\\*([V"" \\f2\\*([J\\f1
+.if !"\\*([V"" \\f3\\*([V\\f1\c
+.if !"\\*([N"" (\\*([N)\c
+.if !"\\*([P"" \
+\{\
+. ie \\n([P>0 \ pp.\&
+. el \ p.\&
+\\*([P
+.\}
+.if !"\\*([I"" .if "\\*([R"" \\*([I,
+(\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.
+.de [2 \" --- book
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\f2\\*([T,\\f1
+\\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([G"" Gov't. ordering no. \\*([G
+.if !"\\*([O"" \\*([O
+.)f
+..
+.
+.de [3 \" --- article in book
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\*(lq\\*([T,\\*(rq
+.if !"\\*([P"" pp. \\*([P
+in \\f2\\*([B\\f1, \c
+.if !"\\*([E"" ed. \\*([E, \c
+.if !"\\*([I"" \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.
+.de [4 \" --- report
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\*(lq\\*([T,\\*(rq
+\\*([R\c
+.if !"\\*([G"" \& (\\*([G)\c
+.if !"\\*([I"" , \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.
+.de [5 \" --- tm style
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\f2\\*([T\\f1,
+.ie \\n(TN \\*([M.
+.el Bell Laboratories internal memorandum (\\*([D).
+.)f
+..
+.
+.de ]<
+.$p References
+.lp
+.rm (f )f
+..
+.
+.de ]>
+.sp
+..
+.
+.de ]-
+.rm [V [P [A [T [N [C [B [O [R [I [E [D
+..
+.
+.ie \n(.V<1v \
+\{\
+. ds [. \s-2\v'-.4m'\f1
+. ds .] \v'.4m'\s+2\fP
+.\}
+.el \
+\{\
+. ds [. " [
+. ds .] ]
+.\}
.
.\"
.\" IDEAL
@@ -1279,41 +1330,9 @@
.ne \\$1u
.nr g7 \\n(.u
.ls 1
-.if \\n(?n \
-\{\
-. de PS_nm_check && \" define macro to emit .nm at top diversion
-. if \n@>4 .tm -- PS: \\\\$1 \\\\$2 .z=\\\\n(.z PS_nm_cnt=\\\\n[PS_nm_cnt]
-. \" \" multiple .PS/.PE in a keep.
-. if `\\\\$2`init` \
-. do nr PS_nm_cnt \\\\n[PS_nm_cnt]+1
-. ie `\\\\n(.z`` \
-\{\
-. if `\\\\$1`suspend` \
-. nm
-. if `\\\\$1`resume` \
-\{\
-. nm \\\\n(ln
-. do nr PS_nm_cnt \\\\n[PS_nm_cnt]-1
-. do if !\\\\n[PS_nm_cnt] \
-\{\
-. do rm PS_nm_check
-. do rr PS_nm_cnt
-.\}
-.\}
-.\}
-.el \!.PS_nm_check \\\\$1
-.&&
-. mk _q \" emit a single numbered line for PS picture
-. rs
-\&\
-. br
-. rt \\n(_qu
-. PS_nm_check suspend init
-.\}
..
.
.de PE \" *** end picture
-.if \\n(?n .PS_nm_check resume
.ls
.in
.if \\n(g7 .fi
@@ -1471,7 +1490,6 @@
. nr _D \\n(dn
. nr _0 1v+\\n(nlu
. ev 2
-. nm
. da |f
. in 0
. xl \\n($lu-\\n(fuu
@@ -1512,7 +1530,6 @@
.el \
\{\
. ev 2
-. nm
. in 0
. xl \\n($lu-\\n(fuu
. @F \\n(ff
diff --git a/tmac/groff_man.man b/tmac/groff_man.man
index ceeffc15..29503d37 100644
--- a/tmac/groff_man.man
+++ b/tmac/groff_man.man
@@ -1,5 +1,5 @@
.ig
-Copyright (C) 1999-2005, 2007-2009, 2011
+Copyright (C) 1999-2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
@@ -518,7 +518,7 @@ configuration-file examples.
.
The
.B EE
-macro restores filling and restores the previous font.
+macro restores the previous font.
.
.IP
These macros are defined on many (but not all) legacy Unix systems
@@ -1101,15 +1101,6 @@ portability to legacy Unix systems are encouraged to copy these
definitions into their pages, and maintainers of troff
or its workalikes are encouraged to re-use them.
.
-.IP
-Note that the definitions for these macros are read after the call of
-.BR TH ,
-so they will replace macros of the same names given at the beginning of
-your file.
-If you must use your own definitions for these macros, they must be
-given after calling
-.BR TH .
-.
.TP
.B man.local
Local changes and customizations should be put into this file.
diff --git a/tmac/groff_mdoc.man b/tmac/groff_mdoc.man
index 279dedd4..309bf1b9 100644
--- a/tmac/groff_mdoc.man
+++ b/tmac/groff_mdoc.man
@@ -769,18 +769,13 @@ By default, the following architecture keywords are defined:
.
\# we use `No' to avoid hyphenation
.Bd -ragged -offset indent
-.No acorn26 , acorn32 , algor , alpha , amd64 , amiga , amigappc ,
-.No arc , arm , arm26 , arm32 , armish , atari , aviion ,
-.No beagle , bebox , cats , cesfic , cobalt , dreamcast ,
-.No emips , evbarm , evbmips , evbppc , evbsh3 , ews4800mips ,
-.No hp300 , hp700 , hpcarm , hpcmips , hpcsh , hppa , hppa64 ,
-.No i386 , ia64 , ibmnws , iyonix , landisk , loongson , luna68k , luna88k ,
-.No m68k , mac68k , macppc , mips , mips64 , mipsco , mmeye ,
-.No mvme68k , mvme88k , mvmeppc , netwinder , news68k , newsmips , next68k ,
-.No ofppc , palm , pc532 , playstation2 , pmax , pmppc , powerpc , prep ,
-.No rs6000 , sandpoint , sbmips , sgi , sgimips , sh3 , shark ,
-.No socppc , solbourne , sparc , sparc64 , sun2 , sun3 ,
-.No tahoe , vax , x68k , x86_64 , xen , zaurus
+.No alpha , acorn26 , acorn32 , algor , amd64 , amiga , arc , arm26 ,
+.No arm32 , atari , bebox , cats , cesfic , cobalt , dreamcast , evbarm ,
+.No evbmips , evbppc , evbsh3 , hp300 , hp700 , hpcmips , i386 , luna68k ,
+.No m68k , mac68k , macppc , mips , mmeye , mvme68k , mvmeppc , netwinder ,
+.No news68k , newsmips , next68k , ofppc , pc532 , pmax , pmppc , powerpc ,
+.No prep , sandpoint , sgimips , sh3 , shark , sparc , sparc64 , sun3 ,
+.No tahoe , vax , x68k , x86_64
.Ed
.Pp
.
@@ -869,25 +864,23 @@ the release ID.
.It NetBSD
0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e,
1.3, 1.3a, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.6, 1.6.1,
-1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.1, 3.0, 3.0.1, 3.0.2, 3.0.3,
-3.1, 3.1.1, 4.0, 4.0.1, 5.0, 5.0.1, 5.0.2, 5.1, 6.0
+1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.1, 3.0, 3.0.1, 3.0.2, 3.1, 4.0,
+4.0.1, 5.0, 5.0.1, 5.0.2
.It FreeBSD
1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1,
2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1,
4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0, 5.1,
5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1, 7.2, 7.3, 8.0,
-8.1, 8.2, 9.0
+8.1
.It OpenBSD
2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4,
-3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
-5.0
+3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8
.It DragonFly
1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 1.8.1, 1.10, 1.12, 1.12.2, 2.0, 2.2,
-2.4, 2.6, 2.8, 2.9, 2.9.1, 2.10, 2.10.1, 2.11
+2.4, 2.6, 2.8
.It Darwin
8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0, 8.8.0, 8.9.0,
-8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.0, 9.6.0, 9.7.0,
-9.8.0, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 10.5.0, 10.6.0, 10.7.0, 11.0.0
+8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.0, 9.6.0
.El
.Ed
.Pp
@@ -1680,73 +1673,33 @@ Available arguments to
and their results are:
.
.Pp
-.Bl -tag -width ".Li librpcsec_gss" -compact -offset indent
-.It Li libarchive
-.Lb libarchive
+.Bl -tag -width ".Li libossaudio" -compact -offset indent
.It Li libarm
.Lb libarm
.It Li libarm32
.Lb libarm32
-.It Li libbluetooth
-.Lb libbluetooth
-.It Li libbsm
-.Lb libbsm
.It Li libc
.Lb libc
-.It Li libc_r
-.Lb libc_r
-.It Li libcalendar
-.Lb libcalendar
-.It Li libcam
-.Lb libcam
.It Li libcdk
.Lb libcdk
-.It Li libcipher
-.Lb libcipher
.It Li libcompat
.Lb libcompat
.It Li libcrypt
.Lb libcrypt
.It Li libcurses
.Lb libcurses
-.It Li libdevinfo
-.Lb libdevinfo
-.It Li libdevstat
-.Lb libdevstat
-.It Li libdisk
-.Lb libdisk
-.It Li libdwarf
-.Lb libdwarf
.It Li libedit
.Lb libedit
-.It Li libelf
-.Lb libelf
.It Li libevent
.Lb libevent
-.It Li libfetch
-.Lb libfetch
.It Li libform
.Lb libform
-.It Li libgeom
-.Lb libgeom
-.It Li libgpib
-.Lb libgpib
.It Li libi386
.Lb libi386
.It Li libintl
.Lb libintl
.It Li libipsec
.Lb libipsec
-.It Li libipx
-.Lb libipx
-.It Li libiscsi
-.Lb libiscsi
-.It Li libjail
-.Lb libjail
-.It Li libkiconv
-.Lb libkiconv
-.It Li libkse
-.Lb libkse
.It Li libkvm
.Lb libkvm
.It Li libm
@@ -1755,16 +1708,8 @@ and their results are:
.Lb libm68k
.It Li libmagic
.Lb libmagic
-.It Li libmd
-.Lb libmd
-.It Li libmemstat
-.Lb libmemstat
.It Li libmenu
.Lb libmenu
-.It Li libnetgraph
-.Lb libnetgraph
-.It Li libnetpgp
-.Lb libnetpgp
.It Li libossaudio
.Lb libossaudio
.It Li libpam
@@ -1777,46 +1722,18 @@ and their results are:
.Lb libpmc
.It Li libposix
.Lb libposix
-.It Li libprop
-.Lb libprop
.It Li libpthread
.Lb libpthread
-.It Li libpuffs
-.Lb libpuffs
-.It Li librefuse
-.Lb librefuse
.It Li libresolv
.Lb libresolv
-.It Li librpcsec_gss
-.Lb librpcsec_gss
-.It Li librpcsvc
-.Lb librpcsvc
.It Li librt
.Lb librt
-.It Li libsdp
-.Lb libsdp
-.It Li libssp
-.Lb libssp
-.It Li libSystem
-.Lb libSystem
.It Li libtermcap
.Lb libtermcap
-.It Li libterminfo
-.Lb libterminfo
-.It Li libthr
-.Lb libthr
-.It Li libufs
-.Lb libufs
-.It Li libugidfw
-.Lb libugidfw
-.It Li libulog
-.Lb libulog
.It Li libusbhid
.Lb libusbhid
.It Li libutil
.Lb libutil
-.It Li libvgl
-.Lb libvgl
.It Li libx86_64
.Lb libx86_64
.It Li libz
@@ -2036,8 +1953,6 @@ are:
.St -isoC-90
.It Li \-isoC\-99
.St -isoC-99
-.It Li \-isoC\-2011
-.St -isoC-2011
.El
.Pp
.
diff --git a/tmac/groff_ms.man b/tmac/groff_ms.man
index b175176d..288cc7fb 100644
--- a/tmac/groff_ms.man
+++ b/tmac/groff_ms.man
@@ -1,6 +1,7 @@
'\" t
.ig
-Copyright (C) 1989-1995, 2001-2007, 2009-2011
+Copyright (C) 1989-1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009,
+ 2010
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
@@ -398,7 +399,7 @@ when a section heading
(see subsection
.I Headings
below)
-precedes any of these paragraph types,
+preceeds any of these paragraph types,
the
.B HORPHANS
document control register specifies the
@@ -609,7 +610,7 @@ given the same settings for
.B GROWPS
and
.BR PSINCR ,
-as used in the preceding
+as used in the preceeding
.B .NH
example,
the sequence:
diff --git a/tmac/groff_www.man b/tmac/groff_www.man
index 5616dd19..f17d8ab3 100644
--- a/tmac/groff_www.man
+++ b/tmac/groff_www.man
@@ -1,5 +1,5 @@
.TH GROFF_WWW @MAN7EXT@ "@MDATE@" "Groff Version @VERSION@"
-.\" Copyright (C) 2000-2006, 2008, 2009, 2011
+.\" Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009
.\" Free Software Foundation, Inc.
.\" Written by Gaius Mulley (gaius@glam.ac.uk)
.\"
@@ -473,7 +473,7 @@ macro is defined as
.nf
.ft B
\&.de BGIMG
-\&. HTML <body background=\[rs]\[rs]$1>
+\&. HTML <body background=\[rs]$1>
\&..
.ft P
.fi
diff --git a/tmac/pdf.tmac b/tmac/pdf.tmac
deleted file mode 100644
index b05ab8ca..00000000
--- a/tmac/pdf.tmac
+++ /dev/null
@@ -1,738 +0,0 @@
-.\" pdf.tmac
-.\"
-.mso ps.tmac
-.
-.de pdf:SS
-. char \\$1 \\S'16'\\$1\\S'0'
-..
-.pdf:SS \[+h]
-.pdf:SS \[ts]
-.pdf:SS \[*a]
-.pdf:SS \[*b]
-.pdf:SS \[*x]
-.pdf:SS \[*d]
-.pdf:SS \[*e]
-.pdf:SS \[*f]
-.pdf:SS \[*g]
-.pdf:SS \[*y]
-.pdf:SS \[*i]
-.pdf:SS \[+f]
-.pdf:SS \[*k]
-.pdf:SS \[*l]
-.pdf:SS \[*m]
-.pdf:SS \[*n]
-.pdf:SS \[*o]
-.pdf:SS \[*p]
-.pdf:SS \[*h]
-.pdf:SS \[*r]
-.pdf:SS \[*s]
-.pdf:SS \[*t]
-.pdf:SS \[*u]
-.pdf:SS \[+p]
-.pdf:SS \[*w]
-.pdf:SS \[*c]
-.pdf:SS \[*q]
-.pdf:SS \[*z]
-.char \[lh] \X'pdf: xrev'\[rh]\X'pdf: xrev'
-.nr pdf:bm.nl 1
-.de pdfmark
-. nop \!x X ps:exec [\\$* pdfmark
-..
-.de pdf:warn
-. tm \\n(.F:\\n(.c: macro warning: \\$*
-..
-.de pdf:error
-. tm \\n(.F:\\n(.c: macro error: \\$*
-..
-.de pdfinfo
-.\" -------------------------------------------------------------------
-.\" Usage:
-.\" .pdfinfo /FieldName field content ...
-.\" Examples:
-.\" .pdfinfo /Title A PDF Document
-.\" .pdfinfo /Author Keith Marshall
-.\" -------------------------------------------------------------------
-.\"
-.ds pdf:meta.field \\$1
-.shift
-.ie '\\n(.z'' .pdfmark \\*[pdf:meta.field] (\\$*) /DOCINFO
-.el \!.pdfmark \\*[pdf:meta.field] (\\$*) /DOCINFO
-.rm pdf:meta.field
-..
-.de pdfview
-.\" -------------------------------------------------------------------
-.\" Usage:
-.\" .pdfview view parameters ...
-.\" Examples:
-.\" .pdfview /PageMode /UseOutlines
-.\" .pdfview /Page 2 /View [/FitH \n(.p u]
-.\" -------------------------------------------------------------------
-.\"
-.ie '\\n(.z'' .pdfmark \\$* /DOCVIEW
-.el \!.pdfmark \\$* /DOCVIEW
-..
-.\" =====================================================================
-.\" Module PDFNOTE: Insert "Sticky Note" Style Comments in a PDF Document
-.\" =====================================================================
-.\"
-.\" "PDFNOTE.WIDTH" and "PDFNOTE.HEIGHT" set the preferred size for
-.\" display of the "sticky note" pane, when opened. Acrobat Reader
-.\" seems not to honour these -- perhaps GhostScript doesn't encode
-.\" them correctly! Anyway, let's set some suitable default values,
-.\" in case the user has a set up which does work as advertised.
-.\"
-.nr PDFNOTE.WIDTH 3.5i
-.nr PDFNOTE.HEIGHT 2.0i
-.\"
-.\" "pdf:bbox" defines the expression used to set the size and location
-.\" of the bounding rectangle for display of notes and link "hot-spots".
-.\" This is defined, such that a note is placed at troff's current text
-.\" position on the current page, with its displayed image size defined
-.\" by the "PDFNOTE.WIDTH" and "PDFNOTE.HEIGHT" registers, while the
-.\" bounds for a link "hot-spot" are matched to the text region which
-.\" defines the "hot-spot".
-.\"
-.ds pdf:bbox \\n[pdf:llx] u \\n[pdf:lly] u \\n[pdf:urx] u \\n[pdf:ury] u
-.\"
-.\" Getting line breaks into the text of a PDFNOTE is tricky -- we need
-.\" to get a "\n" into the Postscript stream, but three levels of "\" are
-.\" swallowed, when we invoke "pdfnote". The following definition of "PDFLB",
-.\" (for LineBreak), is rather ugly, but does allow us to use
-.\"
-.\" .pdfnote Some text.\*[PDFLB]Some more text, on a new line.
-.\"
-.ds PDFLB \\\\\\\\\\\\\\\\n
-.\"
-.de pdfnote
-.\" ----------------------------------------------------------------------
-.\" Usage:
-.\" .pdfnote [-T "Text for Title"] Text of note ...
-.\" ----------------------------------------------------------------------
-.\"
-.\" First, compute the bounding rectangle,
-.\" for this PDFNOTE instance
-.\"
-. mk pdf:ury
-. nr pdf:llx \\n(.k+\\n(.o+\\n[.in]
-. nr pdf:lly \\n[pdf:ury]-\\n[PDFNOTE.HEIGHT]
-. nr pdf:urx \\n[pdf:llx]+\\n[PDFNOTE.WIDTH]
-. ds pdf:note.instance /Rect [\\*[pdf:bbox]]
-.\"
-.\" Parse any specified (recognisable) PDFNOTE options
-.\"
-. while dpdf:note\\$1 \{\
-. pdf:note\\$1 \\$@
-. shift \\n[pdf:note.argc]
-. \}
-.\"
-.\" Emit the note, and clean up
-.\"
-. pdfmark \\*[pdf:note.instance] /Subtype /Text /Contents (\\$*) /ANN
-. rm pdf:note.instance
-. rr pdf:note.argc
-..
-.de pdf:note-T
-.nr pdf:note.argc 2
-.as pdf:note.instance " /Title (\\$2)
-..
-.\" =====================================================================
-.\" Module PDFBOOKMARK: Add an Outline Reference in the PDF Bookmark Pane
-.\" =====================================================================
-.\"
-.\" "PDFBOOKMARK.VIEW" controls how the document will be displayed,
-.\" when the user selects a bookmark. This default setting will fit
-.\" the page width to the viewing window, with the bookmarked entry
-.\" located at the top of the viewable area.
-.\"
-.ds PDFBOOKMARK.VIEW /FitH -\\n[PDFPAGE.Y] u
-.\"
-.\" "PDFOUTLINE.FOLDLEVEL" controls how the document outline will be
-.\" displayed. It is a number, defining the maximum heading level
-.\" which will be visible, without outline expansion by the user, in
-.\" the initial view of the document outline. Assuming that no sane
-.\" document will ever extend to 10,000 levels of nested headings,
-.\" this initial default value causes outlines to be fully expanded.
-.\"
-.nr PDFOUTLINE.FOLDLEVEL 10000
-.\"
-.\" The actual job of creating an outline reference
-.\" is performed by the "pdfbookmark" macro.
-.\"
-.de pdfbookmark
-.\" ------------------------------------------------------------------
-.\" Usage:
-.\" .pdfbookmark [-T tag] level "Text of Outline Entry"
-.\"
-.\" $1 = nesting level for bookmark (1 is top level)
-.\" $2 = text for bookmark, (in PDF viewer bookmarks list)
-.\" ------------------------------------------------------------------
-.\"
-.ie '\\n(.z'' \{\
-.\"
-.\" When we are at the top diversion level, i.e. actually emitting text
-.\" to the output device stream, then we compute the location of, and
-.\" plant this bookmark immediately.
-.\"
-. \" Make the bookmark name "untagged" by default,
-. \" then parse any specified options, to set a "tag", if required
-. \"
-. ds pdf:href-T
-. while dpdf:href.opt\\$1 \{\
-. pdf:href.opt\\$1 \\$@
-. shift \\n[pdf:href.argc]
-. \}
-. rr pdf:href.argc
-. \"
-. \" If we found "--" to mark the end of the options, discard it
-. \"
-. if '\\$1'--' .shift
-. \"
-. nr pdf:bm.lev 0+\\$1
-. if \\n[pdf:bm.lev]==0 .nr pdf:bm.lev 1
-. if \\n[pdf:bm.lev]>\\n[PDFOUTLINE.FOLDLEVEL] .nr pdf:bm.lev \\n[pdf:bm.lev]*-1
-. nr pdf:bm.abslev 0+\\n[pdf:bm.lev]
-. if \\n[pdf:bm.lev]<0 .nr pdf:bm.abslev 0+\\n[pdf:bm.abslev]*-1
-. if \\n[pdf:bm.abslev]>\\n[pdf:bm.nl] .nr pdf:bm.nl \\n[pdf:bm.nl]+1
-. ie \\n[pdf:bm.abslev]>\\n[pdf:bm.nl] \{\
-. pdf:warn adjusted level \\n[pdf:bm.abslev] bookmark; should be <= \\n[pdf:bm.nl]
-. nr pdf:bm.abslev 0+\\n[pdf:bm.nl]
-. \}
-. el .nr pdf:bm.nl \\n[pdf:bm.abslev]
-. if \\n[pdf:bm.lev]<0 .nr pdf:bm.abslev \\n[pdf:bm.abslev]*-1
-. nr pdf:bm.lev 0+\\n[pdf:bm.abslev]
-. rr pdf:bm.abslev
-. shift
-. \"
-. \" Increment the bookmark serialisation index
-. \" in order to generate a uniquely serialised bookmark name,
-. \" ( which we return in the string "PDFBOOKMARK.NAME" ),
-. \"
-. nr pdf:bm.nr +1
-. ie '\\*[pdf:href-T]'' .ds PDFBOOKMARK.NAME pdf:bm\\n[pdf:bm.nr]
-. el .ds PDFBOOKMARK.NAME \\*[pdf:href-T]
-. pdf:href.sety
-. ds pdf:cleaned \\$*
-. ev pdfcln
-. nf
-. box pdf:clean
-. nop \\$*
-. sp -1
-. box
-. asciify pdf:clean
-. ds pdf:cleaned \\*[pdf:clean]
-. ev
-. ds pdf:look(\\*[PDFBOOKMARK.NAME]) \\*[pdf:cleaned]
-. if dPDF.EXPORT .tm .ds pdf:look(\\*[PDFBOOKMARK.NAME]) \\*[pdf:cleaned]
-. pdfmark /Dest /\\*[PDFBOOKMARK.NAME] /View [\\*[PDFBOOKMARK.VIEW]] /DEST
-. pdfmark /Dest /\\*[PDFBOOKMARK.NAME] /Title (\\*[pdf:cleaned]) /Level \\n[pdf:bm.lev] /OUT
-. pdf:href.options.clear
-. rr PDFPAGE.Y
-. rm pdf:cleaned
-. rm pdf:clean
-. \}
-. \}
-.el \{\
-.\"
-.\" But when we are collecting a diversion which will be written out later,
-.\" then we must defer bookmark placement, until we emit the diversion.
-.\" (don't rely on $0 == pdfbookmark here; it may be a volatile alias).
-.\"
-. nop \!.pdfbookmark \\$@
-. \}
-..
-.\"
-.\" =============================================================
-.\" Module PDFHREF: Create Hypertext References in a PDF Document
-.\" =============================================================
-.\"
-.\" "PDFHREF.VIEW" controls how the document will be displayed,
-.\" when the user follows a link to a named reference.
-.\"
-.ds PDFHREF.VIEW /FitH -\\n[PDFPAGE.Y] u
-.\"
-.\" This default setting will fit the page width to the viewing
-.\" window, with the bookmarked entry located close to the top
-.\" of the viewable area. "PDFHREF.VIEW.LEADING" controls the
-.\" actual distance below the top of the viewing window, where
-.\" the reference will be positioned; 5 points is a reasonable
-.\" default offset.
-.\"
-.nr PDFHREF.VIEW.LEADING 5.0p
-.\"
-.\" Yuk!!!
-.\" PDF view co-ordinates are mapped from the bottom left corner,
-.\" of the page, whereas page printing co-ordinates are mapped
-.\" conventionally, from top left.
-.\"
-.\" Macro "pdf:href.sety" transforms the vertical position of the
-.\" last printed baseline, from the printing co-ordinate domain to
-.\" the PDF view domain.
-.\"
-.de pdf:href.sety
-.\" ----------------------------------------------------------------
-.\" Usage:
-.\" .pdf:href.sety
-.\" ----------------------------------------------------------------
-.\"
-.\" This computation yields the vertical view co-ordinate
-.\" in groff's basic units; don't forget to append grops' "u"
-.\" conversion operator, when writing the pdfmark!
-.\"
-.nr PDFPAGE.Y \\n(nl+\\n[PDFHREF.VIEW.LEADING]
-..
-.\" When we create a link "hot-spot" ...
-.\" "PDFHREF.LEADING" sets the distance above the top of the glyph
-.\" bounding boxes, in each line of link text, over which the link
-.\" hot-spot will extend, while "PDFHREF.HEIGHT" sets the hot-spot
-.\" height, PER LINE of text occupied by the reference.
-.\"
-.\" Since most fonts specify some leading space within the bounding
-.\" boxes of their glyphs, a better appearance may be achieved when
-.\" NEGATIVE leading is specified for link hot-spots; indeed, when
-.\" the default 10pt Times font is used, -1.0 point seems to be a
-.\" reasonable default value for "PDFHREF.LEADING" -- it may be
-.\" changed, if desired.
-.\"
-.\" "PDFHREF.HEIGHT" is initially set as one vertical spacing unit;
-.\" note that it is defined as a string, so it will adapt to changes
-.\" in the vertical spacing. Changing it is NOT RECOMMENDED.
-.\"
-.nr PDFHREF.LEADING -1.0p
-.ds PDFHREF.HEIGHT 1.0v
-.\"
-.\" PDF readers generally place a rectangular border around link
-.\" "hot-spots". Within text, this looks rather ugly, so we set
-.\" "PDFHREF.BORDER" to suppress it -- the three zeroes represent
-.\" the border parameters in the "/Border [0 0 0]" PDFMARK string,
-.\" and may be changed to any valid form, as defined in Adobe's
-.\" PDFMARK Reference Manual.
-.\"
-.ds PDFHREF.BORDER 0 0 0
-.\"
-.\" "PDFHREF.COLOUR" (note British spelling) defines the colour to
-.\" be used for display of link "hot-spots". This will apply both
-.\" to borders, if used, and, by default to text; however, actual
-.\" text colour is set by "PDFHREF.TEXT.COLOUR", which may be reset
-.\" independently of "PDFHREF.COLOUR", to achieve contrasting text
-.\" and border colours.
-.\"
-.\" "PDFHREF.COLOUR" must be set to a sequence of three values,
-.\" each in the range 0.0 .. 1.0, representing the red, green, and
-.\" blue components of the colour specification in the RGB colour
-.\" domain, which is shared by "groff" and the PDF readers.
-.\"
-.ds PDFHREF.COLOUR 0.35 0.00 0.60
-.defcolor pdf:href.colour rgb \*[PDFHREF.COLOUR]
-.\"
-.\" "PDFHREF.TEXT.COLOUR", on the other hand, is simply defined
-.\" using any "groff" colour name -- this default maps it to the
-.\" same colour value as "PDFHREF.COLOUR".
-.\"
-.ds PDFHREF.TEXT.COLOUR pdf:href.colour
-.\"
-.\" Accommodate users who prefer the American spelling, COLOR, to
-.\" the British spelling, COLOUR.
-.\"
-.als PDFHREF.COLOR PDFHREF.COLOUR
-.als PDFHREF.TEXT.COLOR PDFHREF.TEXT.COLOUR
-.\"
-.\" All PDF "Hypertext" reference capabilities are accessed
-.\" through the "pdfhref" macro
-.\"
-.de pdfhref
-.\" -----------------------------------------------------------------
-.\" Usage:
-.\" .pdfhref <subcommand [options ...] [parameters ...]> ...
-.\" -----------------------------------------------------------------
-.\"
-.\"
-.\" Loop over all subcommands specified in the argument list
-.\"
-. while \\n(.$ \{\
-. \"
-. \" Initially, assume each subcommand will complete successfully
-. \"
-. nr pdf:href.ok 1
-. \"
-. \" Initialise -E and -X flags in the OFF state
-. \"
-. nr pdf:href-E 0
-. nr pdf:href-X 0
-. \"
-. \" Handle the case where subcommand is specified as "-class",
-. \" setting up appropriate macro aliases for subcommand handlers.
-. \"
-. if dpdf*href\\$1 .als pdf*href pdf*href\\$1
-. if dpdf*href\\$1.link .als pdf*href.link pdf*href\\$1.link
-. if dpdf*href\\$1.file .als pdf*href.file pdf*href\\$1.file
-. \"
-. \" Repeat macro alias setup
-. \" for the case where the subcommand is specified as "class",
-. \" (without a leading hyphen)
-. \"
-. if dpdf*href-\\$1 .als pdf*href pdf*href-\\$1
-. if dpdf*href-\\$1.link .als pdf*href.link pdf*href-\\$1.link
-. if dpdf*href-\\$1.file .als pdf*href.file pdf*href-\\$1.file
-. \"
-. \" Process one subcommand ...
-. \"
-. ds pdf*href.class \\$1
-. ie dpdf*href \{\
-. \"
-. \" Subcommand "class" is recognised ...
-. \" discard the "class" code from the argument list,
-. \" set the initial argument count to swallow all arguments,
-. \" and invoke the selected subcommand handler.
-. \"
-. shift
-. nr pdf:argc \\n(.$
-. pdf*href \\$@
-. \"
-. \" When done,
-. \" discard all arguments actually consumed by the handler,
-. \" before proceeding to the next subcommand (if any).
-. \"
-. shift \\n[pdf:argc]
-. \}
-. el \{\
-. \"
-. \" Subcommand "class" is not recognised ...
-. \" issue a warning, and discard the entire argument list,
-. \" so aborting this "pdfhref" invocation
-. \"
-. pdf:warn \\$0: undefined reference class '\\$1' ignored
-. shift \\n(.$
-. \}
-. \"
-. \" Clean up temporary reference data,
-. \" to ensure it doesn't propagate to any future reference
-. \"
-. rm pdf*href pdf:href.link pdf:href.files
-. rr pdf:href-E
-. pdf:href.options.clear
-. \}
-. rr pdf:href.ok
-..
-.\"
-.\" Macros "pdf:href.flag" and "pdf:href.option"
-.\" provide a generic mechanism for switching on flag type options,
-.\" and for decoding options with arguments, respectively
-.\"
-.de pdf:href.flag
-.\" ----------------------------------------------------------------------
-.\" ----------------------------------------------------------------------
-.nr pdf:href\\$1 1
-.nr pdf:href.argc 1
-..
-.de pdf:href.option
-.\" ----------------------------------------------------------------------
-.\" ----------------------------------------------------------------------
-.ds pdf:href\\$1 \\$2
-.nr pdf:href.argc 2
-..
-.\"
-.\" Valid PDFHREF options are simply declared
-.\" by aliasing option handlers to "pdf:href.option",
-.\" or to "pdf:href.flag", as appropriate
-.\"
-.als pdf:href.opt-A pdf:href.option \" affixed text
-.als pdf:href.opt-D pdf:href.option \" destination name
-.als pdf:href.opt-E pdf:href.flag \" echo link descriptor
-.als pdf:href.opt-F pdf:href.option \" remote file specifier
-.als pdf:href.opt-N pdf:href.option \" reference name
-.als pdf:href.opt-P pdf:href.option \" prefixed text
-.als pdf:href.opt-T pdf:href.option \" bookmark "tag"
-.\"
-.\" For references to another document file
-.\" we also need to support OS dependent file name specifiers
-.\"
-.als pdf:href.opt-DF pdf:href.option \" /DOSFile specifier
-.als pdf:href.opt-MF pdf:href.option \" /MacFile specifier
-.als pdf:href.opt-UF pdf:href.option \" /UnixFile specifier
-.als pdf:href.opt-WF pdf:href.option \" /WinFile specifier
-.\"
-.\" Macro "pdf:href.options.clear" ensures that ALL option
-.\" argument strings are deleted, after "pdfhref" has completed
-.\" all processing which depends on them
-.\"
-.de pdf:href.options.clear
-.\" -----------------------------------------------------------------
-.\" Usage:
-.\" .pdf:href.options.clear [option ...]
-.\" -----------------------------------------------------------------
-.\"
-.\" When an option list is specified ...
-.\"
-.ie \\n(.$ \{\
-. \"
-. \" then loop through the list,
-. \" deleting each specified option argument string in turn
-. \"
-. while \\n(.$ \{\
-. if dpdf:href-\\$1 .rm pdf:href-\\$1
-. shift
-. \}
-. \}
-.\"
-.\" ... but when no list is specified,
-.\" then recurse, to clear all known option argument strings
-.\"
-.el .pdf:href.options.clear A D F N P T DF MF UF WF
-..
-.\"
-.\" Macro "pdf*href-M" is the handler invoked by "pdfhref", when
-.\" called with the "M" reference class specifier, to create a
-.\" named cross reference mark, and to emit a cross reference
-.\" data record, as specified by "PDFHREF.INFO".
-.\"
-.de pdf*href-M
-.\" -----------------------------------------------------------------
-.\" Usage:
-.\" .pdfhref M [-N name | -D name] [-E] descriptive text ...
-.\" -----------------------------------------------------------------
-.\"
-.\" Initially, declare the -D and -N string options as empty,
-.\" so we avoid warning messages when we try to use them, and find
-.\" that they are undefined.
-.\"
-.ds pdf:href-D
-.ds pdf:href-N
-.\"
-.\" Parse, interpret, and strip any specified options from the
-.\" argument list. (Note that only options with a declared handler
-.\" will be processed; there is no provision for detecting invalid
-.\" options -- anything which is not recognised is assumed to start
-.\" the "descriptive text" component of the argument list).
-.\"
-.while dpdf:href.opt\\$1 \{\
-. pdf:href.opt\\$1 \\$@
-. shift \\n[pdf:href.argc]
-. \}
-.\"
-.\" If we found "--", to mark the end of the options,
-.\" then we should discard it.
-.\"
-.if '\\$1'--' .shift
-.\"
-.\" All PDF reference markers MUST be named. The name may have been
-.\" supplied using the "-N Name" option, (or the "-D Name" option);
-.\" if not, deduce it from the first "word" in the "descriptive text",
-.\" if any, and set the marker -- if we still can't identify the name
-.\" for the destination, then this marker will not be created.
-.\"
-.pdf*href.set \\*[pdf:href-N] \\*[pdf:href-D] \\$1
-.\"
-.\"
-.\" Irrespective of whether this marker is created, or not,
-.\" the descriptive text will be copied to the groff output stream,
-.\" provided the "-E" option was specified
-.\"
-.if \\n[pdf:href-E] \&\\$*
-..
-.de pdf*href-F
-.\"do nothing
-..
-.\"
-.de pdf*href.set
-.\" ----------------------------------------------------------------------
-.\" ----------------------------------------------------------------------
-.ie \\n(.$ \{\
-. \"
-. \" a marker name has been supplied ...
-. \" if we are formatting for immediate output,
-. \" emit PDFMARK code to establish the associated view
-. \"
-. ie '\\n(.z'' \{\
-. pdf:href.sety
-. pdfmark /Dest /\\$1 /View [\\*[PDFHREF.VIEW]] /DEST
-. ds PDFHREF.NAME \\$1
-. rr PDFPAGE.Y
-. \}
-. \"
-. \" but, when formatting a diversion ...
-. \" delay output of the PDFMARK code, until the diversion
-. \" is eventually written out
-. \"
-. el \!.\\$0 \\$@
-. \"
-. \}
-.el \{\
-. \" marker is unnamed ...
-. \" issue error message; do not emit reference data
-. \"
-. pdf:warn pdfhref destination marker must be named
-. \}
-..
-.\"
-.de pdf*href
-.\" ------------------------------------------------------------------
-.\" Usage:
-.\" .pdf*href class [options ...] [link text ...]
-.\" ------------------------------------------------------------------
-.\"
-.\" First, we initialise an empty string, which will be affixed to
-.\" the end of the "link text". (This is needed to cancel the effect
-.\" of a "\c" escape, which is placed at the end of the "link text"
-.\" to support the "-A" option -- any text supplied by the user, when
-.\" the "-A" option is specified, will replace this empty string).
-.\"
-.ds pdf:href-A
-.\"
-.\" Now we interpret, and remove any specified options from the
-.\" argument list. (Note that only options with a declared handler
-.\" will be processed; there is no provision for detecting invalid
-.\" options -- anything which is not recognised is assumed to start
-.\" the "link text" component of the argument list).
-.\"
-.while dpdf:href.opt\\$1 \{\
-. pdf:href.opt\\$1 \\$@
-. shift \\n[pdf:href.argc]
-. \}
-.\"
-.\" If we found "--", to mark the end of the options, then we should
-.\" discard it.
-.\"
-.if '\\$1'--' .shift
-.\"
-.\" All PDF link classes REQUIRE a named destination. This may have
-.\" been supplied using the "-D Name" option, but, if not, deduce it
-.\" from the first "word" in the "link text", if any -- if we still
-.\" can't identify the destination, then set "pdf:href.ok" to zero,
-.\" so this link will not be created.
-.\"
-.if !dpdf:href-D .pdf:href.option -D \\$1
-.if '\\*[pdf:href-D]'' \{\
-. pdf:error pdfhref has no destination
-. nr pdf:href.ok 0
-. \}
-.\"
-.\" Now, initialise a string, defining the PDFMARK code sequence
-.\" to create the reference, using the appropriate type indicators.
-.\"
-.ds pdf:href.link /Subtype /Link \\*[pdf*href.link]
-.\"
-.\" And now, we have no further use for "pdf*href.link".
-.\"
-.rm pdf*href.link
-.\"
-.\" If the user specified any "link prefix" text, (using the "-P text"
-.\" option), then emit it BEFORE processing the "link text" itself.
-.\"
-.if dpdf:href-P \&\\*[pdf:href-P]\c
-.ie \\n[pdf:href.ok] \{\
-. \"
-. \" This link is VALID (so far as we can determine) ...
-. \" Modify the "link text" argument specification, as required,
-. \" to include any pre-formatted cross reference information
-. \"
-. ie \\n(.$ \{\
-. \"
-. \" One or more "link text" argument(s) are present,
-. \" so, set the link description from the argument(s) ...
-. \"
-. ds PDFHREF.DESC \\\\$*
-. \}
-. el \{\
-. ie dpdf:look(\\*[pdf:href-D]) .ds PDFHREF.DESC \\*[pdf:look(\\*[pdf:href-D])]
-. el .ds PDFHREF.DESC Unknown
-. \}
-. \" Apply border and colour specifications to the PDFMARK string
-. \" definition, as required.
-. \"
-. if dPDFHREF.BORDER .as pdf:href.link " /Border [\\*[PDFHREF.BORDER]]
-. if dPDFHREF.COLOUR .as pdf:href.link " /Color [\\*[PDFHREF.COLOUR]]
-. \"
-. \" Emit the "link text", in its appropriate colour, marking the
-. \" limits of its bounding box(es), as the before and after output
-. \" text positions.
-. \"
-. if dPDFHREF.COLOUR .defcolor pdf:href.colour rgb \\*[PDFHREF.COLOUR]
-. nr pdf:bm.width \\w'\\*[PDFHREF.DESC]'
-. nop \&\m[\\*[PDFHREF.TEXT.COLOUR]]\X'pdf: markstart \\n[rst] \\n[rsb] \\*[pdf:href.link]'\\*[PDFHREF.DESC]\X'pdf: markend'\m[]\c
-. \"
-. \" Clean up the temporary registers and strings, used to
-. \" compute the "hot-spot" bounds, and format the reference,
-. \"
-. rm PDFHREF.DESC PDFHREF.TEXT
-. \}
-.\"
-.\" But when we identify an INVALID link ...
-.\" We simply emit the "link text", with no colour change, no border,
-.\" and no associated "hot-spot".
-.\"
-.el \&\\$*\c
-.\"
-.\" And then, if the user specified any affixed text, (using the
-.\" "-A text" option), we tack it on at the end.
-.\"
-.nop \&\\*[pdf:href-A]
-..
-.\" Macro "pdf*href-I" is used for one time initialisation of special
-.\" "pdfhref" features; (currently, only the above page trap hook is
-.\" supported, but it is implemented with one level of indirection, to
-.\" accommodate possible future expansion).
-.
-.de pdf*href-I
-.\" ----------------------------------------------------------------------
-.\" Usage:
-.\" .pdfhref I -<option> <optarg> [-<option> <optarg>] ...
-.\" ----------------------------------------------------------------------
-.\"
-.\" Loop over all arguments, in pairs ...
-.
-.while \\n(.$ \{\
-. \"
-. \" handing them off to their respective initialisers,
-. \" when suitable initialisers exist, or complaining otherwise.
-. \"
-. ie dpdf*href\\$1.init .pdf*href\\$1.init \\$2
-. el .pdf*error pdfhref:init: unknown feature '\\$1'
-. shift 2
-. \}
-..
-.\" Before we can use the page break "hook", we need to initialise it
-.\" as an addendum to a regular page break trap. To ensure that we don't
-.\" compromise the user's page trap setup, we leave the onus for this
-.\" initialisation with the user, but we provide the "pdf*href-PT.init"
-.\" macro, (invoked by ".pdfhref I -PT <macro-name>"), to implement a
-.\" suitable initialisation action.
-.\"
-.\"
-.\" "pdf*href-L" is the generic handler for creating references to
-.\" named destinations in PDF documents. It supports both local
-.\" references, to locations within the same document, through its
-.\" "pdf*href-L.link" attribute, and also references to locations
-.\" in any other PDF document, through "pdf*href-L.file".
-.\"
-.als pdf*href-L pdf*href
-.ds pdf*href-L.link /Dest /\\\\*[pdf:href-D]
-.ds pdf*href-L.file /Action /GoToR \\\\*[pdf:href.files] \\*[pdf*href-L.link]
-.\"
-.\" "pdf*href-O" is the "official" handler for creating PDF
-.\" document outlines. It is simply an alias to "pdfbookmark",
-.\" which may also be invoked directly, if preferred. Neither
-.\" a "pdf*href-O.link" nor a "pdf*href-O.file" attribute is
-.\" required.
-.\"
-.als pdf*href-O pdfbookmark
-.\"
-.\" "pdf*href-W" is the generic handler for creating references to
-.\" web resources, (or any resource specified by a uniform resource
-.\" identifier). Such resource links are fully specified by the
-.\" "pdf*href-W.link" attribute.
-.\"
-.als pdf*href-W pdf*href
-.ds pdf*href-W.link /Action << /Subtype /URI /URI (\\\\*[pdf:href-D]) >>
-.nr pdf:bm.nl 0
-.\"
-.\" "pdfmarksuspend" and "pdfmarkrestart" should be used in any page trap
-.\" macros to prevent output from the page trap macro being considered part
-.\" of a 'hot spot' when it crosses a page boundary.
-.de pdfmarksuspend
-.nop \!x X pdf: marksuspend
-..
-.de pdfmarkrestart
-.nop \!x X pdf: markrestart
-..
-.\"
-.\" pdf.tmac: end of file / vim: ft=groff
diff --git a/tmac/refer-me.tmac b/tmac/refer-me.tmac
deleted file mode 100644
index e86dee45..00000000
--- a/tmac/refer-me.tmac
+++ /dev/null
@@ -1,99 +0,0 @@
-.\" -*- mode: nroff; coding: iso-latin-1; -*-
-.\"
-.\" refer-me.tmac
-.\"
-.\" Refer support for me macros.
-.\"
-.\" Copyright (C) 2011 Free Software Foundation, Inc.
-.\" Written by Werner Lemberg (wl@gnu.org)
-.\"
-.\" 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-.\"
-.\" Please send comments to groff@gnu.org.
-.
-.
-.als ref*error tm
-.
-.de ref*text-label-start
-. (f
-. ip "\\$1"
-..
-.de ref*text-label-end
-. )f
-..
-.
-.de ref*biblio-item-start
-. ip "\\$1"
-..
-.de ref*biblio-item-start-nolabel
-. ip \&
-..
-.de ref*biblio-item-end
-..
-.
-.ds ref*refnum-start \" empty
-.ds ref*refnum-end .\0\"
-.
-.ie \n(.V<1v \{\
-. ds [. \s-2\v'-.4m'\f1
-. ds .] \v'.4m'\s+2\fP
-.\}
-.el \{\
-. ds [. " [
-. ds .] ]
-.\}
-.
-.ds ref*spec!0 Q A T S V N P I C O D
-.ds ref*spec!1 Q A T J S V N P I C D O
-.ds ref*spec!2 Q A T S V P I C D G O
-.ds ref*spec!3 Q A T P B E S V I C D O
-.ds ref*spec!4 Q A T R G P I C D O
-.\" style #5 (Bell Laboratories internal memorandum) is not supported
-.\" by GNU refer
-.
-.ds ref*spec!A ", " "
-.ds ref*spec!B ", " " "in \f2" "" "\f1"
-.ds ref*spec!B:3 ", " " "in \f2" "\f1"
-.ds ref*spec!D """ " " "(" ")"
-.ds ref*spec!D:0 """ " "
-.ds ref*spec!E ", " " "ed. "
-.ds ref*spec!G """ " " "(" ")"
-.ds ref*spec!G:2 ". " " "Gov't. ordering no.\~"
-.ds ref*spec!J ", " " "\f2" "\f1"
-.ds ref*spec!N """ "(" "" ")"
-.ds ref*spec!O ". " "
-.ds ref*spec!O:0 ", " "
-.ds ref*spec!O:2 """ " "
-.ds ref*spec!P ", " " "p.\~"
-.ds ref*spec!PP ", " " "pp.\~"
-.ds ref*spec!T ", " " "\\*(lq" "" "\\*(rq"
-.ds ref*spec!T:0 ", " " "\f2" "\f1"
-.ds ref*spec!T:2 ", " " "\f2" "" "\f1"
-.ds ref*spec!V """ " " "\f3" "\f1"
-.ds ref*spec!dflt ", " "
-.
-.de ref*biblio-start-hook
-. $p References
-. lp
-..
-.
-.de ref*biblio-end-hook
-. sp
-..
-.
-.mso refer.tmac
-.
-.\" EOF
diff --git a/tmac/refer-ms.tmac b/tmac/refer-ms.tmac
deleted file mode 100644
index 5e9da210..00000000
--- a/tmac/refer-ms.tmac
+++ /dev/null
@@ -1,86 +0,0 @@
-.\" -*- mode: nroff; coding: iso-latin-1; -*-
-.\"
-.\" refer-ms.tmac
-.\"
-.\" Refer support for ms macros.
-.\"
-.\" Copyright (C) 2011 Free Software Foundation, Inc.
-.\" Written by Werner Lemberg (wl@gnu.org)
-.\"
-.\" 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-.\"
-.\" Please send comments to groff@gnu.org.
-.
-.
-.als ref*error @error
-.
-.de ref*text-label-start
-. FS "\\$1"
-..
-.de ref*text-label-end
-. FE
-..
-.
-.de ref*biblio-item-start
-. IP "\\$1"
-..
-.de ref*biblio-item-start-nolabel
-. XP
-..
-.de ref*biblio-item-end
-..
-.
-.als ref*refnum-start par@sup-start
-.als ref*refnum-end par@sup-end
-.
-.ds [. \E*[ref*refnum-start]\"
-.ds .] \E*[ref*refnum-end]\"
-.
-.ds ref*spec!0 Q A T S V N P I C D O
-.ds ref*spec!1 Q A T J S V N P I C D O
-.ds ref*spec!2 Q A T S V P I C D O
-.ds ref*spec!3 Q A T B E S V P I C D O
-.ds ref*spec!4 Q A T R G P I C D O
-.
-.ds ref*spec!A ", " "
-.ds ref*spec!B """ " " "in \fI" "" "\fP"
-.ds ref*spec!D """ " " "(" ")"
-.ds ref*spec!E ", " " "ed. "
-.ds ref*spec!G """ " " "(" ")"
-.ds ref*spec!J ", " " "\fI" "" "\fP"
-.ds ref*spec!N """ "(" "" ")"
-.ds ref*spec!O ". " "
-.ds ref*spec!P ", " " "p.\~"
-.ds ref*spec!PP ", " " "pp.\~"
-.ds ref*spec!T ", " " "\\*Q" "" "\\*U"
-.ds ref*spec!T:0 ", " " "\fI" "" "\fP"
-.ds ref*spec!T:2 ", " " "\fI" "" "\fP"
-.ds ref*spec!V """ " " "\fB" "\fR"
-.ds ref*spec!dflt ", " "
-.
-.de ref*biblio-start-hook
-. SH
-. nop \&\\*[REFERENCES]
-. par@reset
-..
-.
-.de ref*biblio-end-hook
-. par@finish
-..
-.
-.mso refer.tmac
-.
-.\" EOF
diff --git a/tmac/refer.tmac b/tmac/refer.tmac
deleted file mode 100644
index 61a306d6..00000000
--- a/tmac/refer.tmac
+++ /dev/null
@@ -1,343 +0,0 @@
-.\" -*- mode: nroff; coding: iso-latin-1; -*-
-.\"
-.\" refer.tmac
-.\"
-.\" This is an interface to `refer', originally part of `s.tmac'.
-.\"
-.\" Copyright (C) 2011 Free Software Foundation, Inc.
-.\" Written by Werner Lemberg (wl@gnu.org)
-.\"
-.\" 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>.
-.\"
-.\" Please send comments to groff@gnu.org.
-.
-.
-.\" The following macros must be defined:
-.\"
-.\" ref*error -- print an error message (in arg1)
-.\"
-.\" ref*text-label-start -- start a reference in text (formatted
-.\" reference number in arg1)
-.\" ref*text-label-end -- end a reference in text
-.\"
-.\" ref*biblio-item-start -- a reference item with label (in arg1)
-.\" in the bibliography block
-.\" ref*biblio-item-start-nolabel -- a reference item without label in the
-.\" bibliography block
-.\" ref*biblio-item-end -- end a reference item in the
-.\" bibliography block
-.\"
-.\" The following macros are optional:
-.\"
-.\" ref*item-start-hook -- stuff appended to the ]- macro
-.\" ref*item-end-hook -- stuff prepended to the ][ macro
-.\" ref*biblio-start-hook -- stuff appended to the ]< macro
-.\" ref*biblio-end-hook -- stuff appended to the ]> macro
-.\"
-.\" The following strings must be defined:
-.\"
-.\" ref*refnum-start -- start reference number formatting in
-.\" footnote
-.\" ref*refnum-end -- end reference number formatting in
-.\" footnote
-.\"
-.\" [. -- start reference number in text
-.\" (directly inserted by `refer')
-.\" .] -- end reference number in text (directly
-.\" inserted by `refer')
-.\"
-.\" Here is the specification of the five possible reference styles
-.\" provided by `refer'. The example entries are taken from the ms
-.\" macro package
-.\"
-.\" ref*spec!0 Q A T S V N P I C D O -- other
-.\" ref*spec!1 Q A T J S V N P I C D O -- journal article
-.\" ref*spec!2 Q A T S V P I C D O -- book
-.\" ref*spec!3 Q A T B E S V P I C D O -- article within book
-.\" ref*spec!4 Q A T R G P I C D O -- technical report
-.\"
-.\" Now the setup for the formatting of reference entries. The given example
-.\" entries for the various strings are taken from the ms macro package.
-.\"
-.\" Each string defines five arguments which are passed to a macro, with the
-.\" meaning as below. Please refer to the man page of `refer' for more
-.\" details on the fields. To allow fine-tuning, two levels are implemented:
-.\" For the refer field X and style Y the string `ref*spec!X:Y' is looked up.
-.\" If it doesn't exist, the string `ref*spec!X' is used instead.
-.\"
-.\" arg 1 the punctuation character to use to separate this field from the
-.\" previous field
-.\" arg 2 a string to insert after the punctuation character of the
-.\" previous field (normally a space)
-.\" arg 3 a string with which to prefix this field
-.\" arg 4 a string with which to postfix this field
-.\" arg 5 a string to add after the punctuation character supplied by the
-.\" next field
-.\"
-.\" 1 2 3 4 5
-.\" ----------------------------------------------------------------------
-.\" ref*spec!A , " " -- author name
-.\" ref*spec!B "" " " "in \fI" "" "\fP" -- book title of article
-.\" ref*spec!D "" " " "(" ")" -- date of publication
-.\" ref*spec!E , " " "ed. " -- editor
-.\" ref*spec!G "" " " "(" ")" -- US Gov. ordering number
-.\" ref*spec!J , " " "\fI" "" "\fP" -- journal name
-.\" ref*spec!N "" "(" "" ")" -- issue number
-.\" ref*spec!O . " " -- other information
-.\" ref*spec!P , " " "p.\~" -- page
-.\" ref*spec!PP , " " "pp.\~" -- page range
-.\" ref*spec!T , " " "\\*Q" "" "\\*U" -- journal title
-.\" ref*spec!T:0 , " " "\fI" "" "\fP" -- book title (other)
-.\" ref*spec!T:2 , " " "\fI" "" "\fP" -- book title (book)
-.\" ref*spec!V "" " " "\fB" "\fR" -- volume number
-.\"
-.\" ref*spec!dflt , " " -- all other entries
-.
-.\" start of reference
-.de ]-
-. rm [A [B [C [D [E [G [I [J [N [O [P [Q [R [S [T [V
-. rm ref*string
-. if d ref*item-start-hook \
-. ref*item-start-hook
-..
-.
-.
-.\" end of reference
-.de ][
-. if d ref*item-end-hook \
-. ref*item-end-hook
-. ie d ref*spec!\\$1 \
-. ref*build \\$1 \\*[ref*spec!\\$1]
-. el \{\
-. ref*error "unknown reference type `\\$1'"
-. ref*build 0 \\*[ref*spec!0]
-. \}
-. ref*print
-. rm ref*string
-. rm [F
-..
-.
-.
-.\" period before reference
-.ds <. .\"
-.
-.\" period after reference
-.ds >. \" empty
-.
-.\" comma before reference
-.ds <, ,\"
-.
-.\" comma after reference
-.ds >, \" empty
-.
-.
-.\" start collected references
-.de ]<
-. als ref*print ref*end-print
-. if d ref*biblio-start-hook \
-. ref*biblio-start-hook
-..
-.
-.
-.\" end collected references
-.de ]>
-. als ref*print ref*normal-print
-. if d ref*biblio-end-hook \
-. ref*biblio-end-hook
-..
-.
-.
-.de ref*normal-print
-. ie d [F \
-. ref*text-label-start \
- "\\*[ref*refnum-start]\\*([F\\*[ref*refnum-end]"
-. el \
-. ref*text-label-start \&
-. nop \\*[ref*string]
-. ref*text-label-end
-..
-.
-.
-.de ref*end-print
-. ie d [F \
-. ref*biblio-item-start "\\*([F."
-. el \
-. ref*biblio-item-start-nolabel
-. nop \\*[ref*string]
-. ref*biblio-item-end
-..
-.
-.
-.als ref*print ref*normal-print
-.
-.de ref*build
-. rm ref*string ref*post-punct
-. nr ref*suppress-period 1
-. nr ref*style \\$1
-. shift
-. while \\n[.$] \{\
-. if d [\\$1 \{\
-. ie d ref*add-\\$1 \
-. ref*add-\\$1 \\n[ref*style]
-. el \
-. ref*add-dflt \\$1 \\n[ref*style]
-. \}
-. shift
-. \}
-. \" now add a final period
-. ie d ref*string \{\
-. if !\\n[ref*suppress-period] \
-. as ref*string .
-. if d ref*post-punct \{\
-. as ref*string "\\*[ref*post-punct]
-. rm ref*post-punct
-. \}
-. \}
-. el \
-. ds ref*string
-..
-.
-.
-.de ref*add-T
-. ie d ref*spec!T:\\$1 \
-. ref*field T \\*[ref*spec!T:\\$1]
-. el \
-. ref*field T \\*[ref*spec!T]
-. if r [T \
-. nr ref*suppress-period \\n([T
-..
-.
-.de ref*add-P
-. ie \\n([P>0 \{\
-. ie d ref*spec!PP:\\$1 \
-. ref*field P \\*[ref*spec!PP:\\$1]
-. el \
-. ref*field P \\*[ref*spec!PP]
-. \}
-. el \{\
-. ie d ref*spec!P:\\$1 \
-. ref*field P \\*[ref*spec!P:\\$1]
-. el \
-. ref*field P \\*[ref*spec!P]
-. \}
-..
-.
-.de ref*add-J
-. ie ref*spec!J:\\$1 \
-. ref*field J \\*[ref*spec!J:\\$1]
-. el \
-. ref*field J \\*[ref*spec!J]
-..
-.
-.de ref*add-D
-. ie ref*spec!D:\\$1 \
-. ref*field D \\*[ref*spec!D:\\$1]
-. el \
-. ref*field D \\*[ref*spec!D]
-..
-.
-.de ref*add-E
-. ie ref*spec!E:\\$1 \
-. ref*field E \\*[ref*spec!E:\\$1]
-. el \
-. ref*field E \\*[ref*spec!E]
-..
-.
-.de ref*add-G
-. ie ref*spec!G:\\$1 \
-. ref*field G \\*[ref*spec!G:\\$1]
-. el \
-. ref*field G \\*[ref*spec!G]
-..
-.
-.de ref*add-B
-. ie ref*spec!B:\\$1 \
-. ref*field B \\*[ref*spec!B:\\$1]
-. el \
-. ref*field B \\*[ref*spec!B]
-..
-.
-.de ref*add-O
-. ie ref*spec!O:\\$1 \
-. ref*field O \\*[ref*spec!O:\\$1]
-. el \
-. ref*field O \\*[ref*spec!O]
-. if r [O \
-. nr ref*suppress-period \\n([O
-.\" XXX
-.\" el \
-.\" nr ref*suppress-period 1
-..
-.
-.de ref*add-A
-. ie ref*spec!A:\\$1 \
-. ref*field A \\*[ref*spec!A:\\$1]
-. el \
-. ref*field A \\*[ref*spec!A]
-. if r [A \
-. nr ref*suppress-period \\n([A
-..
-.
-.de ref*add-V
-. ie ref*spec!V:\\$1 \
-. ref*field V \\*[ref*spec!V:\\$1]
-. el \
-. ref*field V \\*[ref*spec!V]
-..
-.
-.de ref*add-N
-. ie ref*spec!N:\\$1 \
-. ref*field N \\*[ref*spec!N:\\$1]
-. el \
-. ref*field N \\*[ref*spec!N]
-..
-.
-.de ref*add-dflt
-. ie ref*spec!dflt:\\$2 \
-. ref*field \\$1 \\*[ref*spec!dflt:\\$2]
-. el \
-. ref*field \\$1 \\*[ref*spec!dflt]
-..
-.
-.
-.\" First argument is the field letter.
-.\" Second argument is the punctuation character to use to separate this
-.\" field from the previous field.
-.\" Third argument is a string to insert after the punctuation character of
-.\" the previous field (normally a space).
-.\" Fourth argument is a string with which to prefix this field.
-.\" Fifth argument is a string with which to postfix this field.
-.\" Sixth argument is a string to add after the punctuation character
-.\" supplied by the next field.
-.de ref*field
-. if d ref*string \{\
-. ie d ref*post-punct \{\
-. if !\\n[ref*suppress-period] \
-. as ref*string "\\$2\"
-. as ref*string "\\*[ref*post-punct]\\$3\"
-. rm ref*post-punct
-. \}
-. el \
-. as ref*string "\\$2\\$3\"
-. \}
-. as ref*string "\\$4\\*([\\$1\\$5
-. if \\n[.$]>5 \
-. ds ref*post-punct "\\$6\"
-. nr ref*suppress-period 0
-..
-.
-.
-.\" EOF
diff --git a/tmac/s.tmac b/tmac/s.tmac
index 8a1c8c12..3a0e0c66 100644
--- a/tmac/s.tmac
+++ b/tmac/s.tmac
@@ -1869,7 +1869,157 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
.\" ******** module ref ********
.\" ****************************
.\" Refer support.
-.mso refer-ms.tmac
+.de ]-
+.rm [A [B [C [D [E [G [I [J [N [O [P [Q [R [S [T [V
+.rm ref*string
+..
+.\" Other
+.ds ref*spec!0 Q A T1 S V N P I C D O
+.\" Journal article
+.ds ref*spec!1 Q A T2 J S V N P I C D O
+.\" Book
+.ds ref*spec!2 Q A T1 S V P I C D O
+.\" Article within book
+.ds ref*spec!3 Q A T2 B E S V P I C D O
+.\" Tech report
+.ds ref*spec!4 Q A T2 R G P I C D O
+.\" ][ type
+.de ][
+.if r [T \{\
+. als [T1 [T
+. als [T2 [T
+.\}
+.ie d ref*spec!\\$1 .ref*build \\*[ref*spec!\\$1]
+.el \{\
+. @error unknown reference type `\\$1'
+. ref*build \\*[ref*spec!0]
+.\}
+.ref*print
+.rm ref*string
+.rm [F [T1 [T2
+..
+.\" start of reference number
+.ds [. \E*[par@sup-start]
+.\" end of reference number
+.ds .] \E*[par@sup-end]
+.\" period before reference
+.ds <. .
+.\" period after reference
+.ds >. \" empty
+.\" comma before reference
+.ds <, ,
+.\" comma after reference
+.ds >, \" empty
+.\" start collected references
+.de ]<
+.als ref*print ref*end-print
+.SH
+\&\\*[REFERENCES]
+.par@reset
+..
+.\" end collected references
+.de ]>
+.par@finish
+.als ref*print ref*normal-print
+..
+.de ref*normal-print
+.ie d [F .FS "\\*([.\\*([F\\*(.]"
+.el .FS \&
+\\*[ref*string]
+.FE
+..
+.de ref*end-print
+.ie d [F .IP "\\*([F."
+.el .XP
+\\*[ref*string]
+..
+.als ref*print ref*normal-print
+.de ref*build
+.rm ref*string ref*post-punct
+.nr ref*suppress-period 1
+.while \\n[.$] \{\
+. if d [\\$1 \{\
+. ie d ref*add-\\$1 .ref*add-\\$1
+. el .ref*add-dflt \\$1
+. \}
+. shift
+.\}
+.\" now add a final period
+.ie d ref*string \{\
+. if !\\n[ref*suppress-period] .as ref*string .
+. if d ref*post-punct \{\
+. as ref*string "\\*[ref*post-punct]
+. rm ref*post-punct
+. \}
+.\}
+.el .ds ref*string
+..
+.de ref*add-T1
+.ref*field T , " " "\fI" "" "\fP"
+.if r [T .nr ref*suppress-period \\n([T
+..
+.de ref*add-T2
+.ref*field T , " " "\\*Q" "" "\\*U"
+.if r [T .nr ref*suppress-period \\n([T
+..
+.de ref*add-P
+.ie \\n([P>0 .ref*field P , " " "pp. "
+.el .ref*field P , " " "p. "
+..
+.de ref*add-J
+.ref*field J , " " \fI "" \fP
+..
+.de ref*add-D
+.ref*field D "" " " ( )
+..
+.de ref*add-E
+.ref*field E , " " "ed. "
+..
+.de ref*add-G
+.ref*field G "" " " ( )
+..
+.de ref*add-B
+.ref*field B "" " " "in \fI" "" \fP
+..
+.de ref*add-O
+.ref*field O . " "
+.ie r [O .nr ref*suppress-period \\n([O
+.el .nr ref*suppress-period 1
+..
+.de ref*add-A
+.ref*field A , " "
+.if r [A .nr ref*suppress-period \\n([A
+..
+.de ref*add-V
+.ref*field V "" " " \fB \fR
+..
+.de ref*add-N
+.ref*field N "" ( "" ")"
+..
+.de ref*add-dflt
+.ref*field \\$1 , " "
+..
+.\" First argument is the field letter.
+.\" Second argument is the punctuation character to use to separate this field
+.\" from the previous field.
+.\" Third argument is a string to insert after the punctuation character of
+.\" the previous field (normally a space)
+.\" Fourth argument is a string with which to prefix this field.
+.\" Fifth argument is a string with which to postfix this field.
+.\" Sixth argument is a string to add after the punctuation character supplied
+.\" by the next field.
+.de ref*field
+.if d ref*string \{\
+. ie d ref*post-punct \{\
+. as ref*string "\\$2\\*[ref*post-punct]\\$3\"
+. rm ref*post-punct
+. \}
+. el .as ref*string "\\$2\\$3\"
+.\}
+.as ref*string "\\$4\\*([\\$1\\$5
+.if \\n[.$]>5 .ds ref*post-punct "\\$6
+.nr ref*suppress-period 0
+..
.\" ****************************
.\" ******** module acc ********
.\" ****************************
diff --git a/tmac/troffrc b/tmac/troffrc
index 553ab240..470f2627 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -10,7 +10,6 @@
.\" The groff command defines the .X string if the -X option was given.
.ie r.X .do ds troffrc!ps Xps.tmac
.el .do ds troffrc!ps ps.tmac
-.do ds troffrc!pdf pdf.tmac
.do ds troffrc!dvi dvi.tmac
.do ds troffrc!X75 X.tmac
.do ds troffrc!X75-12 X.tmac
@@ -26,7 +25,7 @@
.do if d troffrc!\*[.T] \
. do mso \*[troffrc!\*[.T]]
.do rm troffrc!ps troffrc!Xps troffrc!dvi troffrc!X75 troffrc!X75-12 \
-troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html troffrc!pdf
+troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html
.
.\" Test whether we work under EBCDIC and map the no-breakable space
.\" character accordingly.