summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog35
-rw-r--r--MANIFEST19
-rw-r--r--NEWS51
-rw-r--r--doc/groff.texinfo50
-rw-r--r--man/groff_tmac.man56
-rw-r--r--src/devices/grodvi/dvi.cc1
-rw-r--r--src/devices/grohtml/post-html.cc1
-rw-r--r--src/devices/grolbp/lbp.cc1
-rw-r--r--src/devices/grolj4/lj4.cc1
-rw-r--r--src/devices/grops/ps.cc11
-rw-r--r--src/devices/grotty/tty.cc1
-rw-r--r--src/include/driver.h1
-rw-r--r--src/libs/libdriver/input.cc6
-rw-r--r--src/libs/libdriver/printer.cc2
-rw-r--r--src/libs/libgroff/paper.cc8
-rw-r--r--tmac/Makefile.sub2
-rw-r--r--tmac/a4.tmac18
-rw-r--r--tmac/an-old.tmac6
-rw-r--r--tmac/composite.tmac40
-rw-r--r--tmac/groff_man.man3
-rw-r--r--tmac/troffrc3
21 files changed, 233 insertions, 83 deletions
diff --git a/ChangeLog b/ChangeLog
index c9b5c0d8..382e6a54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+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.
diff --git a/MANIFEST b/MANIFEST
index b45c046d..72325da4 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,10 +1,10 @@
MANIFEST
-Last update: 21 Dec 2001
+Last update: 11 Mar 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2001 Free Software Foundation, Inc.
+Copyright (C) 2001, 2003 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de>
maintained by Werner Lemberg <wl@gnu.org>
@@ -50,6 +50,8 @@ the groff source distribution.
djgpp Data special for the 32-bit DOS compiler djgpp.
./contrib Part of groff, but maintained by other people.
+ eqn2graph Convert equations created with EQN into different
+ graphical formats.
groffer A wrapper to conveniently view roff files.
mm The groff mm macro package.
mom The groff mom macro package.
@@ -107,8 +109,6 @@ the groff source distribution.
nroff Emulate classical nroff text formatter.
troff Main roff formatter program.
-./src/xditview A groff (pre)viewer for the X Window System.
-
./src/utils Utility programs around groff.
addftinfo Add information to old troff font files for use with groff.
afmtodit Create font description files for the PostScript device.
@@ -116,9 +116,11 @@ the groff source distribution.
indxbib Make inverted index for bibliographic databases.
lkbib Search bibliographic databases.
lookbib Interactively search bibliographic databases.
- pfbtops Translate a PostScript font in .pfb format to ASCII.
+ pfbtops Translate a PostScript font in PFB format to PFA.
tfmtodit Create font description files for TeX DVI device.
+./src/xditview A groff (pre)viewer for the X Window System.
+
./tmac Macro files.
@@ -141,9 +143,10 @@ The groff documentation is scattered upon several places.
4) The roff parser
-The parsing of the roff language is done by troff. The input is
-transformed into "nodes" by `src/roff/troff/node.cc'. From these, the
-intermediate output is generated.
+The parsing of the roff language is done by troff. The input is converted
+to tokens in `src/roff/troff/input.cc' and transformed into `nodes' by
+`src/roff/troff/env.cc' and `src/roff/troff/node.cc'. From these, the
+intermediate output is generated (also in `node.cc').
5) Postprocessing
diff --git a/NEWS b/NEWS
index 74c16dce..b89a46ed 100644
--- a/NEWS
+++ b/NEWS
@@ -16,10 +16,6 @@ o Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and
the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8,
and latin-2 only for -Tdvi and -Tutf8.
-o Non-slanted PostScript metrics have been changed again; they no longer
- contain negative left italic correction values. This assures correct
- spacing with eqn.
-
o Composite glyphs are now supported. To do this, a subset of the Adobe
Glyph List (AGL) Algorithm as described in
@@ -48,7 +44,8 @@ o Composite glyphs are now supported. To do this, a subset of the Adobe
.composite ho u0328
- is needed.
+ is needed. [The new file `composite.tmac' loaded at start-up already
+ contains proper calls to `.composite'.]
Please refer to the info pages of groff and to the groff_char man page
for more details.
@@ -92,9 +89,9 @@ o The new glyph symbol `tno' is a textual variant of `no'.
o The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
(Well, it is not really new since it has been previously supported by
- grolj4.) The mapping for the dvi symbol font has been changed accordingly
- so that Greek small letter epsilon, `*e', has the same glyph shape as with
- other devices.
+ grolj4.) The mapping for both the dvi and lj4 symbol font has been
+ changed accordingly so that Greek small letter epsilon, `*e', has the
+ same glyph shape as with other devices.
Grops
-----
@@ -106,14 +103,18 @@ o It is now possible to access all glyphs in a Type 1 font, not only 256
(provided the font file created by afmtodit has proper entries). grops
constructs additional encoding vectors on the fly if necessary.
-o Now emits paper size via %%DocumentMedia and PageSize mechanisms, so
- that it is no longer required to tell `gv' or `ps2pdf' about the paper
- size. The `broken' flag 16 omits this feature (the used PostScript
- command `setpagedevice' is a LanguageLevel 2 extension). Patch by Egil
- Kvaleberg <egil@kvaleberg.no>.
+o The paper size is now emitted via the %%DocumentMedia and PageSize
+ mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
+ about the paper size. The `broken' flag value 16 omits this feature
+ (the used PostScript command `setpagedevice' is a LanguageLevel 2
+ extension). Patch by Egil Kvaleberg <egil@kvaleberg.no>.
+
+o Non-slanted PostScript metrics have been changed again; they no longer
+ contain negative left italic correction values. This assures correct
+ spacing with eqn.
Grodvi
------
+------
o The font cmtex10 has been added as the special font `SC' to the DVI fonts.
It is used as a font-specific special font for CW and CWI.
@@ -133,7 +134,7 @@ o The environment variable `REFER' to override the name of the default
Afmtodit
--------
-o Unencoded glyphs in an AFM file are output also (since grops can emit
+o Unencoded glyphs in an AFM file are output also (since grops can now emit
multiple encoding vectors for a single font).
o New option `-m' to prevent negative left italic correction values.
@@ -161,6 +162,26 @@ o Larry Kollar <kollar@alltel.net> and others made the man macros more
. The string `HF' now holds the typeface to print headings and
subheadings.
+ . Similar to the ms macros, the LT register now defaults to LL if not
+ explicitly specified on the command line.
+
+o troff's start-up file `troffrc' now includes `papersize.tmac' to set
+ the paper size with the command line option `-dpaper=<size>'.
+
+ Possible values for `<size>' are the same as the predefined `papersize'
+ values in the DESC file (only lowercase; see the groff_font man page)
+ except a7-d7. An appended `l' (ell) character denotes landscape
+ orientation. Examples: `a4', `c3l', `letterl'.
+
+ Most output drivers need additional command line switches `-p' and
+ `-l' to override the default paper length and orientation as set in
+ the driver specific DESC file.
+
+ For example, use the following for PS output on A4 paper in landscape
+ orientation:
+
+ groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
+
VERSION 1.18.1
==============
diff --git a/doc/groff.texinfo b/doc/groff.texinfo
index 5595fa82..037646ec 100644
--- a/doc/groff.texinfo
+++ b/doc/groff.texinfo
@@ -805,6 +805,7 @@ Similarly, we say @samp{gpic}, @samp{geqn}, etc.
* Environment::
* Macro Directories::
* Font Directories::
+* Paper Size::
* Invocation Examples::
@end menu
@@ -1292,7 +1293,7 @@ directories during the installation process.
@c =====================================================================
-@node Font Directories, Invocation Examples, Macro Directories, Invoking groff
+@node Font Directories, Paper Size, Macro Directories, Invoking groff
@section Font Directories
@cindex font directories
@cindex directories for fonts
@@ -1350,7 +1351,49 @@ directories during the installation process.
@c =====================================================================
-@node Invocation Examples, , Font Directories, Invoking groff
+@node Paper Size, Invocation Examples, Font Directories, Invoking groff
+@section Paper Size
+@cindex paper size
+@cindex size, paper
+@cindex landscape page orientation
+@cindex orientation, landscape
+@cindex page orientation, landscape
+
+In groff, the page size for @code{gtroff} and for output devices are
+handled separately. @xref{Page Layout}, for vertical manipulation of
+the page size. @xref{Line Layout}, for horizontal changes.
+
+A default paper size can be set in the device's @file{DESC} file. Most
+output devices also have a command line option @option{-p} to override
+the default paper size and option @option{-l} to use landscape
+orientation. @xref{DESC File Format}, for a description of the
+@code{papersize} keyword which takes the same argument as @option{-p}.
+
+@pindex papersize.tmac
+@pindex troffrc
+A convenient shorthand to set a particular paper size for @code{gtroff}
+is command line option @option{-dpaper=@var{size}}. This defines string
+@code{paper} which is processed in file @file{papersize.tmac} (loaded in
+the start-up file @file{troffrc} by default). Possible values for
+@var{size} are the same as the predefined values for the
+@code{papersize} keyword (but only in lowercase) except
+@code{a7}-@code{d7}. An appended @samp{l} (ell) character denotes
+landscape orientation.
+
+For example, use the following for PS output on A4 paper in landscape
+orientation:
+
+@Example
+groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
+@endExample
+
+Note that it is up to the particular macro package to respect default
+page dimensions set in this way (most do).
+
+
+@c =====================================================================
+
+@node Invocation Examples, , Paper Size, Invoking groff
@section Invocation Examples
@cindex invocation examples
@cindex examples of invocation
@@ -2010,8 +2053,7 @@ line) and 6.5@tie{}inch otherwise.
@item -rLT=@var{length}
Set title length to @var{length}. If not specified, the title length
-defaults to 78@tie{}en in nroff mode (this is 78@tie{}characters per
-line) and 6.5@tie{}inch otherwise.
+defaults to the line length.
@item -rP@var{nnn}
Page numbering starts with @var{nnn} rather than with@tie{}1.
diff --git a/man/groff_tmac.man b/man/groff_tmac.man
index f8b34523..d7748dc7 100644
--- a/man/groff_tmac.man
+++ b/man/groff_tmac.man
@@ -15,11 +15,11 @@ groff_tmac.5
File position: <groff-source>/man/groff_tmac.man
-Last update: 20 Oct 2002
+Last update: 13 Mar 2003
This file is part of groff, the GNU roff type-setting system.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
written by Bernd Warken <bwarken@mayn.de> and Werner Lemberg
<wl@gnu.org>
@@ -409,6 +409,48 @@ macro package or to plain groff.
.
.
.TP
+.B papersize
+This macro file is already loaded at start-up by
+.B @g@troff
+so it isn't necessary to call it explicitly.
+.
+It provides an interface to set the paper size on the command line with
+the option \f[B]\%\-dpaper=\f[]\f[I]size\f[].
+.
+Possible values for
+.I size
+are the same as the predefined
+.B papersize
+values in the DESC file (only lowercase; see
+.BR groff_font (@MAN5EXT@)
+for more) except
+.BR a7 - d7 .
+.
+An appended
+.B l
+(ell) character denotes landscape orientation.
+.
+Examples:
+.BR a4 ,
+.BR c3l ,
+.BR letterl .
+.
+.IP
+Most output drivers need additional command line switches
+.B \-p
+and
+.B \-l
+to override the default paper length and orientation as set in the driver
+specific DESC file.
+.
+For example, use the following for PS output on A4 paper in landscape
+orientation:
+.
+.IP
+.Shell_cmd "groff \-Tps \-dpaper=a4l \-P\-pa4 \-P\-l \-ms foo.ms > foo.ps"
+.
+.
+.TP
.B tty-char
Overrides the definition of standard troff characters and some groff
characters for tty devices.
@@ -640,7 +682,7 @@ is used or
.P
In both cases, the formatter is called with
.IP
-.Shell_cmd "troff\~\-s\~" docu.roff
+.Shell_cmd "groff\~\-s\~" docu.roff
.
.
.P
@@ -811,12 +853,16 @@ say.
.
.P
When calling this macro by
+.
.P
.Example
. Text .print_args arg1 arg2
./Example
+.
.P
the following text is printed to the terminal:
+.
+.P
.Example
. Text \f[CI]print_args\f[] was called with the following 2 arguments:
arg1 arg2
@@ -1012,7 +1058,7 @@ All macro names must be named
to fully use the tmac mechanism.
.
.BI tmac. name
-as with classical packages is possible as well, but deprecated.
+as with classical packages is possible as well, but deprecated.
.
.
.P
@@ -1075,7 +1121,7 @@ See the previous section for a detailed description.
.SH AUTHOR
.\" --------------------------------------------------------------------
.
-Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
.
.P
This document is distributed under the terms of the FDL (GNU Free
diff --git a/src/devices/grodvi/dvi.cc b/src/devices/grodvi/dvi.cc
index c25ebf84..de0d42be 100644
--- a/src/devices/grodvi/dvi.cc
+++ b/src/devices/grodvi/dvi.cc
@@ -934,7 +934,6 @@ int main(int argc, char **argv)
for (int i = optind; i < argc; i++)
do_file(argv[i]);
}
- delete pr;
return 0;
}
diff --git a/src/devices/grohtml/post-html.cc b/src/devices/grohtml/post-html.cc
index 2f5d757b..0af291eb 100644
--- a/src/devices/grohtml/post-html.cc
+++ b/src/devices/grohtml/post-html.cc
@@ -3759,7 +3759,6 @@ int main(int argc, char **argv)
for (int i = optind; i < argc; i++)
do_file(argv[i]);
}
- delete pr;
return 0;
}
diff --git a/src/devices/grolbp/lbp.cc b/src/devices/grolbp/lbp.cc
index 904fab3b..b34a1e08 100644
--- a/src/devices/grolbp/lbp.cc
+++ b/src/devices/grolbp/lbp.cc
@@ -735,6 +735,5 @@ int main(int argc, char **argv)
while (optind < argc)
do_file(argv[optind++]);
lbpputs("\033c\033<");
- delete pr;
return 0;
}
diff --git a/src/devices/grolj4/lj4.cc b/src/devices/grolj4/lj4.cc
index 9e110c2e..3d36e227 100644
--- a/src/devices/grolj4/lj4.cc
+++ b/src/devices/grolj4/lj4.cc
@@ -693,7 +693,6 @@ int main(int argc, char **argv)
for (int i = optind; i < argc; i++)
do_file(argv[i]);
}
- delete pr;
return 0;
}
diff --git a/src/devices/grops/ps.cc b/src/devices/grops/ps.cc
index 4d52743f..4aaddbff 100644
--- a/src/devices/grops/ps.cc
+++ b/src/devices/grops/ps.cc
@@ -50,6 +50,7 @@ static int linewidth = -1;
// length using the imageable area.
static int guess_flag = 0;
static double user_paper_length = 0;
+static double user_paper_width = 0;
// Non-zero if -b was specified on the command line.
static int bflag = 0;
@@ -1258,12 +1259,14 @@ int ps_printer::media_width()
* Postscript definition specifies that media
* matching should be done within a tolerance of 5 units.
*/
- return int(font::paperwidth*72.0/font::res + 0.5);
+ return int(user_paper_width ? user_paper_width*72.0 + 0.5
+ : font::paperwidth*72.0/font::res + 0.5);
}
int ps_printer::media_height()
{
- return int(paper_length*72.0/font::res + 0.5);
+ return int(user_paper_length ? user_paper_length*72.0 + 0.5
+ : paper_length*72.0/font::res + 0.5);
}
void ps_printer::media_set()
@@ -1805,7 +1808,8 @@ int main(int argc, char **argv)
manual_feed_flag = 1;
break;
case 'p':
- if (!font::scan_papersize(optarg, 0, &user_paper_length, 0))
+ if (!font::scan_papersize(optarg, 0,
+ &user_paper_length, &user_paper_width))
error("invalid custom paper size `%1' ignored", optarg);
break;
case 'P':
@@ -1845,7 +1849,6 @@ int main(int argc, char **argv)
for (int i = optind; i < argc; i++)
do_file(argv[i]);
}
- delete pr;
return 0;
}
diff --git a/src/devices/grotty/tty.cc b/src/devices/grotty/tty.cc
index bfb8a207..b60f86a8 100644
--- a/src/devices/grotty/tty.cc
+++ b/src/devices/grotty/tty.cc
@@ -805,7 +805,6 @@ int main(int argc, char **argv)
for (int i = optind; i < argc; i++)
do_file(argv[i]);
}
- delete pr;
return 0;
}
diff --git a/src/include/driver.h b/src/include/driver.h
index d9579289..b15d6c99 100644
--- a/src/include/driver.h
+++ b/src/include/driver.h
@@ -34,4 +34,3 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "geometry.h"
void do_file(const char *);
-extern printer *pr;
diff --git a/src/libs/libdriver/input.cc b/src/libs/libdriver/input.cc
index b79b6d87..bc9b7f57 100644
--- a/src/libs/libdriver/input.cc
+++ b/src/libs/libdriver/input.cc
@@ -8,7 +8,7 @@
Written by James Clark (jjc@jclark.com)
Major rewrite 2001 by Bernd Warken (bwarken@mayn.de)
- Last update: 14 Feb 2003
+ Last update: 11 Mar 2003
This file is part of groff, the GNU roff text processing system.
@@ -354,8 +354,7 @@ int current_lineno = 0; // current line number of printout
// exported as extern by device.h;
const char *device = 0; // cancel former init with literal
-// from driver.h; pr is kept between several runs of do_file()
-// extern printer *pr;
+printer *pr;
// Note:
//
@@ -1831,6 +1830,7 @@ do_file(const char *filename)
// end of file reached
if (npages > 0)
pr->end_page(current_env->vpos);
+ delete pr;
fclose(current_file);
// If `stopped' is not `true' here then there wasn't any `x stop'.
if (!stopped)
diff --git a/src/libs/libdriver/printer.cc b/src/libs/libdriver/printer.cc
index c97e2ce6..289be901 100644
--- a/src/libs/libdriver/printer.cc
+++ b/src/libs/libdriver/printer.cc
@@ -28,8 +28,6 @@
#include "driver.h"
-printer *pr = 0;
-
font_pointer_list::font_pointer_list(font *f, font_pointer_list *fp)
: p(f), next(fp)
{
diff --git a/src/libs/libgroff/paper.cc b/src/libs/libgroff/paper.cc
index d79733e0..db8f5bcf 100644
--- a/src/libs/libgroff/paper.cc
+++ b/src/libs/libgroff/paper.cc
@@ -1,5 +1,5 @@
// -*- C++ -*-
-/* Copyright (C) 2002
+/* Copyright (C) 2002, 2003
Free Software Foundation, Inc.
Written by Werner Lemberg (wl@gnu.org)
@@ -42,9 +42,9 @@ static void add_iso_paper(char series, int offset,
papersizes[offset + i].width = (double)width / 25.4;
// after division by two, values must be rounded down to the next
// integer (as specified by ISO)
- int tmp = width;
- width = length;
- length = tmp / 2;
+ int tmp = length;
+ length = width;
+ width = tmp / 2;
}
}
diff --git a/tmac/Makefile.sub b/tmac/Makefile.sub
index 1e128001..a2f83821 100644
--- a/tmac/Makefile.sub
+++ b/tmac/Makefile.sub
@@ -11,7 +11,7 @@ NORMALFILES=\
me.tmac \
mdoc.tmac \
pic.tmac \
- a4.tmac \
+ a4.tmac papersize.tmac \
ec.tmac \
safer.tmac \
trace.tmac \
diff --git a/tmac/a4.tmac b/tmac/a4.tmac
index 5001939d..80c944d0 100644
--- a/tmac/a4.tmac
+++ b/tmac/a4.tmac
@@ -1,12 +1,20 @@
.\" a4.tmac
.\"
.\" Set up groff for A4 paper. Must be called before any other macro
-.\" package. For correct PS output, you must also set the
-.\" `paperlength' keyword in devps/DESC to 841890 in case groff hasn't
-.\" guessed it correctly during configuration.
+.\" package.
+.\"
+.\" Some output drivers need an additional command line switch `-p' to
+.\" override the default paper length set in the driver specific DESC
+.\" file.
+.\"
+.\" For example, use the following for PS output:
+.\"
+.\" groff -Tps -P-pa4 -ma4 -ms foo.ms > foo.ps
.
.pl 29.7c
.ll 21c-2i
.
-.\" for ms
-.if !rLL .nr LL \n[.l]u
+.\" for ms, mdoc, man
+.do if !r LL .nr LL \n[.l]u
+.
+.\" EOF
diff --git a/tmac/an-old.tmac b/tmac/an-old.tmac
index 9cbf6fc7..dc886157 100644
--- a/tmac/an-old.tmac
+++ b/tmac/an-old.tmac
@@ -62,10 +62,8 @@
. ie n .nr LL 78n
. el .nr LL 6.5i
.\}
-.if !r LT \{\
-. ie n .nr LT 78n
-. el .nr LT 6.5i
-.\}
+.if !r LT \
+. nr LT \n[LL]
.
.nr FT -.5i
.
diff --git a/tmac/composite.tmac b/tmac/composite.tmac
index b6323a19..93269337 100644
--- a/tmac/composite.tmac
+++ b/tmac/composite.tmac
@@ -1,24 +1,24 @@
.\" composite.tmac
.
-.composite ga u0300
-.composite ` u0300
-.composite aa u0301
-.composite ' u0301
-.composite a^ u0302
-.composite ^ u0302
-.composite a~ u0303
-.composite ~ u0303
-.composite a- u0304
-.composite - u0304
-.composite ab u0306
-.composite a. u0307
-.composite . u0307
-.composite ad u0308
-.composite ao u030A
-.composite a" u030B
-.composite " u030B
-.composite ah u030C
-.composite ac u0327
-.composite ho u0328
+.do composite ga u0300
+.do composite ` u0300
+.do composite aa u0301
+.do composite ' u0301
+.do composite a^ u0302
+.do composite ^ u0302
+.do composite a~ u0303
+.do composite ~ u0303
+.do composite a- u0304
+.do composite - u0304
+.do composite ab u0306
+.do composite a. u0307
+.do composite . u0307
+.do composite ad u0308
+.do composite ao u030A
+.do composite a" u030B
+.do composite " u030B
+.do composite ah u030C
+.do composite ac u0327
+.do composite ho u0328
.
.\" EOF
diff --git a/tmac/groff_man.man b/tmac/groff_man.man
index e8011985..5886e4f8 100644
--- a/tmac/groff_man.man
+++ b/tmac/groff_man.man
@@ -136,8 +136,7 @@ and 6.5i in troff mode.
.TP
.BI \-rLT= title-length
Set title length.
-If this option is not given, the title length defaults to 78n in nroff mode
-and 6.5i in troff mode.
+If this option is not given, the title length defaults to the line length.
.
.TP
.BI \-rP nnn
diff --git a/tmac/troffrc b/tmac/troffrc
index e45be3d1..419a6716 100644
--- a/tmac/troffrc
+++ b/tmac/troffrc
@@ -40,4 +40,7 @@ troffrc!X100 troffrc!X100-12 troffrc!lj4 troff!lbp troffrc!html
.\" Load composite mappings.
.do mso composite.tmac
.
+.\" Handle paper formats
+.do mso papersize.tmac
+.
.\" Don't let blank lines creep in here.