[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

groff version 1.20.1 released

From: Werner LEMBERG
Subject: groff version 1.20.1 released
Date: Sat, 10 Jan 2009 08:53:46 +0100 (CET)

groff 1.20.1 has been released.

It is available from and mirrors of that site
(see list of mirror sites at  Current
snapshots are available from

groff is the GNU implementation of troff, a document formatting system.
Included in this release are implementations of troff, pic, eqn, tbl, grn,
refer, -man, -mdoc, -mom, and -ms macros, and drivers for PostScript, TeX
dvi format, HP LaserJet 4 printers, Canon CAPSL printers, HTML and XHTML
format (beta status), and typewriter-like devices.  Also included is a
modified version of the Berkeley -me macros, the enhanced version gxditview
of the X11 xditview previewer, and an implementation of the -mm macros.

See below for the relevant snippet from the NEWS file.

Bug reports should go to address@hidden




VERSION 1.20.1

A packaging error made it necessary to publish this release.  No
user-visible changes.



o XHTML support has been added to grohtml and can be specified by
  -Txhtml.  This option also utilizes the MathML capability of
  eqn and combines the outputs of both in the final XHTML file.
  Users can also specify the `-P-V' option together with `-Txhtml'
  in groff.  This has the effect of creating an XHTML validator
  button at the bottom of each page.

o Some options have been added to control a new preprocessor,
  `preconv' (see below): `-k' activates it, `-K' sets the input
  encoding, and `-D' sets the default encoding.

o A new environment variable `GROFF_ENCODING' sets the encoding
  of input files; it implies command option `-k'.


o Two new requests `device' and `devicem' have been added which are
  equivalents to the \X and \Y escapes, respectively.

o A new read-only number register `.br' is available which is set to 1
  if a macro is called as .foo and to 0 if called as 'foo.  This allows to
  reliably modify requests.

    .als address@hidden bp
    .de bp
    .  tm before bp
    .  ie \\n[.br] address@hidden
    .  el 'address@hidden
    .  tm after bp

o A new request `fzoom' has been added to adjust the optical size of a
  font in relation to the others.  The zoom factor is given in integer
  multiples of 1/1000th.  In the following example, the CR font is
  magnified by 10% (the zoom factor is 1.1).

    .fam P
    .fzoom CR 1100
    .ps 12
    Palatino and \f[CR]Courier\f[]

  The new number register `.zoom' holds the zoom value of the current font,
  in multiples of 1/1000th.

o The `cflags' request has been extended with a new flag value 64, to be
  used in combination with values 2 (break before character) and 4 (break
  after character).  If set, the hyphenation codes of the surrounding
  characters are ignored.

o A new debugging request, `pev', has been added to print all of the current
  known environments to stderr.  It first prints the state of the current
  environment, then iterates through all of the known environments, printing
  each except the one that is current.

o A new escape `\$^' has been added.  It represents the parameters of a
  macro as if they were an argument to the `ds' request.  This is used by

o A new read-only number register `.O' is available which returns the
  current suppression level as set by the `\O' escape.

o The space width emitted by the `\|' and `\^' escape sequences can be
  controlled on a per-font basis.  If there is a glyph named `\|' or `\^',
  respectively (note the leading backslash), defined in the current font
  file, use this glyph's width instead of the default value.

  This behaviour is not new, but hasn't been documented before.


o Two new command line options `-w' and `-W' are accepted and passed to
  groff to enable and disable warning messages, respectively.


o This is a new preprocessor to convert various input encodings to something
  groff understands (this is, ASCII and \[uXXXX] entities, with `XXXX' a
  hexadecimal number with 4 to 6 digits, representing a Unicode input code).
  Normally, preconv should be invoked with options `-k' and `-K' of groff.
  See the preconv man page for details.


o int(x) now really behaves as documented: It truncates the non-integer part
  of x, this is, it rounds towards zero and not towards the next integer
  less than or equal to x.

o Pic now supports up to 32 macro arguments (and up to 16 on EBCDIC

o Heinz-Jürgen Örtel contributed code for two new keywords, `xslanted' and
  `yslanted', which can change the shape of boxes into arbitrary


o Latest versions of DWB tbl introduced an `x' column specifier for a single
  column expanded to the line width.  GNU tbl has now been extended to
  support even multiple `x' specifiers within a table.

o To avoid collision with the new `x' specifier, a block formatting macro
  must now be selected with specifier letter `m'.


o Eric S. Raymond has added a new device type to eqn, MathML.  When
  -TMathML is enabled, eqn now emits MathML formula markup rather than
  groff commands.  The new groff -Txhtml device uses this.


o The preprocessor `chem' was added.  `chem' is a roff language to generate
  chemical structure diagrams.  It generates `pic' output.


o The PS font definition files have been regenerated with newer AFM versions
  from Adobe's 35 core fonts as present in most Level 2 PS printers.  The
  changes are minor (most notably, the addition of the `Euro' glyph and an
  extended set of kerning values).

  For backwards compatibility, the old set of font definition files is still
  available; for details please read the man page of grops.


o \D'p...' is now supported if the polygon consists entirely of horizontal
   and vertical lines.


o XHTML support has been added.

o New command line option `-V' (to be used in XHTML mode) to produce an
  XHTML validator button.

o New command line option `-y' to produce a right-justified groff signature
  at the end of the document (in combination with option `-V').


o Support for keyboard navigation has been improved.

o Similar to other X11 applications, there are now two resource files,
  `GXditview' and `GXditview-color'.


o `groffer' version 1.* exists now in a shell and a Perl version.


o New option `-c' to output more font information as comments.

o New option `-k' to suppress output of kerning data.

o New option `-f NAME' to set the internal name of the groff font.

Macro Packages

o Joachim Walsdorff contributed the `hdtbl' package for the generation of
  tables, using a syntax very similar to the HTML table model.  For
  example, a table with two cells and two rows looks like this:

    .TBL cols=2
    .  TR .TD 1*1 .TD 1*2
    .  TR .TD 2*1 .TD 2*2

  Here the same table using a more expanded syntax:

    .TBL cols=2
    .  TR
    .    TD 1*1
    .    TD 1*2
    .  TR
    .    TD 2*1
    .    TD 2*2

  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.

o -mandoc now supports multiple man pages (in either man or mdoc format).

o Fabrice Ménard contributed locales support.  In particular, it is now
  possible to get French localization of the main macro packages (-ms, -mm,
  -me, and -mom, but not -man and -mdoc which are localized differently) by
  appending `-mfr' to the list of macro packages.  Example:

    groff -ms -mfr foo >

  Note that latin-9 input encoding is used for French (to support the `oe'

o Swedish macro localization (with `-msv') has been added.

o German macro localization (with `-mde' and `-mden' for traditional and
  new orthography, respectively) has been added.

o Czech macro localization (with `-mcs') has been added.

  Note that latin-2 input encoding is used for Czech.

o A new macro `Dx' has been added to the mdoc package which identifies the
  DragonFly OS.

o If mdoc is used to print multiple man pages (together with the -rcR=0
  command line option), each man page now starts a new page.

o -mtrace has been considerably improved, now showing number and string
  register assignments, among other things.  See the groff_trace man page
  for details.

o The PSPIC macro now works with all devices (producing a hollow
  rectangle on devices which don't support inclusion of PS images) and
  is loaded in troffrc at start-up.

o A new auxiliary macro package `62bit' has been added which provides some
  macros for adding, multiplying, and dividing signed 62bit integers (mainly
  to handle normal groff number operations without risking overflow errors).

o For -ms, Eric S. Raymond contributed support for ancient Bell Labs
  localisms `.SC', `.UC', `.P1', and `.P2'.  The latter three are enabled
  only after .SC is called.

o A new string, `SN-STYLE', has been added to the ms macros, controlling
  the formatting of section numbers in headings defined by `.NH'.

o The new macro package `ptx' provides a template definition for the `.xx'
  macro as needed by GNU ptx (for creating permuted indices).

reply via email to

[Prev in Thread] Current Thread [Next in Thread]