NEWS revision 55839
118099SpstThis file describes recent user-visible changes in groff.  Bug fixes
218099Spstare not described.  There are more details in the man pages.
318099Spst
455839SasmodaiVERSION 1.13, 1.14, 1.15
555839Sasmodai========================
655839Sasmodai
755839SasmodaiBug fixes only; no user-visible changes.
855839Sasmodai
955839SasmodaiVERSION 1.12
1044777Sobrien============
1144777Sobrien
1255839SasmodaiFinally, there are new maintainers for groff.  Mailing lists and a CVS
1355839Sasmodairepository are available also.  See the file README for details.  Not
1455839Sasmodaiall reported bug could be fixed, so please send mails again if
1555839Sasmodaisomething is still not working.
1644777Sobrien
1755839SasmodaiMost of the installation problems should have vanished now (most
1855839Sasmodainotably the $(tmac_wrap) bug).
1944777Sobrien
2055839SasmodaiThere is now a man page called groff_man.man which documents the
2155839Sasmodaibasics of the -man macros.  It has been originally written by Susan
2255839SasmodaiG. Kleinmann <sgk@debian.org>.
2355839Sasmodai
2455839SasmodaiA (still incomplete) groff reference manual in texinfo format
2555839Sasmodaioriginally contributed by Trent A. Fisher <trent@gnurd.portland.or.us>.
2655839Sasmodai
2755839Sasmodaime.man and msafer.man have been renamed to groff_me.man
2855839Sasmodairesp. groff_msafer.man for consistency.
2955839Sasmodai
3055839SasmodaiDefault strings for macros in doc-common resp. tmac.an no longer
3155839Sasmodaicontain the word `UNIX'.
3255839Sasmodai
3355839Sasmodaigroff should now be Y2k safe (fixes contributed by Paul Eggert
3455839Sasmodai<eggert@twinsun.com>).
3555839Sasmodai
3655839SasmodaiFollowing the GNU standards, groff will now use the prefix
3755839Sasmodai`/usr/local/' as the default instead of replacing an existent groff
3855839Sasmodaibinary.
3955839Sasmodai
4055839Sasmodaigroff, troff, nroff, and pic now support the -U flag to activate unsafe
4155839Sasmodaibehaviour (without -msafer); the -S flag for using the -msafer macros
4255839Sasmodaiis now the default.
4355839Sasmodai
4455839SasmodaiGrohtml
4555839Sasmodai-------
4655839Sasmodai
4755839SasmodaiThis is a new output device for producing HTML output contributed by
4855839SasmodaiGaius Mulley <gaius@glam.ac.uk>.  It is still very alpha but has been
4955839Sasmodaiincluded into the distribution so that a lot of people have a chance
5055839Sasmodaito test it.  Bug reports are highly welcome.
5155839Sasmodai
5255839SasmodaiGrolj4
5355839Sasmodai------
5455839Sasmodai
5555839SasmodaiDuplex printing support has been contributed by Jeffrey Copeland
5655839Sasmodai<jeff@opennt.com>.
5755839Sasmodai
5855839SasmodaiSoelim
5955839Sasmodai------
6055839Sasmodai
6155839SasmodaiAdded -I option for defining include paths (patch contributed by Peter
6255839SasmodaiMiller <peterm@jna.com.au>).
6355839Sasmodai
6455839SasmodaiGxditview
6555839Sasmodai---------
6655839Sasmodai
6755839SasmodaiFallback resources added (patch contributed by Larry Jones
6855839Sasmodai<larry.jones@sdrc.com>).
6955839Sasmodai
7055839SasmodaiWill now support 8 gray levels.
7155839Sasmodai
7255839Sasmodaimm
7355839Sasmodai--
7455839Sasmodai
7555839SasmodaiNew version 1.32 (contributed by Joergen Haegg <jh@axis.com>).
7655839Sasmodai
7755839SasmodaiVERSION 1.11
7855839Sasmodai============
7955839Sasmodai
8044777SobrienComplete documentation for pic is now in the file doc/pic.ms.  It was
8144777Sobriencontributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically
8244777Sobrien*not* volunteering to take over groff as he is way overworked with
8344777Sobrienhalf a dozen other projects.
8444777Sobrien
8518099SpstVERSION 1.10
8618099Spst============
8718099Spst
8818099SpstThe directory where data files are installed has been changed from
8918099Spst/usr/local/lib/groff to /usr/local/share/groff to comply with the
9018099Spstlatest GNU coding standards.
9118099Spst
9218099SpstBy default groff programs with Unix equivalents are installed with a
9318099Spst"g" prefix unless there is an existing (non-groff) troff installation.
9418099Spst
9518099SpstA new approach is used to make system macro packages available to
9618099Spstgroff.  Instead of simply including /usr/lib/tmac in the list of
9718099Spstdirectories searched by groff, the installation process creates for
9818099Spsteach system macro package a wrapper macro package in the groff macro
9918099Spstdirectory that references the system macro package.  The groff macro
10018099Spstpackages are now installed with a leading "g" prefix if there is a
10118099Spstsystem version of the same macro package, and otherwise without the
10218099Spst"g" prefix, with the exception that the groff version of -me which is
10318099Spstalways installed as -me.
10418099Spst
10518099SpstThere is a new device, lj4, for the HP LaserJet 4 (and PCL5
10618099Spstcompatibles).
10718099Spst
10818099SpstGroff
10918099Spst-----
11018099Spst
11118099Spstgroff has a -S option that prevents the use of unsafe features in pic
11218099Spstand troff.  This uses a new -S option of pic and the -msafer macros
11318099Spstfor troff.
11418099Spst
11518099SpstTroff
11618099Spst-----
11718099Spst
11818099SpstThe `blm' request specifies a macro to be invoked when a blank line is
11918099Spstencountered.
12018099Spst
12118099SpstPic
12218099Spst---
12318099Spst
12418099SpstA -S (safer) option disables the sh command.
12518099Spst
12618099SpstGrops
12718099Spst-----
12818099Spst
12918099SpstThe -m option enables manual feed.
13018099Spst
13118099SpstVERSION 1.09
13218099Spst============
13318099Spst
13418099Spst\(rn will now produce a character that has the traditional metrics,
13518099Spstand will form corners with \(ul and \(br.  This means that it will not
13618099Spstalign properly with \(sr.  Instead there's a new character
13718099Spst\[radicalex] which aligns with \(sr; this is used by eqn for doing
13818099Spstsquare roots.
13918099Spst
14018099SpstTroff
14118099Spst-----
14218099Spst
14318099SpstThe `pso' request allows you to read from the standard output of a
14418099Spstcommand.
14518099Spst
14618099SpstGrops
14718099Spst-----
14818099Spst
14918099SpstThe PSPIC macro has options to allow the horizontal alignment of the
15018099Spstgraphic to be specified.
15118099Spst
15218099SpstVERSION 1.08
15318099Spst============
15418099Spst
15518099SpstTroff
15618099Spst-----
15718099Spst
15818099SpstThe escape sequence \V[xxx] will interpolate the value of the
15918099Spstenvironment variable xxx.
16018099Spst
16118099SpstTbl
16218099Spst---
16318099Spst
16418099SpstThe decimalpoint option can be used to specify the character to be
16518099Spstrecognized as the decimal point character in place of the default
16618099Spstperiod.
16718099Spst
16818099SpstVERSION 1.07
16918099Spst============
17018099Spst
17118099SpstGroff
17218099Spst-----
17318099Spst
17418099SpstThe environment variable GROFF_COMMAND_PREFIX can be used to control
17518099Spstwhether groff looks for `gtroff' or `troff' (similarily for the
17618099Spstpreprocessors.)
17718099Spst
17818099SpstTroff
17918099Spst-----
18018099Spst
18118099SpstMultilingual hyphenation is supported by new `hpf' and `hla' requests,
18218099Spstand by a `\n[.hla]' number register.  The -H option has been removed.
18318099SpstFiles of hyphenation patterns can have comments.
18418099Spst
18518099SpstWhen a font cannot be found, troff gives a warning (of type `font',
18618099Spstenabled by default) instead of an error.
18718099Spst
18818099SpstThere's a new request `trnt' that's like `tr' except that it doesn't
18918099Spstapply to text transparently throughput into a diversion with \!.
19018099Spst
19118099SpstTbl
19218099Spst---
19318099Spst
19418099SpstThere is a `nokeep' option which tells tbl not to use diversions to
19518099Spsttry to keep the table on one page.
19618099Spst
19718099SpstEqn
19818099Spst---
19918099Spst
20018099SpstSetting the parameter `nroff' to a non-zero value causes `ndefine' to
20118099Spstbehave like `define' and `tdefine' to be ignored.  This is done by
20218099Spsteqnrc when the current device is ascii or latin1.  There's a `neqn'
20318099Spstscript that just does `eqn -Tascii'.
20418099Spst
20518099SpstGrotty
20618099Spst------
20718099Spst
20818099Spstgrotty uses whatever page length was specified using the `pl' request
20918099Spstrather than using the paperlength command in the DESC file.  The
21018099Spstpaperwidth command in the DESC file is also ignored.
21118099Spst
21218099SpstVERSION 1.06
21318099Spst============
21418099Spst
21518099SpstThe programs in groff that have Unix counterparts can now be installed
21618099Spstwithout a leading `g' prefix.  See the `g' variable in the Makefile.
21718099Spst
21818099SpstThe g?nroff script simulates the nroff command using groff.
21918099Spst
22018099SpstNew special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz,
22118099Spst\(an.  See groff_char(7).
22218099Spst
22318099Spst^L is now a legal input character.
22418099Spst
22518099SpstGroff
22618099Spst-----
22718099Spst
22818099SpstThe Xps pseudo-device has disappeared.  Instead there is a new -X
22918099Spstoption that tells groff to use gxditview instead of the usual
23018099Spstpostprocessor. (So instead of -TXps, use -XTps or just -X if your
23118099Spstdefault device is ps.)
23218099Spst
23318099SpstThe postprocessor to be used for a particular device is now specified
23418099Spstby a `postpro' command in the DESC file rather than being compiled
23518099Spstinto groff.  Similarly the command to be used for printing (with the
23618099Spst-l option) is now specified by a `print' command in the DESC file.
23718099Spst
23818099SpstThe groff command no longer specifies eqnchar as an input file for
23918099Spsteqn.  Instead eqn automatically loads a file `eqnrc'.  The groff
24018099Spstcommand no longer passes the -D option to eqn.  Instead eqnrc sets the
24118099Spstdraw_lines parameter.
24218099Spst
24318099SpstThe groff command no longer tells troff to load a device-specific
24418099Spstmacro file.  This is handled instead by the `troffrc' file, which is
24518099Spstalways loaded by troff.
24618099Spst
24718099SpstThe shell script version of groff has been removed.
24818099Spst
24918099SpstTroff
25018099Spst-----
25118099Spst
25218099SpstThe `rchar' request removes a character definition established with `char'.
25318099Spst
25418099SpstCompatibility mode is disabled and the escape character is set to `\'
25518099Spstwhile a character definition is being processed.
25618099Spst
25718099SpstThe `\#' escape sequence is like `\"' except that the terminating
25818099Spstnewline is ignored.
25918099Spst
26018099SpstThe `shc' request tells troff which character to insert (instead of
26118099Spstthe default \(hy) when a word is hyphenated at a line break.
26218099Spst
26318099SpstA font name of 0 (zero) in the DESC file will cause no font to be
26418099Spstmounted on the corresponding font position.  This is useful for
26518099Spstarranging that special fonts are mounted on positions on which users
26618099Spstare not likely explicitly to mount fonts.  All groff devices now avoid
26718099Spstinitially mounting fonts on positions 5-9.
26818099Spst
26918099SpstThe `do' request allows a single request or macro to be interpreted
27018099Spstwith compatibility mode disabled.
27118099Spst
27218099Spsttroff automatically loads a file `troffrc' before any other input file.
27318099SpstThis can be prevented with the -R option.  This file is responsible
27418099Spstfor loading the device-specific macros.
27518099Spst
27618099SpstPic
27718099Spst---
27818099Spst
27918099SpstThe -x option has been removed and a -n option has been added.  By
28018099Spstdefault, pic now assumes that the postprocessor supports groff
28118099Spstextensions.  The -n option tells pic to generate output that works
28218099Spstwith ditroff drivers.  The -z option now applies only to TeX mode.
28318099Spst
28418099SpstThe -p option has been removed. Instead if the -n option is not
28518099Spstspecified, pic generates output that uses \X'ps: ...' if the \n(0p
28618099Spstregister is non-zero and tmac.ps sets this register to 1.
28718099Spst
28818099SpstIn places where you could 1st or 5th you can now say `i'th or `i+1'th
28918099Spst(the quotes are required).
29018099Spst
29118099SpstEqn
29218099Spst---
29318099Spst
29418099SpstEqn now automatically reads a file `eqnrc' from the macro directory.
29518099SpstThis performs the same role that the eqnchar files used to.  This can
29618099Spstbe prevented by the -R option.
29718099Spst
29818099SpstSetting the draw_lines parameter to a non-zero value causes lines to
29918099Spstbe drawn using \D rather than \l.  The -D option is now obsolete.
30018099Spst
30118099Spst`uparrow', `downarrow' and `updownarrow' can be used with `left' and
30218099Spst`right'.
30318099Spst
30418099SpstThe amount of extra space added before and after lines containing
30518099Spstequations can be controlled using the `body_height' and `body_depth'
30618099Spstparameters.
30718099Spst
30818099SpstGrops
30918099Spst-----
31018099Spst
31118099SpstFont description files have been regenerated from newer AFM files.
31218099SpstYou can get access to the additional characters present in the text
31318099Spstfonts in newer PostScript printers by using -mpsnew.
31418099Spst
31518099SpstThe default value of the -b option is specified by a `broken' command
31618099Spstin the DESC file.
31718099Spst
31818099SpstWith the -g option, grops will generate PostScript code that guesses
31918099Spstthe page height.  This allows documents to be printed on both letter
32018099Spst(8.5x11) and A4 paper without change.
32118099Spst
32218099SpstGrodvi
32318099Spst------
32418099Spst
32518099SpstISO Latin-1 characters are available with -Tdvi.  Format groff_char(7)
32618099Spstwith groff -Tdvi for more information.
32718099Spst
32818099SpstGrotty
32918099Spst------
33018099Spst
33118099SpstThe -mtty-char macros contain additional character definitions for
33218099Spstuse with grotty.
33318099Spst
33418099SpstMacros
33518099Spst------
33618099Spst
33718099SpstIn previous releases the groff -me macros treated the $r and $R number
33818099Spstregisters in a way that was incompatible with the BSD -me macros.  The
33918099Spstreason for this was that the approach used by the BSD -me macros does
34018099Spstnot work with low resolution devices such as -TX75 and -TX100.
34118099SpstHowever, this caused problems with existing -me documents.  In this
34218099Spstrelease, the vertical spacing is controlled by the $v and $V registers
34318099Spstwhich have the same meaning as $r and $R in earlier groff releases.
34418099SpstIn addition, if the $r or $R register is set to a value that would be
34518099Spstcorrect for for the BSD -me macros and a low resolution device is not
34618099Spstbeing used, then an appropriate value for the $v or $V register will
34718099Spstbe derived from the $r or $R register.
34818099Spst
34918099SpstThe groff -me macros work with -C and (I think) with Unix troff.
35018099Spst
35118099SpstFor backward compatibility with BSD -me, the \*{ and \*} strings are
35218099Spstalso available as \*[ and \*].  Of course, \*[ will only be usable
35318099Spstwith -C.
35418099Spst
35518099SpstThe \*T string has been deleted.  Use \*(Tm instead.
35618099Spst
35718099SpstXditview
35818099Spst--------
35918099Spst
36018099SpstThe `n', Space and Return keys are bound to the Next Page action.  The
36118099Spst`p', BackSpace and Delete keys are bound to the Previous Page action.
36218099SpstThe `q' key is bound to the Quit action.
36318099Spst
36418099SpstThe `r' key is bound to a rerasterize action that reruns groff, and
36518099Spstredisplays the current page.
36618099Spst
36718099SpstVERSION 1.05
36818099Spst============
36918099Spst
37018099SpstPic
37118099Spst---
37218099Spst
37318099SpstThere is a alternative assignment operator `:=' which interacts
37418099Spstdifferently with blocks.
37518099Spst
37618099SpstThere is a new command `command', which allows the values of variables
37718099Spstto be passed through to troff or TeX.
37818099Spst
37918099SpstThe `print' command now accepts multiple arguments.
38018099Spst
38118099SpstString comparison expressions (using `==' or `!=') are allowed in more
38218099Spstcontexts.
38318099Spst
38418099SpstGrotty
38518099Spst------
38618099Spst
38718099SpstHorizontal and vertical lines drawn with \D'l ...' will be rendered
38818099Spstusing -, | and + characters.  This is intended to give reasonable
38918099Spstresults with boxed tables.  It won't work well with pic.
39018099Spst
39118099SpstMacros
39218099Spst------
39318099Spst
39418099SpstThe -mdoc macros have been upgraded to the version in the second
39518099SpstBerkeley networking release.  This version is not completely
39618099Spstcompatible with earlier versions; the old version is still available
39718099Spstas -mdoc.old.  The grog script has been enhanced so that it can
39818099Spstusually determine whether a document requires the old or new versions.
39918099Spst
40018099SpstWith -TX75, -TX100 and -TXps, the PSPIC macro will produce a box
40118099Spstaround where the picture would appear with -Tps.
40218099Spst
40318099SpstVERSION 1.04
40418099Spst============
40518099Spst
40618099SpstAn implementation of the -mm macros is included.
40718099Spst
40818099SpstThe directory in which temporary files are created can be controlled
40918099Spstby setting the GROFF_TMPDIR or TMPDIR environment variables.
41018099Spst
41118099SpstPic
41218099Spst---
41318099Spst
41418099SpstSome MS-DOS support (see pic/make-dos-dist).
41518099Spst
41618099SpstGrops
41718099Spst-----
41818099Spst
41918099SpstThere are two new \X commands (\X'ps: invis' and \X'ps: endinvis')
42018099Spstwhich make it possible to have substitute characters that are
42118099Spstdisplayed when previewing with -TXps but ignored when printing with
42218099Spstgrops.
42318099Spst
42418099SpstXditview
42518099Spst--------
42618099Spst
42718099SpstSupport for scalable fonts.
42818099Spst
42918099SpstVERSION 1.03
43018099Spst============
43118099Spst
43218099SpstNo changes other than bug fixes.
43318099Spst
43418099SpstVERSION 1.02
43518099Spst============
43618099Spst
43718099SpstThere is an implementation of refer and associated programs.  groff -R
43818099Spstpreprocesses with grefer; no mechanism is provided for passing
43918099Spstarguments to grefer because most grefer options have equivalent
44018099Spstcommands which can be included in the file.  grog also supports refer.
44118099Spst
44218099SpstThere is an alternative perl implementation of the grog script.
44318099Spst
44418099SpstThe code field in lines in the charset section of font description
44518099Spstfiles is now allowed to contain an arbitrary integer (previously it
44618099Spstwas required to lie between 0 and 255).  Currently grops and grodvi
44718099Spstuse only the low order 8 bits of the value.  Grodvi will use the
44818099Spstcomplete value; however, this is unlikely to be useful with
44918099Spsttraditional TeX tools (.tfm files only allow 8 bit character codes.)
45018099Spst
45118099SpstLeft and right double quotes can be obtained with \(lq and \(rq
45218099Spstrespectively.
45318099Spst
45418099SpstThere is a new program called pfbtops which translates PostScript
45518099Spstfonts in pfb format to ASCII.
45618099Spst
45718099SpstA slightly modified version of the Berkeley tmac.doc is included.
45818099Spst
45918099SpstTroff
46018099Spst-----
46118099Spst
46218099SpstIn long escape names the closing ] is now required to be at the same
46318099Spstinput level as the opening [.
46418099Spst
46518099SpstThe \A'S' escape sequence returns 1 or 0 according as S is or is not
46618099Spstsuitable for use as a name.
46718099Spst
46818099Spst\~ produces an unbreakable space that can be stretched when the line
46918099Spstis adjusted.
47018099Spst
47118099SpstThe `mso' request is like the `so' request except that it searches for
47218099Spstthe file in the same directories in which tmac.X is searched for when
47318099Spstthe -mX option is given.
47418099Spst
47518099SpstThe escape sequence `\R' is similar to the `nr' request.
47618099Spst
47718099SpstEqn
47818099Spst---
47918099Spst
48018099SpstA new `special' primitive allows you to add new types of unary
48118099Spstconstructs by writing a troff macro.
48218099Spst
48318099SpstPic
48418099Spst---
48518099Spst
48618099SpstThe implementation no longer uses gperf.
48718099Spst
48818099SpstGrops
48918099Spst-----
49018099Spst
49118099SpstThe compile-time -DBROKEN_SPOOLER option has been replaced by a
49218099SpstBROKEN_SPOOLER_FLAGS option.  This allows more precise control over
49318099Spsthow grops should workaround broken spoolers and previewers.  There is
49418099Spsta new -b option that can change this at run-time.
49518099Spst
49618099SpstGrops now generates PostScript that complies with version 3.0 of the
49718099SpstDocument Structuring Convention.
49818099Spst
49918099SpstThe resource management component of grops (the part that deals with
50018099Spstimported documents and downloadable fonts) has been rewritten and now
50118099Spstsupports version 3.0 of the Document Structuring Conventions.  The
50218099Spst%%DocumentFonts comment is no longer supported; you must use the
50318099Spst%%Document{Needed,Supplied}{Fonts,Resources} comments instead
50418099Spst(or as well.)
50518099Spst
50618099Spsttmac.psatk contains some macros that support the mechanism used by the
50718099SpstAndrew Toolkit for including PostScript graphics in troff documents.
50818099Spst
50918099SpstXditview
51018099Spst--------
51118099Spst
51218099SpstParts of xditview have been rewritten so that it can be used with the
51318099Spstoutput of gtroff -Tps.  groff -TXps will run gtroff -Tps with
51418099Spstgxditview.
51518099Spst
51618099SpstThere is a new menu entry `Print' which brings up a dialog box for
51718099Spstspecifying a command with which the file being previewed should be
51818099Spstprinted.
51918099Spst
52018099SpstXditview now uses imake.
52118099Spst
52218099SpstVERSION 1.01
52318099Spst============
52418099Spst
52518099SpstThe groff command now understands the gtroff `-a' and `-i' options.
52618099Spst
52718099SpstWith the `m' and `n' scale indicators, the scale factor is rounded
52818099Spsthorizontally before being applied.  This makes (almost) no difference
52918099Spstfor devices with `hor' equal to 1, but it makes groff with -Tascii or
53018099Spst-Tlatin1 behave more like nroff in its treatment of these scale
53118099Spstindicators.  Accordingly tmac.tty now calls the `nroff' request so
53218099Spstthat the `n' condition will be true.
53318099Spst
53418099SpstThe device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X)
53518099Spsthave been made to work at least somewhat with -C.  In particular the
53618099Spstspecial characters defined by these macros now work with -C.
53718099Spst
53818099Spstgroff -Tdvi -p will now pass pic the -x flag; this will enable filling
53918099Spstof arrowheads and boxes, provided that your dvi driver supports the
54018099Spstlatest version of the tpic specials.
54118099Spst
54218099SpstEqn
54318099Spst---
54418099Spst
54518099SpstThere is a new `-N' option that tells eqn not to allow newlines in
54618099Spstdelimiters.  This allows eqn to recover better from missing closing
54718099Spstdelimiters.  The groff command will pass on a `-N' option to eqn.
54818099Spst
54918099SpstGrops
55018099Spst-----
55118099Spst
55218099SpstYou can now use psfig with grops.  See the file ps/psfig.diff.  I do
55318099Spstnot recommend using psfig for new documents.
55418099Spst
55518099SpstThe command \X'ps: file F' is similar to \X'ps: exec ...' except that
55618099Spstthe PostScript code is read from the file F instead of being contained
55718099Spstwithin the \X command.  This was added to support psfig.
55818099Spst
55918099SpstGrodvi
56018099Spst------
56118099Spst
56218099SpstThere are font files HB and HI corresponding to cmsssbx10 and cmssi10.
56318099Spst
56418099SpstMacros
56518099Spst------
56618099Spst
56718099SpstThe groff -me macros now work with the -C option.  As a result, they
56818099Spstmay also work with Unix nroff/troff.
56918099Spst
57018099SpstIn -me, the $r and $R number registers now contain the line spacing as
57118099Spsta percentage of the pointsize expressed in units (normally about 120).
57218099SpstThe previous definition was useless with low resolution devices such
57318099Spstas X75 and X100.
57418099Spst
57518099SpstVERSION 1.00
57618099Spst============
57718099Spst
57818099SpstA -ms-like macro-package is now included.
57918099Spst
58018099SpstThe name for the Icelandic lowercase eth character has been changed
58118099Spstfrom \(-d to \(Sd.
58218099Spst
58318099SpstTroff
58418099Spst-----
58518099Spst
58618099SpstThere is a new request `nroff', which makes the `n' built-in condition
58718099Spsttrue and the `t' built-in condition false; also a new request `troff'
58818099Spstwhich undoes the effect of the `nroff' request.  This is intended only
58918099Spstfor backward compatibility: it is usually better to test \n(.H or
59018099Spst\n(.V or to use the `c' built-in condition.
59118099Spst
59218099SpstThe \R escape sequence has been deleted.  Use \E instead.
59318099Spst
59418099SpstThere are `break' and `continue' requests for use with the `while'
59518099Spstrequest.
59618099Spst
59718099SpstThere is a request `hym' that can ensure that when the current
59818099Spstadjustment mode is not `b' a line will not be hyphenated if it is no
59918099Spstmore than a given amount short, and a request `hys' that can ensure
60018099Spstthat when the current adjustment mode is `b' a line will not be
60118099Spsthyphenated if it can be justified by adding no more than a given
60218099Spstamount of extra space to each word space.
60318099Spst
60418099SpstThere is a request `rj' similar to `ce' that right justifies lines.
60518099Spst
60618099SpstA warning of type `space' will be given when a call is made to an
60718099Spstundefined request or macro with a name longer than two characters, and
60818099Spstthe first two characters of the name make a name that is defined.
60918099SpstThis is intended to find places where a space has been omitted been a
61018099Spstrequest or macro and its argument.  This type of warning is enabled by
61118099Spstdefault.
61218099Spst
61318099SpstPic
61418099Spst---
61518099Spst
61618099SpstA comma is permitted between the arguments to the `reset' command.
61718099Spst
61818099SpstFor use with TeX, there is a new `-c' option that makes gpic treat
61918099Spstlines beginning with `.' in a way that is more compatible with tpic
62018099Spst(but ugly).
62118099Spst
62218099SpstEqn
62318099Spst---
62418099Spst
62518099SpstIt is no longer necessary to add `space 0' at the beginning of
62618099Spstcomplicated equations inside pictures.
62718099Spst
62818099Spst`prime' is now treated as an ordinary character, as in Unix eqn.  The
62918099Spstprevious behaviour of `prime' as an operator can now be obtained using
63018099Spst`opprime'.
63118099Spst
63218099SpstXditview
63318099Spst--------
63418099Spst
63518099SpstThere are two new devices X75-12 and X100-12 which are the same as X75
63618099Spstand X100 except that they are optimized for documents that use mostly
63718099Spst12 point text.
63818099Spst
63918099SpstVERSION 0.6
64018099Spst===========
64118099Spst
64218099SpstThe installation process has been refined to make it easy for you to
64318099Spstshare groff with someone who has the same type of machine as you but
64418099Spstdoes not have a C++ compiler.  See the end of the INSTALL file for
64518099Spstdetails.
64618099Spst
64718099SpstThere is a man page for the tfmtodit program which explains how to use
64818099Spstyour own fonts with groff -Tdvi.
64918099Spst
65018099SpstThere is a man page for afmtodit which explains how to use your own
65118099SpstPostScript fonts with groff -Tps.
65218099Spst
65318099SpstThe \N escape sequence is now fully supported.  It can now be used to
65418099Spstaccess any character in a font by its output code, even if it doesn't
65518099Spsthave a groff name.  This is made possible by a convention in the font
65618099Spstfiles that a character name of `---' refers to an unnamed character.
65718099SpstThe drivers now all support the `N' command required for this.  The font
65818099Spstdescription files have been updated to include unnamed characters.
65918099Spst
66018099SpstThe `x' command in font description files has been removed: instead
66118099Spstany unknown commands are automatically made available to the drivers.
66218099SpstIf you constructed your own font files with an earlier version of
66318099Spsttfmtodit or afmtodit, you must construct them again using the current
66418099Spstversion.
66518099Spst
66618099SpstCharacters between 0200 and 0237 octal are no longer legal input
66718099Spstcharacters.  Note that these are not used in ISO 8859.
66818099Spst
66918099SpstA command called `grog' has been added, similar to the `doctype'
67018099Spstcommand described in Kernighan and Pike.
67118099Spst
67218099SpstGroff
67318099Spst-----
67418099Spst
67518099SpstThe groff command has some new options: -V prints the pipeline
67618099Spstinstead of executing it; -P passes an argument to the postprocessor,
67718099Spst-L passes an argument to the spooler.
67818099Spst
67918099SpstThere is a C++ implementation of the groff command.  This handles some
68018099Spstthings slightly better than the shell script.  In particular, it can
68118099Spstcorrectly handle arguments containing characters that have a special
68218099Spstmeaning to the shell; it can give an error message when child
68318099Spstprocesses other than the last in the pipeline terminate abnormally;
68418099Spstits exit status can take account of the exit statuses of all its child
68518099Spstprocesses; it is a little more efficient; when geqn is used, it
68618099Spstsearches for the eqnchar file in the same way that font metric files
68718099Spstare searched for, rather than expecting to find it in one particular
68818099Spstdirectory.
68918099Spst
69018099SpstGtroff
69118099Spst------
69218099Spst
69318099SpstThere is font translation feature: For example, you can tell gtroff to
69418099Spstuse font `HR' whenever font `H' is requested with the line
69518099Spst  .ftr H HR
69618099SpstThis would be useful for a document that uses `H' to refer to
69718099SpstHelvetica.
69818099Spst
69918099SpstThere are some new number registers: `.kern' contains the current kern
70018099Spstmode, `.lg' the current ligature mode, `.x' the major version number,
70118099Spst`.y' the minor version number, `.ce' the number of lines to be
70218099Spstcentered in the current environment, `.trunc' the amount of vertical
70318099Spstspace truncated by the most recently sprung vertical position trap,
70418099Spst`.ne' the amount of vertical space needed in the last `ne' request
70518099Spstthat caused a vertical position trap to be sprung.
70618099Spst
70718099SpstThe `cf' request now behaves sensibly in a diversion.  If used in a
70818099Spstdiversion, it will now arrange for the file to be copied to the output
70918099Spstwhen the diversion is reread.
71018099Spst
71118099SpstThere is a new request `trf' (transparent file) similar to `cf', but
71218099Spstmore like `\!'.
71318099Spst
71418099SpstThere is a new escape sequence `\Y[xxx]', roughly equivalent to
71518099Spst`\X'\*[xxx]'', except that the contents of string or macro xxx are not
71618099Spstinterpreted, and xxx may contain newlines.  This requires an output
71718099Spstformat extension; the drivers have been modified to understand this.
71818099SpstGrops has also been modified to cope with newlines in the arguments to
71918099Spst\X commands; grops has a new \X command mdef, which is like def except
72018099Spstthat it has a first argument giving the number of definitions.
72118099Spst
72218099SpstThere is a new warning category `escape' which warns about unknown
72318099Spstescape sequences.
72418099Spst
72518099SpstThe `fp' request now takes an optional third argument giving the external
72618099Spstname of the font.
72718099Spst
72818099SpstThe `\_' character is now automatically translated to `\(ul' as in troff.
72918099Spst
73018099SpstThe environment variable `GROFF_HYPHEN' gives the name of the file
73118099Spstcontaining the hyphenation patterns.
73218099Spst
73318099SpstThere is a `\C'xxx'' escape sequence equivalent to `\[xxx]'.
73418099Spst
73518099SpstCharacters ", ', ), ], *, \(dg are now initially transparent for the purposes
73618099Spstof end of sentence recognition.
73718099Spst
73818099SpstThere is an anti-recursion feature in the `char' request, so you can
73918099Spstsay `.char \(bu \s+2\(bu\s-2'.
74018099Spst
74118099SpstThe limit on the number of font positions has been removed.
74218099SpstAccordingly `\n[.fp]' never returns 0.
74318099Spst
74418099SpstThe restriction on the number of numbered environments has been removed.
74518099Spst
74618099SpstThere is a new escape sequence `\E' that makes it possible to
74718099Spstguarantee that an escape sequence won't get interpreted in copy-mode.
74818099SpstThe `\R' escape sequence is accordingly now deprecated.
74918099Spst
75018099SpstGpic
75118099Spst----
75218099Spst
75318099SpstArguments of the form `X anything X' (in the `copy thru', `sh', `for',
75418099Spst`if' and `define' constructs) can now be of the form `{ anything }'.
75518099Spst
75618099SpstIf the `linethick' variable is negative (as it now is initially),
75718099Spstlines will be drawn with a thickness proportional to the current point
75818099Spstsize.
75918099Spst
76018099SpstThe `rand' function now takes no arguments and returns a number between
76118099Spst0 and 1.  The old syntax is still supported.
76218099Spst
76318099Spst`^' can be used in expressions to indicate exponentiation.
76418099Spst
76518099SpstIn the `for' construct the argument to the by clause can be prefixed
76618099Spstby `*' to indicate that the increment is multiplicative.
76718099Spst
76818099SpstA bare expression may be used as an attribute.  If the current
76918099Spstdirection is `dir', then an attribute `expr' is equivalent to
77018099Spst`dir expr'
77118099Spst
77218099SpstThere is a `sprintf' construct that allows numbers to be formatted and used
77318099Spstwherever a quoted string can be used.
77418099Spst
77518099SpstThe height of a text object without an explicit height attribute is
77618099Spstthe number of text strings associated with the object times the value
77718099Spstof the `textht' variable.
77818099Spst
77918099SpstThe maximum height and width of a picture is controlled by the
78018099Spst`maxpswid' and `maxpsht' variables.
78118099Spst
78218099SpstGtbl
78318099Spst----
78418099Spst
78518099SpstGtbl can now handle gracefully the situation where the `ce' request
78618099Spsthas been applied to a table.
78718099Spst
78818099SpstGeqn
78918099Spst----
79018099Spst
79118099SpstThe `ifdef' primitive has been generalized.
79218099Spst
79318099SpstA tilde accent can be put underneath a box using `utilde'.  This
79418099Spstdefined using a general `uaccent' primitive.
79518099Spst
79618099SpstGrops
79718099Spst-----
79818099Spst
79918099SpstThere is a new PostScript font downloading scheme which handles font
80018099Spstdownloading for imported illustrations.  Previously, the name of the
80118099Spstfile containing the font was given in the `x download' line in the
80218099Spstgroff font metric file.  Now, there is a `download' file which says
80318099Spstfor each PostScript font name which file contains that font.  Grops
80418099Spstcan also now handle inter-font dependencies, where one downloadable
80518099Spstfont depends on some other (possibly downloadable) font.
80618099Spst
80718099SpstThe `T' font has been removed.  The characters it used to provide are
80818099Spstnow provided by `char' definitions in tmac.ps. TSymbol.ps has also
80918099Spstbeen removed, and the tweaks it provided are now provided by `char'
81018099Spstdefinitions.
811