groff 1.19 has been released.
It is available from ftp://ftp.gnu.org/gnu/groff/ and mirrors of that site
(see list of mirror sites at http://www.gnu.org/order/ftp.html). Current
snapshots are available from ftp://ftp.ffii.org/pub/groff/devel/.
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 format (still
alpha), and typewriter-like devices. Also included is a modified version of
the Berkeley -me macros, an enhanced version of the X11 xditview previewer,
and an implementation of the -mm macros.
See below for the relevant snippet from the NEWS file.
Bug reports should go to firstname.lastname@example.org.
o Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and
latin-2 (ISO 8859-2) have been added. Example use:
groff -Tdvi -mlatin9 my_file > my_file.dvi
You still need proper fonts with the necessary glyphs. Out of the box,
the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8,
and latin-2 only for -Tdvi and -Tutf8.
o Composite glyphs are now supported. To do this, a subset of the Adobe
Glyph List (AGL) Algorithm as described in
is used to construct glyph names based on Unicode character codes. The
existing groff glyph names are frozen; no glyph names which can't be
constructed algorithmically will be added in the future.
The [...] escape sequence has been extended to specify multiple glyph
this accesses a glyph with the name `u0041_0328'.
Some groff glyphs which are useful as composites map to `wrong' Unicode
code points. For example, `ho' maps to U+02DB which is a spacing
ogonek, whereas a non-spacing ogonek U+0328 is needed for composite
glyphs. The new request
.composite from to
will change the mapping while a composite glyph name is constructed.
To make [A ho] yield the expected result,
.composite ho u0328
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.
o A new request `fschar' has been added to define font-specific fallback
characters. They are searched after the list of fonts declared with the
`fspecial' request but before the list of fonts declared with `special'.
o Fallback characters defined with `fschar' can be removed with the
new `rfschar' request.
o A new request `schar' has been added to define global fallback
characters. They are searched after the list of fonts declared with the
`special' request but before the already mounted special fonts.
o In groff versions 1.18 and 1.18.1, D'f ...' didn't move the current
point horizontally. Despite of being silly, this change has been
reverted for backwards compatibility. Consequently, the intermediate
output command `Df' also moves the position horizontally again.
D'f ...' is deprecated since it depends on the horizontal resolution of
the output device (given with the `hor' parameter in the DESC file).
Use the new D'Fg ...' escape instead.
o For orthogonality, new D subcommands to change the fill color are
D'Fr ...' (rgb)
D'Fc ...' (cmy)
D'Fg ...' (gray)
D'Fk ...' (cmyk)
D'Fd' (default color)
The arguments are the same as with the `defcolor' request. The current
position is not changed.
o The values set with H and S are now available in number registers
n[.height] and n[.slant], respectively.
o The `.pe' number register isn't new but hasn't been documented before.
It is set to 1 during a page ejection caused by the `bp' request.
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 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.
o The font `freeeuro.pfa' has been added to provide various default glyph
shapes for `eu' and `Eu'.
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 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 <email@example.com>.
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 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.
o New options -l and -p to set landscape orientation and the paper size.
grodvi now emits a `papersize' special which is understood by DVI drivers
Consequently, the DESC file should contain a `papersize' keyword.
o The glyph shapes for [*f] and [*e] have been exchanged with [+f] and
[+e], respectively, to be in sync with all other devices.
o Glyphs [HE] and [DI] have been replaced with [u2662] and [u2661],
respectively, since the former two glyphs have a black (filled) shape
which grodvi doesn't provide by default (it never has actually).
o The glyphs [*e] and [+e] have been exchanged to be in sync with
all other devices.
o The glyph [~=] is now called [|=]. Similar to other devices, [~=]
is now another name for glyph [~~].
o New option `-r'. It is similar to the -i option except it tells grotty to
use the `reverse video' attribute to render italic fonts.
o New command `figname' to set the name of a picture's output box in TeX
o The environment variable `REFER' to override the name of the default
database isn't new but hasn't been documented before.
o New option `-r' to avoid emission of `.lf' lines.
o New option `-t' to emit TeX comment lines (giving current file and the
line number) instead of `.lf' lines.
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.
o The mapping and encoding file together with file `DESC' are now searched
in the default font directory also. Please refer to the man page of
afmtodit for more details.
o Larry Kollar <firstname.lastname@example.org> and others made the man macros more
. New command line options -rFT, -rIN, and -rSN to set the vertical
location of the footer line, the body text indentation, and the
. New command line option -rHY (similar to the ms macros) to control
. New macros `.PT' and `.BT' to print the header and footer strings.
They can be replaced with a customized version in `man.local'.
. The string `HF' now holds the typeface to print headings and
. 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
groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
We are pleased to announce the availability of a new stable GnuPG
release: Version 1.2.2
The GNU Privacy Guard (GnuPG) is GNU's tool for secure communication
and data storage. It is a complete and free replacement of PGP and
can be used to encrypt data and to create digital signatures. It
includes an advanced key management facility and is compliant with the
proposed OpenPGP Internet standard as described in RFC2440. This new
release implements most of OpenPGP's optional features, has somewhat
better interoperabilty with non-conforming OpenPGP implementations and
improved keyserver support.
* Due to a bug found in the key validdation code, we strongly *
* suggest to update to this release if you are relying on the *
* Web-Of-Trust semantics. *
Getting the Software
GnuPG 1.2.2 can be downloaded from one of the GnuPG mirror sites.
The list of mirrors can be found at http://www.gnupg.org/mirrors.html.
On the mirrors you should find the follwing files in the gnupg
gnupg-1.2.2.tar.bz/2 (2.1 MB)
GnuPG 1.2 source compressed using BZIP2 and OpenPGP signature.
gnupg-1.2.2.tar.gz/ (3.1 MB)
GnuPG source compressed using GZIP and OpenPGP signature.
gnupg-1.2.1-1.2.2.diff.gz/ (1.1 MB)
A patch file to upgrade a 1.2.1 GnuPG source. This file is
signed; you have to use GnuPG > 0.9.5 to verify the signature.
GnuPG has a feature to allow clear signed patch files which can
still be processed by the patch utility.
Select one of them. To shorten the download time, you probably want to
get the BZIP2 compressed file. Please try another mirror if
exceptional your mirror is not yet up to date. We have uploaded the
.gz tarbvall on May 1, so at least this one should be available at
In the binary directory, you should find these files:
gnupg-w32cli-1.2.2.zip/ (1.3 MB)
GnuPG compiled for Microsoft Windows and OpenPGP signature.
Note that this is a command line version and comes without a
graphical installer tool. You have to use an UNZIP utility to
extract the files and install them manually. The included file
README.W32 has further instructions.
Checking the Integrity
In order to check that the version of GnuPG which you are going to
install is an original and unmodified one, you can do it in one of
the following ways:
* If you already have a trusted version of GnuPG installed, you
can simply check the supplied signature. For example to check the
signature of the file gnupg-1.2.2.tar.bz/2 you would use this command:
gpg --verify gnupg-1.2.2.tar.bz2.sig/
This checks whether the signature file matches the source file.
You should see a message indicating that the signature is good and
made by that signing key. Make sure that you have the right key,
either by checking the fingerprint of that key with other sources
or by checking that the key has been signed by a trustworthy other
key. Note, that you can retrieve the signing key by
finger wk 'at' g10code.com .
Never use a GnuPG version you just downloaded to check the
integrity of the source - use an existing GnuPG installation.
* If you are not able to use an old version of GnuPG, you have to verify
the MD5 checksum. Assuming you downloaded the file
gnupg-1.2.2.tar.bz/2, you would run the md5sum command like this:
and check that the output matches the first line from the
If you are upgrading from a version prior to 1.0.7, you should run the
script tools/convert-from-106 once. Please note also that due to a
bug in versions prior to 1.0.6 it may not be possible to downgrade to
such versions unless you apply the patch
If you have any problems, please see the FAQ and the mailing list
archive at http://lists.gnupg.org. Please direct questions to the
email@example.com mailing list.
Here is a list of major user visible changes since 1.2.1:
* A "convert-from-106" script has been added. This is a simple
script that automates the conversion from a 1.0.6 or earlier
version of GnuPG to a 1.0.7 or later version.
* A "--trust-model always" option has been added to smooth the
transition to a future GnuPG that has multiple trust models.
This is identical to the current "--always-trust" option.
* Care is taken to prevent compiler optimization from removing
memory wiping code.
* New option --no-mangle-dos-filenames so that filenames are not
truncated in the W32 version.
* New command "revuid" in the --edit-key menu to revoke a user ID.
This is a simpler interface to the old method (which still
works) of revoking the user ID self-signature.
* Status VALIDSIG now also contains the primary key fingerprint,
as well as the signature version, public key algorithm, hash
algorithm, and signature class.
* Add read-only support for the SHA-256 hash, and optional
read-only support for the SHA-384 and SHA-512 hashes.
* New option --enable-progress-filter for use with frontends.
* Notation names that do not contain a '@' are no longer allowed
unless --expert is set. This is to help prevent pollution of
the (as yet unused) IETF notation namespace.
* Disabled keys are now skipped when selecting keys for
encryption. If you are using the --with-colons key listings to
detect disabled keys, please see doc/DETAILS for a minor format
change in this release.
* Fixed a compatibility problem with CryptoEx by increasing the
window size of the uncompressor.
* Note that the TIGER/192 digest algorithm is in the process of
being dropped from the OpenPGP standard. While this release of
GnuPG still contains it, it is disabled by default. To ensure
you will still be able to use your messages with future versions
of GnuPG and other OpenPGP programs, please do not use this
* A bug in key validation has been fixed. This bug only affects
keys with more than one user ID (photo IDs do not count here),
and results in all user IDs on a given key being treated with
the validity of the most-valid user ID on that key.
* Minor trustdb changes to make the trust calculations match
* New translations: Finnish, Hungarian, Slovak, and Traditional
GnuPG comes with support for these langauges:
American English Hungarian (hu)
Catalan (ca) Indonesian (id)
Czech (cs) Italian (it)
Danish (da)[*] Japanese (ja)
Dutch (nl)[*] Polish (pl)
Esperanto (eo)[*] Brazilian Portuguese (pt_BR)[*]
Estonian (et) Portuguese (pt)
Finnish (fi) Slovak (sk)
French (fr) Spanish (es)
Galician (gl) Swedish (sv)
German (de) Traditional Chinese (zh_TW)
Greek (el) Turkish (tr)
Languages marked with [*] were not updated for this releases and you
may notice untranslated messages. We may release an update of the
translations when we have received some translation updates. Many
thanks to the translators for their ongoing support of GnuPG.
The GnuPG team (David, Stefan, Timo and Werner)