* doc/meref.me: Fix description of .GS request.
[s-roff.git] / NEWS
blob28ada832867c9b877bee4f2f208c55a5e667b87d
1 This file describes recent user-visible changes in groff.  Bug fixes
2 are not described.  There are more details in the man pages.
4 VERSION 1.16
5 ============
7 Groff
8 -----
10 Some additions to the font description files have been implemented for
11 better support of HTML output:
13   The new format of lines in the `charset' subsection of font description
14   files is
16      name metrics type code [entity_name] [-- comment]
18   Currently, only the font description files in devhtml use the optional
19   entity_name string to define the glyph entities in HTML.  Everything
20   after the entity_name field is ignored; in case this field isn't used,
21   two hyphen characters are now necessary to start a comment.
23   Two new requests are available in DESC files (currently used only with
24   grohtml):
26     use_charnames_in_special
27       This  command  indicates  that  troff should encode named characters
28       inside special commands.
30     pass_filenames
31       requests that troff tells  the  driver  the  source file name being
32       processed.  This is achieved by another tcommand: `F filename'.
34 Troff
35 -----
37 To solve a problem with the .PSPIC macro which needs the `-U' switch of
38 troff to access an external program (psbb), a new request .psbb is now
39 available to get the bounding box of a PostScript image file.  The values
40 (in PostScript units) are returned in the new read-only number registers
41 `llx', `lly', `urx', and `ury'.  Consequently, .PSPIC has been adapted to
42 use the new request, and the psbb program has been removed.
44 A new predefined writable number register, `year', has been added.  It
45 contains the current year.
47 A new read-only register, `.Y', has been added.  It contains the revision
48 number of the groff package.
50 `\fP' now behaves as expected in situations like the following where the
51 font `foo' is undefined:
53   .B bold text
54   normal text \f[foo]bar\fP normal text
56 Previously, the text after \fP appeared as bold.
58 The `substring' request is not new, but hasn't been documented before.
60 A new request `length' computes the length of a string and returns it in
61 a number register.
63 The macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace'
64 (a debugging aid) are now installed also.
66 A new resource file, `troffrc-end', is now available.  It is invoked after
67 all user-specified macros.  Currently used by the html device to include
68 tmac.html; thus no need for users to specify -mhtml anymore.
70 Grotty
71 ------
73 Bruno Haible <haible@clisp.cons.org> contributed support for UTF8 output.
75 Grohtml
76 -------
78 Added .LINE macro to tmac.arkup.
80 The obsolete `.LINK' macro has been removed.
82 .URL, .FTP, and .MAILTO now accept an optional third argument which will
83 be immediately appended to the second argument (to be used with punctuation,
84 for example).
86 Grn
87 ---
89 A new preprocessor to process gremlin pictures.  It is based on the
90 original Berkeley implementation of grn, written by David Slattengren
91 and Barry Roitblat, and has been adapted to groff by Daniel Senderowicz
92 <daniel@synchrods.com> and Werner Lemberg <wl@gnu.org>.
94 Pic
95 ---
97 Added the `srand' command to set the seed for a new sequence of the
98 pseudo-random numbers to be returned by `rand'.
100 VERSION 1.13, 1.14, 1.15
101 ========================
103 Bug fixes only; no user-visible changes.
105 VERSION 1.12
106 ============
108 Finally, there are new maintainers for groff.  Mailing lists and a CVS
109 repository are available also.  See the file README for details.  Not
110 all reported bug could be fixed, so please send mails again if
111 something is still not working.
113 Most of the installation problems should have vanished now (most
114 notably the $(tmac_wrap) bug).
116 There is now a man page called groff_man.man which documents the
117 basics of the -man macros.  It has been originally written by Susan
118 G. Kleinmann <sgk@debian.org>.
120 A (still incomplete) groff reference manual in texinfo format
121 originally contributed by Trent A. Fisher <trent@gnurd.portland.or.us>.
123 me.man and msafer.man have been renamed to groff_me.man
124 resp. groff_msafer.man for consistency.
126 Default strings for macros in doc-common resp. tmac.an no longer
127 contain the word `UNIX'.
129 groff should now be Y2k safe (fixes contributed by Paul Eggert
130 <eggert@twinsun.com>).
132 Following the GNU standards, groff will now use the prefix
133 `/usr/local/' as the default instead of replacing an existent groff
134 binary.
136 groff, troff, nroff, and pic now support the -U flag to activate unsafe
137 behaviour (without -msafer); the -S flag for using the -msafer macros
138 is now the default.
140 Grohtml
141 -------
143 This is a new output device for producing HTML output contributed by
144 Gaius Mulley <gaius@glam.ac.uk>.  It is still very alpha but has been
145 included into the distribution so that a lot of people have a chance
146 to test it.  Bug reports are highly welcome.
148 Grolj4
149 ------
151 Duplex printing support has been contributed by Jeffrey Copeland
152 <jeff@opennt.com>.
154 Soelim
155 ------
157 Added -I option for defining include paths (patch contributed by Peter
158 Miller <peterm@jna.com.au>).
160 Gxditview
161 ---------
163 Fallback resources added (patch contributed by Larry Jones
164 <larry.jones@sdrc.com>).
166 Will now support 8 gray levels.
171 New version 1.32 (contributed by Joergen Haegg <jh@axis.com>).
173 VERSION 1.11
174 ============
176 Complete documentation for pic is now in the file doc/pic.ms.  It was
177 contributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically
178 *not* volunteering to take over groff as he is way overworked with
179 half a dozen other projects.
181 VERSION 1.10
182 ============
184 The directory where data files are installed has been changed from
185 /usr/local/lib/groff to /usr/local/share/groff to comply with the
186 latest GNU coding standards.
188 By default groff programs with Unix equivalents are installed with a
189 "g" prefix unless there is an existing (non-groff) troff installation.
191 A new approach is used to make system macro packages available to
192 groff.  Instead of simply including /usr/lib/tmac in the list of
193 directories searched by groff, the installation process creates for
194 each system macro package a wrapper macro package in the groff macro
195 directory that references the system macro package.  The groff macro
196 packages are now installed with a leading "g" prefix if there is a
197 system version of the same macro package, and otherwise without the
198 "g" prefix, with the exception that the groff version of -me which is
199 always installed as -me.
201 There is a new device, lj4, for the HP LaserJet 4 (and PCL5
202 compatibles).
204 Groff
205 -----
207 groff has a -S option that prevents the use of unsafe features in pic
208 and troff.  This uses a new -S option of pic and the -msafer macros
209 for troff.
211 Troff
212 -----
214 The `blm' request specifies a macro to be invoked when a blank line is
215 encountered.
220 A -S (safer) option disables the sh command.
222 Grops
223 -----
225 The -m option enables manual feed.
227 VERSION 1.09
228 ============
230 \(rn will now produce a character that has the traditional metrics,
231 and will form corners with \(ul and \(br.  This means that it will not
232 align properly with \(sr.  Instead there's a new character
233 \[radicalex] which aligns with \(sr; this is used by eqn for doing
234 square roots.
236 Troff
237 -----
239 The `pso' request allows you to read from the standard output of a
240 command.
242 Grops
243 -----
245 The PSPIC macro has options to allow the horizontal alignment of the
246 graphic to be specified.
248 VERSION 1.08
249 ============
251 Troff
252 -----
254 The escape sequence \V[xxx] will interpolate the value of the
255 environment variable xxx.
260 The decimalpoint option can be used to specify the character to be
261 recognized as the decimal point character in place of the default
262 period.
264 VERSION 1.07
265 ============
267 Groff
268 -----
270 The environment variable GROFF_COMMAND_PREFIX can be used to control
271 whether groff looks for `gtroff' or `troff' (similarily for the
272 preprocessors.)
274 Troff
275 -----
277 Multilingual hyphenation is supported by new `hpf' and `hla' requests,
278 and by a `\n[.hla]' number register.  The -H option has been removed.
279 Files of hyphenation patterns can have comments.
281 When a font cannot be found, troff gives a warning (of type `font',
282 enabled by default) instead of an error.
284 There's a new request `trnt' that's like `tr' except that it doesn't
285 apply to text transparently throughput into a diversion with \!.
290 There is a `nokeep' option which tells tbl not to use diversions to
291 try to keep the table on one page.
296 Setting the parameter `nroff' to a non-zero value causes `ndefine' to
297 behave like `define' and `tdefine' to be ignored.  This is done by
298 eqnrc when the current device is ascii or latin1.  There's a `neqn'
299 script that just does `eqn -Tascii'.
301 Grotty
302 ------
304 grotty uses whatever page length was specified using the `pl' request
305 rather than using the paperlength command in the DESC file.  The
306 paperwidth command in the DESC file is also ignored.
308 VERSION 1.06
309 ============
311 The programs in groff that have Unix counterparts can now be installed
312 without a leading `g' prefix.  See the `g' variable in the Makefile.
314 The g?nroff script simulates the nroff command using groff.
316 New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz,
317 \(an.  See groff_char(7).
319 ^L is now a legal input character.
321 Groff
322 -----
324 The Xps pseudo-device has disappeared.  Instead there is a new -X
325 option that tells groff to use gxditview instead of the usual
326 postprocessor. (So instead of -TXps, use -XTps or just -X if your
327 default device is ps.)
329 The postprocessor to be used for a particular device is now specified
330 by a `postpro' command in the DESC file rather than being compiled
331 into groff.  Similarly the command to be used for printing (with the
332 -l option) is now specified by a `print' command in the DESC file.
334 The groff command no longer specifies eqnchar as an input file for
335 eqn.  Instead eqn automatically loads a file `eqnrc'.  The groff
336 command no longer passes the -D option to eqn.  Instead eqnrc sets the
337 draw_lines parameter.
339 The groff command no longer tells troff to load a device-specific
340 macro file.  This is handled instead by the `troffrc' file, which is
341 always loaded by troff.
343 The shell script version of groff has been removed.
345 Troff
346 -----
348 The `rchar' request removes a character definition established with `char'.
350 Compatibility mode is disabled and the escape character is set to `\'
351 while a character definition is being processed.
353 The `\#' escape sequence is like `\"' except that the terminating
354 newline is ignored.
356 The `shc' request tells troff which character to insert (instead of
357 the default \(hy) when a word is hyphenated at a line break.
359 A font name of 0 (zero) in the DESC file will cause no font to be
360 mounted on the corresponding font position.  This is useful for
361 arranging that special fonts are mounted on positions on which users
362 are not likely explicitly to mount fonts.  All groff devices now avoid
363 initially mounting fonts on positions 5-9.
365 The `do' request allows a single request or macro to be interpreted
366 with compatibility mode disabled.
368 troff automatically loads a file `troffrc' before any other input file.
369 This can be prevented with the -R option.  This file is responsible
370 for loading the device-specific macros.
375 The -x option has been removed and a -n option has been added.  By
376 default, pic now assumes that the postprocessor supports groff
377 extensions.  The -n option tells pic to generate output that works
378 with ditroff drivers.  The -z option now applies only to TeX mode.
380 The -p option has been removed. Instead if the -n option is not
381 specified, pic generates output that uses \X'ps: ...' if the \n(0p
382 register is non-zero and tmac.ps sets this register to 1.
384 In places where you could 1st or 5th you can now say `i'th or `i+1'th
385 (the quotes are required).
390 Eqn now automatically reads a file `eqnrc' from the macro directory.
391 This performs the same role that the eqnchar files used to.  This can
392 be prevented by the -R option.
394 Setting the draw_lines parameter to a non-zero value causes lines to
395 be drawn using \D rather than \l.  The -D option is now obsolete.
397 `uparrow', `downarrow' and `updownarrow' can be used with `left' and
398 `right'.
400 The amount of extra space added before and after lines containing
401 equations can be controlled using the `body_height' and `body_depth'
402 parameters.
404 Grops
405 -----
407 Font description files have been regenerated from newer AFM files.
408 You can get access to the additional characters present in the text
409 fonts in newer PostScript printers by using -mpsnew.
411 The default value of the -b option is specified by a `broken' command
412 in the DESC file.
414 With the -g option, grops will generate PostScript code that guesses
415 the page height.  This allows documents to be printed on both letter
416 (8.5x11) and A4 paper without change.
418 Grodvi
419 ------
421 ISO Latin-1 characters are available with -Tdvi.  Format groff_char(7)
422 with groff -Tdvi for more information.
424 Grotty
425 ------
427 The -mtty-char macros contain additional character definitions for
428 use with grotty.
430 Macros
431 ------
433 In previous releases the groff -me macros treated the $r and $R number
434 registers in a way that was incompatible with the BSD -me macros.  The
435 reason for this was that the approach used by the BSD -me macros does
436 not work with low resolution devices such as -TX75 and -TX100.
437 However, this caused problems with existing -me documents.  In this
438 release, the vertical spacing is controlled by the $v and $V registers
439 which have the same meaning as $r and $R in earlier groff releases.
440 In addition, if the $r or $R register is set to a value that would be
441 correct for for the BSD -me macros and a low resolution device is not
442 being used, then an appropriate value for the $v or $V register will
443 be derived from the $r or $R register.
445 The groff -me macros work with -C and (I think) with Unix troff.
447 For backward compatibility with BSD -me, the \*{ and \*} strings are
448 also available as \*[ and \*].  Of course, \*[ will only be usable
449 with -C.
451 The \*T string has been deleted.  Use \*(Tm instead.
453 Xditview
454 --------
456 The `n', Space and Return keys are bound to the Next Page action.  The
457 `p', BackSpace and Delete keys are bound to the Previous Page action.
458 The `q' key is bound to the Quit action.
460 The `r' key is bound to a rerasterize action that reruns groff, and
461 redisplays the current page.
463 VERSION 1.05
464 ============
469 There is a alternative assignment operator `:=' which interacts
470 differently with blocks.
472 There is a new command `command', which allows the values of variables
473 to be passed through to troff or TeX.
475 The `print' command now accepts multiple arguments.
477 String comparison expressions (using `==' or `!=') are allowed in more
478 contexts.
480 Grotty
481 ------
483 Horizontal and vertical lines drawn with \D'l ...' will be rendered
484 using -, | and + characters.  This is intended to give reasonable
485 results with boxed tables.  It won't work well with pic.
487 Macros
488 ------
490 The -mdoc macros have been upgraded to the version in the second
491 Berkeley networking release.  This version is not completely
492 compatible with earlier versions; the old version is still available
493 as -mdoc.old.  The grog script has been enhanced so that it can
494 usually determine whether a document requires the old or new versions.
496 With -TX75, -TX100 and -TXps, the PSPIC macro will produce a box
497 around where the picture would appear with -Tps.
499 VERSION 1.04
500 ============
502 An implementation of the -mm macros is included.
504 The directory in which temporary files are created can be controlled
505 by setting the GROFF_TMPDIR or TMPDIR environment variables.
510 Some MS-DOS support (see pic/make-dos-dist).
512 Grops
513 -----
515 There are two new \X commands (\X'ps: invis' and \X'ps: endinvis')
516 which make it possible to have substitute characters that are
517 displayed when previewing with -TXps but ignored when printing with
518 grops.
520 Xditview
521 --------
523 Support for scalable fonts.
525 VERSION 1.03
526 ============
528 No changes other than bug fixes.
530 VERSION 1.02
531 ============
533 There is an implementation of refer and associated programs.  groff -R
534 preprocesses with grefer; no mechanism is provided for passing
535 arguments to grefer because most grefer options have equivalent
536 commands which can be included in the file.  grog also supports refer.
538 There is an alternative perl implementation of the grog script.
540 The code field in lines in the charset section of font description
541 files is now allowed to contain an arbitrary integer (previously it
542 was required to lie between 0 and 255).  Currently grops and grodvi
543 use only the low order 8 bits of the value.  Grodvi will use the
544 complete value; however, this is unlikely to be useful with
545 traditional TeX tools (.tfm files only allow 8 bit character codes.)
547 Left and right double quotes can be obtained with \(lq and \(rq
548 respectively.
550 There is a new program called pfbtops which translates PostScript
551 fonts in pfb format to ASCII.
553 A slightly modified version of the Berkeley tmac.doc is included.
555 Troff
556 -----
558 In long escape names the closing ] is now required to be at the same
559 input level as the opening [.
561 The \A'S' escape sequence returns 1 or 0 according as S is or is not
562 suitable for use as a name.
564 \~ produces an unbreakable space that can be stretched when the line
565 is adjusted.
567 The `mso' request is like the `so' request except that it searches for
568 the file in the same directories in which tmac.X is searched for when
569 the -mX option is given.
571 The escape sequence `\R' is similar to the `nr' request.
576 A new `special' primitive allows you to add new types of unary
577 constructs by writing a troff macro.
582 The implementation no longer uses gperf.
584 Grops
585 -----
587 The compile-time -DBROKEN_SPOOLER option has been replaced by a
588 BROKEN_SPOOLER_FLAGS option.  This allows more precise control over
589 how grops should workaround broken spoolers and previewers.  There is
590 a new -b option that can change this at run-time.
592 Grops now generates PostScript that complies with version 3.0 of the
593 Document Structuring Convention.
595 The resource management component of grops (the part that deals with
596 imported documents and downloadable fonts) has been rewritten and now
597 supports version 3.0 of the Document Structuring Conventions.  The
598 %%DocumentFonts comment is no longer supported; you must use the
599 %%Document{Needed,Supplied}{Fonts,Resources} comments instead
600 (or as well.)
602 tmac.psatk contains some macros that support the mechanism used by the
603 Andrew Toolkit for including PostScript graphics in troff documents.
605 Xditview
606 --------
608 Parts of xditview have been rewritten so that it can be used with the
609 output of gtroff -Tps.  groff -TXps will run gtroff -Tps with
610 gxditview.
612 There is a new menu entry `Print' which brings up a dialog box for
613 specifying a command with which the file being previewed should be
614 printed.
616 Xditview now uses imake.
618 VERSION 1.01
619 ============
621 The groff command now understands the gtroff `-a' and `-i' options.
623 With the `m' and `n' scale indicators, the scale factor is rounded
624 horizontally before being applied.  This makes (almost) no difference
625 for devices with `hor' equal to 1, but it makes groff with -Tascii or
626 -Tlatin1 behave more like nroff in its treatment of these scale
627 indicators.  Accordingly tmac.tty now calls the `nroff' request so
628 that the `n' condition will be true.
630 The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X)
631 have been made to work at least somewhat with -C.  In particular the
632 special characters defined by these macros now work with -C.
634 groff -Tdvi -p will now pass pic the -x flag; this will enable filling
635 of arrowheads and boxes, provided that your dvi driver supports the
636 latest version of the tpic specials.
641 There is a new `-N' option that tells eqn not to allow newlines in
642 delimiters.  This allows eqn to recover better from missing closing
643 delimiters.  The groff command will pass on a `-N' option to eqn.
645 Grops
646 -----
648 You can now use psfig with grops.  See the file ps/psfig.diff.  I do
649 not recommend using psfig for new documents.
651 The command \X'ps: file F' is similar to \X'ps: exec ...' except that
652 the PostScript code is read from the file F instead of being contained
653 within the \X command.  This was added to support psfig.
655 Grodvi
656 ------
658 There are font files HB and HI corresponding to cmsssbx10 and cmssi10.
660 Macros
661 ------
663 The groff -me macros now work with the -C option.  As a result, they
664 may also work with Unix nroff/troff.
666 In -me, the $r and $R number registers now contain the line spacing as
667 a percentage of the pointsize expressed in units (normally about 120).
668 The previous definition was useless with low resolution devices such
669 as X75 and X100.
671 VERSION 1.00
672 ============
674 A -ms-like macro-package is now included.
676 The name for the Icelandic lowercase eth character has been changed
677 from \(-d to \(Sd.
679 Troff
680 -----
682 There is a new request `nroff', which makes the `n' built-in condition
683 true and the `t' built-in condition false; also a new request `troff'
684 which undoes the effect of the `nroff' request.  This is intended only
685 for backward compatibility: it is usually better to test \n(.H or
686 \n(.V or to use the `c' built-in condition.
688 The \R escape sequence has been deleted.  Use \E instead.
690 There are `break' and `continue' requests for use with the `while'
691 request.
693 There is a request `hym' that can ensure that when the current
694 adjustment mode is not `b' a line will not be hyphenated if it is no
695 more than a given amount short, and a request `hys' that can ensure
696 that when the current adjustment mode is `b' a line will not be
697 hyphenated if it can be justified by adding no more than a given
698 amount of extra space to each word space.
700 There is a request `rj' similar to `ce' that right justifies lines.
702 A warning of type `space' will be given when a call is made to an
703 undefined request or macro with a name longer than two characters, and
704 the first two characters of the name make a name that is defined.
705 This is intended to find places where a space has been omitted been a
706 request or macro and its argument.  This type of warning is enabled by
707 default.
712 A comma is permitted between the arguments to the `reset' command.
714 For use with TeX, there is a new `-c' option that makes gpic treat
715 lines beginning with `.' in a way that is more compatible with tpic
716 (but ugly).
721 It is no longer necessary to add `space 0' at the beginning of
722 complicated equations inside pictures.
724 `prime' is now treated as an ordinary character, as in Unix eqn.  The
725 previous behaviour of `prime' as an operator can now be obtained using
726 `opprime'.
728 Xditview
729 --------
731 There are two new devices X75-12 and X100-12 which are the same as X75
732 and X100 except that they are optimized for documents that use mostly
733 12 point text.
735 VERSION 0.6
736 ===========
738 The installation process has been refined to make it easy for you to
739 share groff with someone who has the same type of machine as you but
740 does not have a C++ compiler.  See the end of the INSTALL file for
741 details.
743 There is a man page for the tfmtodit program which explains how to use
744 your own fonts with groff -Tdvi.
746 There is a man page for afmtodit which explains how to use your own
747 PostScript fonts with groff -Tps.
749 The \N escape sequence is now fully supported.  It can now be used to
750 access any character in a font by its output code, even if it doesn't
751 have a groff name.  This is made possible by a convention in the font
752 files that a character name of `---' refers to an unnamed character.
753 The drivers now all support the `N' command required for this.  The font
754 description files have been updated to include unnamed characters.
756 The `x' command in font description files has been removed: instead
757 any unknown commands are automatically made available to the drivers.
758 If you constructed your own font files with an earlier version of
759 tfmtodit or afmtodit, you must construct them again using the current
760 version.
762 Characters between 0200 and 0237 octal are no longer legal input
763 characters.  Note that these are not used in ISO 8859.
765 A command called `grog' has been added, similar to the `doctype'
766 command described in Kernighan and Pike.
768 Groff
769 -----
771 The groff command has some new options: -V prints the pipeline
772 instead of executing it; -P passes an argument to the postprocessor,
773 -L passes an argument to the spooler.
775 There is a C++ implementation of the groff command.  This handles some
776 things slightly better than the shell script.  In particular, it can
777 correctly handle arguments containing characters that have a special
778 meaning to the shell; it can give an error message when child
779 processes other than the last in the pipeline terminate abnormally;
780 its exit status can take account of the exit statuses of all its child
781 processes; it is a little more efficient; when geqn is used, it
782 searches for the eqnchar file in the same way that font metric files
783 are searched for, rather than expecting to find it in one particular
784 directory.
786 Gtroff
787 ------
789 There is font translation feature: For example, you can tell gtroff to
790 use font `HR' whenever font `H' is requested with the line
791   .ftr H HR
792 This would be useful for a document that uses `H' to refer to
793 Helvetica.
795 There are some new number registers: `.kern' contains the current kern
796 mode, `.lg' the current ligature mode, `.x' the major version number,
797 `.y' the minor version number, `.ce' the number of lines to be
798 centered in the current environment, `.trunc' the amount of vertical
799 space truncated by the most recently sprung vertical position trap,
800 `.ne' the amount of vertical space needed in the last `ne' request
801 that caused a vertical position trap to be sprung.
803 The `cf' request now behaves sensibly in a diversion.  If used in a
804 diversion, it will now arrange for the file to be copied to the output
805 when the diversion is reread.
807 There is a new request `trf' (transparent file) similar to `cf', but
808 more like `\!'.
810 There is a new escape sequence `\Y[xxx]', roughly equivalent to
811 `\X'\*[xxx]'', except that the contents of string or macro xxx are not
812 interpreted, and xxx may contain newlines.  This requires an output
813 format extension; the drivers have been modified to understand this.
814 Grops has also been modified to cope with newlines in the arguments to
815 \X commands; grops has a new \X command mdef, which is like def except
816 that it has a first argument giving the number of definitions.
818 There is a new warning category `escape' which warns about unknown
819 escape sequences.
821 The `fp' request now takes an optional third argument giving the external
822 name of the font.
824 The `\_' character is now automatically translated to `\(ul' as in troff.
826 The environment variable `GROFF_HYPHEN' gives the name of the file
827 containing the hyphenation patterns.
829 There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'.
831 Characters ", ', ), ], *, \(dg are now initially transparent for the purposes
832 of end of sentence recognition.
834 There is an anti-recursion feature in the `char' request, so you can
835 say `.char \(bu \s+2\(bu\s-2'.
837 The limit on the number of font positions has been removed.
838 Accordingly `\n[.fp]' never returns 0.
840 The restriction on the number of numbered environments has been removed.
842 There is a new escape sequence `\E' that makes it possible to
843 guarantee that an escape sequence won't get interpreted in copy-mode.
844 The `\R' escape sequence is accordingly now deprecated.
846 Gpic
847 ----
849 Arguments of the form `X anything X' (in the `copy thru', `sh', `for',
850 `if' and `define' constructs) can now be of the form `{ anything }'.
852 If the `linethick' variable is negative (as it now is initially),
853 lines will be drawn with a thickness proportional to the current point
854 size.
856 The `rand' function now takes no arguments and returns a number between
857 0 and 1.  The old syntax is still supported.
859 `^' can be used in expressions to indicate exponentiation.
861 In the `for' construct the argument to the by clause can be prefixed
862 by `*' to indicate that the increment is multiplicative.
864 A bare expression may be used as an attribute.  If the current
865 direction is `dir', then an attribute `expr' is equivalent to
866 `dir expr'
868 There is a `sprintf' construct that allows numbers to be formatted and used
869 wherever a quoted string can be used.
871 The height of a text object without an explicit height attribute is
872 the number of text strings associated with the object times the value
873 of the `textht' variable.
875 The maximum height and width of a picture is controlled by the
876 `maxpswid' and `maxpsht' variables.
878 Gtbl
879 ----
881 Gtbl can now handle gracefully the situation where the `ce' request
882 has been applied to a table.
884 Geqn
885 ----
887 The `ifdef' primitive has been generalized.
889 A tilde accent can be put underneath a box using `utilde'.  This
890 defined using a general `uaccent' primitive.
892 Grops
893 -----
895 There is a new PostScript font downloading scheme which handles font
896 downloading for imported illustrations.  Previously, the name of the
897 file containing the font was given in the `x download' line in the
898 groff font metric file.  Now, there is a `download' file which says
899 for each PostScript font name which file contains that font.  Grops
900 can also now handle inter-font dependencies, where one downloadable
901 font depends on some other (possibly downloadable) font.
903 The `T' font has been removed.  The characters it used to provide are
904 now provided by `char' definitions in tmac.ps. TSymbol.ps has also
905 been removed, and the tweaks it provided are now provided by `char'
906 definitions.