NEWS revision 79543
179543SruThis file describes recent user-visible changes in groff. Bug fixes are not 279543Srudescribed. There are more details in the man pages. 318099Spst 479543SruVERSION 1.17.2 579543Sru============== 679543Sru 779543SruThis is major bug-fixing release which should replace 1.17.1. 879543Sru 979543SruTroff 1079543Sru----- 1179543Sru 1279543Sruo The `IMAGE' macro in www.tmac has changed: Now the optional 2nd parameter 1379543Sru gives the horizontal image location (left, centered, or right), and the 1479543Sru optional 3rd and 4th parameter the image dimensions. 1579543Sru 1679543SruVERSION 1.17.1 1779543Sru============== 1879543Sru 1979543SruThis is mainly a bug-fixing release. 2079543Sru 2179543SruTroff 2279543Sru----- 2379543Sru 2479543Sruo Two new requests `de1' and `am1' which are similar to `de' and `am' but 2579543Sru with compatibility mode disabled during expansion of macros defined by 2679543Sru them. 2779543Sru 2879543Sruo Added request `brp'. This is the same as `\p'. 2979543Sru 3079543Sruo Similar to other versions of troff, `.ns' now works in all diversions, 3179543Sru not only in the top-level one. 3279543Sru 3379543Sruo New read-only number register `.ns'. Returns 1 if in no-space mode, 3479543Sru 0 otherwise. 3579543Sru 3679543SruNroff 3779543Sru----- 3879543Sru 3979543Sruo Options -p (pic) and -t (tbl) added. 4079543Sru 4179543Sruo The environment variable GROFF_BIN_PATH is now checked before PATH for 4279543Sru finding groff. 4379543Sru 4479543SruGrohtml 4579543Sru------- 4679543Sru 4779543Sruo New option `-D dir' to specify a directory in which all images are placed. 4879543Sru 4979543Sruo New option `-I stem' to specify an image name stame. If not given, 5079543Sru `grohtml-XXX' is used (`XXX' is the process ID). 5179543Sru 5279543SruVERSION 1.17 5379543Sru============ 5479543Sru 5575584SruGroff 5675584Sru----- 5775584Sru 5879543Sruo `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The 5975584Sru old behaviour has been changed to overcome problems with platforms which 6075584Sru have an 8+3 file name limit, and platforms which have other versions of 6175584Sru troff installed also. Additionally, all macro files have been renamed 6275584Sru using the latter scheme to avoid 8+3 name clashes. 6375584Sru 6479543Sruo The new environment variable GROFF_BIN_PATH is checked for programs groff 6579543Sru is calling (preprocessors, troff, and output devices) before PATH. If not 6679543Sru set, it defaults to the directory where the groff binary is located. 6779543Sru Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH 6879543Sru to find the groff binary but passes both the GROFF_BIN_PATH and PATH 6979543Sru environment variable to groff. 7075584Sru 7175584SruTroff 7275584Sru----- 7375584Sru 7475584Sruo The mdoc package has been completely rewritten, using the full power of 7575584Sru GNU troff to remove limitations of Unix troff (which is no longer 7675584Sru supported). Most important changes are: 7775584Sru 7875584Sru . No argument limit. 7975584Sru . Almost all macros are parsed and callable (if it makes sense). 8075584Sru . `.Lb': prints library names 8175584Sru . `.Nm <punctuation>' now works as expected; `.Nm "" <punctuation>' has 8275584Sru been withdrawn. 8375584Sru . Updated `.St' command 8475584Sru . `.Fx': prints FreeBSD 8575584Sru . `.Ox': prints OpenBSD 8675584Sru . `.Bsx': prints BSD/OS 8775584Sru . `.Brq', `.Bro', `.Brc': brace enclosure macros 8875584Sru . `.Bd -centered': center lines 8975584Sru . `.Bl -xwidth <string>': interpret <string> and use the resulting width 9075584Sru . support for double-sided printing (-rD1 command line switch) 9175584Sru . support for 11pt and 12pt document sizes (-rS11, -rS12 command line 9275584Sru switches) 9375584Sru 9475584Sru `groff_mdoc.man' replaces `groff_mdoc.samples.man'; it now completely 9575584Sru documents the mdoc package. 9675584Sru 9775584Sru Great care has been taken to assure backwards compatibility. If you 9875584Sru encounter any abnormal results, please report them to bug-groff@gnu.org. 9975584Sru 10075584Sruo A new command line option for the `man' macros (similar to the `mdoc' 10179543Sru package has been implemented: `-rcR=1' (now the default in nroff mode) 10279543Sru produces one single, very long page instead of multiple pages. `-rcR=0' 10379543Sru deactivates it. 10475584Sru 10575584Sruo The `return' request has been added to return immediately from a macro. 10675584Sru 10775584Sruo A new request `nop' (no operation) has been added which is similar to 10875584Sru `if 1'. For example, 10975584Sru 11075584Sru .if t \{\ 11175584Sru Hallo! 11275584Sru .\} 11375584Sru 11475584Sru can now be written as 11575584Sru 11675584Sru .if t \{\ 11775584Sru . nop Hallo! 11875584Sru .\} 11975584Sru 12075584Sruo `box' and `boxa' are two new requests which behave similarly to `di' and 12175584Sru `da' but don't include a partially filled line (which is restored after 12275584Sru ending the diversion). 12375584Sru 12475584Sruo The `asciify' request has been extended to `unformat' space characters 12575584Sru and some other escape sequences also. 12675584Sru 12779543Sru `\ ' is no longer unformatted as a space but remains an unpaddable, 12875584Sru unbreakable space character. 12975584Sru 13075584Sruo The new `unformat' request is similar to `asciify' but only handles space 13175584Sru characters and tabs specially if the diversion is reread, retaining font 13275584Sru information. This makes it possible to reformat diversions; for example 13375584Sru the following 13475584Sru 13575584Sru .ll 3i 13675584Sru . 13775584Sru a01 a02 a03 a04 a05 a06 a07 a08 a09 a10. 13875584Sru . 13975584Sru .box box1 14075584Sru .ev 1 14175584Sru .nf 14275584Sru \f[B]b01 b02 b03 b04 b05 b06 b07 b08 b09 b10.\f[P] 14375584Sru .br 14475584Sru .ev 14575584Sru .box 14675584Sru . 14775584Sru c01 c02 c03 c04 c05 c06 c07 c08 c09 c10. 14875584Sru . 14975584Sru .unformat box1 15075584Sru .box1 15175584Sru 15275584Sru gives 15375584Sru 15475584Sru a01 a02 a03 a04 a05 a06 a07 15575584Sru a08 a09 a10. c01 c02 c03 c04 15675584Sru c05 c06 c07 c08 c09 c10. b01 15775584Sru b02 b03 b04 b05 b06 b07 b08 15875584Sru b09 b10. 15975584Sru 16075584Sru Without the `unformat' request, space characters are converted to word 16175584Sru space nodes which are no longer stretchable, and the result would be 16275584Sru 16375584Sru a01 a02 a03 a04 a05 a06 a07 16475584Sru a08 a09 a10. c01 c02 c03 c04 16575584Sru c05 c06 c07 c08 c09 c10. b01 16675584Sru b02 b03 b04 b05 b06 b07 b08 16775584Sru b09 b10. 16875584Sru 16975584Sruo The new request `linetabs' controls the `line-tabs' mode. In line-tabs 17075584Sru mode, tab distances are computed relative to the (current) output line. 17175584Sru Otherwise they are taken relative to the input line. For example, the 17275584Sru following 17375584Sru 17475584Sru .ds x a\t\c 17575584Sru .ds y b\t\c 17675584Sru .ds z c 17775584Sru .ta 1i 3i 17875584Sru \*x 17975584Sru \*y 18075584Sru \*z 18175584Sru 18275584Sru yields 18375584Sru 18475584Sru a b c 18575584Sru 18675584Sru In line-tabs mode, the same code gives 18775584Sru 18875584Sru a b c 18975584Sru 19075584Sru The new read-only number register `.linetabs' returns 1 if in line-tabs 19175584Sru mode, and 0 otherwise. 19275584Sru 19375584Sruo Two new requests `tm1' and `tmc' have been added to improve writing 19475584Sru messages to the terminal. `tm1' is similar to `tm' but allows leading 19575584Sru whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline. 19675584Sru 19775584Sruo A new request `dei' (define indirect) has been added. The first and 19875584Sru second parameter of `dei' are taken from string registers rather than 19975584Sru directly; this very special request is needed to make `trace.tmac' 20075584Sru independent from the escape character (which might even be disabled). 20175584Sru 20275584Sruo It is now possible to save and restore the escape character with two new 20375584Sru requests `ecs' and `ecr'. 20475584Sru 20575584Sruo The new escape sequence \B'...' is an analogon to `\A': If the string 20675584Sru within the delimiters is a valid numeric expression, return character `1', 20775584Sru and `0' otherwise. 20875584Sru 20975584Sruo The new escape sequence `\:' inserts a zero-width break point. This is 21075584Sru similar to `\%' but without a soft hyphen character. 21175584Sru 21275584Sruo The `tr' request can now map characters onto `\~'. 21375584Sru 21475584Sruo Calling the `fam' request without an argument switches back to the 21575584Sru previous font family. 21675584Sru 21775584Sruo The new read-only register `.int' is set to a positive value if the last 21879543Sru output line is interrupted (i.e., if the input line contains `\c'). 21975584Sru 22075584Sruo The `writem' request is not new, but hasn't been documented before. This 22175584Sru is similar to `write' but instead of a string the contents of a given 22275584Sru macro or string is written to a stream. 22375584Sru 22475584Sruo The read/write number register `hp' to get/set the current horizontal 22575584Sru position relative to the input line isn't new but hasn't been documented 22675584Sru properly before. 22775584Sru 22879543Sruo `\X' and `\Y' are now transparent for end-of-sentence recognition. 22975584Sru 23079543Sruo The `cu' request in nroff mode now works as documented (i.e., it 23179543Sru underlines spaces also). 23275584Sru 23375584SruGrog 23475584Sru---- 23575584Sru 23679543Sruo The grog script now works in non-compatibility mode also (which is the 23775584Sru default). As usual, use the `-C' option to activate compatibility mode. 23875584Sru 23975584SruGrops 24075584Sru----- 24175584Sru 24275584SruA new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has been 24375584Sruadded to select a different prologue file. 24475584Sru 24575584SruThe effect of the former `-mpsnew' option to access more Type 1 characters 24675584Sruis now the default and no longer available. To get the old behaviour (i.e., 24775584Sruemulation of some glyphs by composition) use `-mpsold'. 24875584Sru 24975584SruMiscellaneous 25075584Sru------------- 25175584Sru 25275584Sruo For security reasons the following changes have been done: 25375584Sru 25475584Sru . The tmac.safer file has been replaced with a built-in solution; .open, 25575584Sru .opena, .pso, .sy, and .pi are completely disabled in safer mode (which 25675584Sru is the default); to enable these requests the `-U' command line flag 25775584Sru must be used. 25875584Sru 25975584Sru . Files specified with the .mso request or given with the `-m' command 26075584Sru line option, and hyphenation patterns loaded with `.hpf' are no longer 26175584Sru searched in the current directory by default (besides the usual tmac 26275584Sru path). Instead, the home directory is used. To add the current 26375584Sru directory, either use the `-U' or `-M' command line option or set the 26475584Sru GROFF_TMAC_PATH environment variable to an appropriate value. 26575584Sru 26675584Sru . troffrc, troffrc-end, and eqnrc are neither searched in the current nor 26775584Sru in the home directory (even if -U is given). Use -M or GROFF_TMAC_PATH 26875584Sru to change that. 26975584Sru 27075584Sru . Similarly, the current directory is no longer part of the font path. 27175584Sru Use the `-F' command line option or the GROFF_FONT_PATH environment 27275584Sru variable if you really need the current directory. 27375584Sru 27479543Sruo groff now installs its data files into /usr/local/share/groff/<version> by 27579543Sru default, following the GNU standard. Additionally, a local tmac directory 27679543Sru (by default /usr/local/share/groff/site-tmac) is scanned before the 27779543Sru standard tmac directory. Wrapper files for system-specific macro packages 27879543Sru (if necessary) are put into /usr/local/lib/groff/site-tmac; this directory 27979543Sru is searched before the local tmac directory. 28075584Sru 28179543Sruo All programs now have option `-v' to show the version number; they exit 28279543Sru immediately afterwards, following the GNU standards. Additionally, 28375584Sru `--version' and `--help' have been added, doing the obvious actions. 28475584Sru 28569626SruVERSION 1.16.1 28669626Sru============== 28769626Sru 28869626SruBug fixes only; no user-visible changes. 28969626Sru 29069626SruVERSION 1.16 29169626Sru============ 29269626Sru 29369626SruGroff 29469626Sru----- 29569626Sru 29669626SruThe anachronism of calling the man macro package with `-man' has been fixed; 29769626Srunow you can say `-m man' also. The same is true for `ms', `me', `markup', 29869626Sru`mandoc', and `mdoc'. 29969626Sru 30069626SruA new switch `-g' for calling `grn' is available. 30169626Sru 30269626SruA new switch `-G' for calling `grap' is available. 30369626Sru 30469626SruEBCDIC support for tty devices has been added. On such hosts, IBM code page 30569626Sru1047 is available with -Tcp1047 instead of -Tascii and -Tlatin1 (and, for 30669626Sruthe moment, -Tutf8). Note that non-tty devices are not yet supported (but 30769626Sruinstalled). 30869626Sru 30969626SruTroff 31069626Sru----- 31169626Sru 31269626SruA new command line option to the `man' macros is available: `-rSxx' (with 31369626Sru`xx' either 10, 11, or 12) to set the base document font size to `xx' 31469626Srupoints. Additionally, `.SH' now produces larger headings than `.SS'. 31569626Sru 31669626SruTo solve a problem with the .PSPIC macro which needs the `-U' switch of 31769626Srutroff to access an external program (psbb), a new request .psbb is now 31869626Sruavailable to get the bounding box of a PostScript image file. The values 31969626Sru(in PostScript units) are returned in the new read-only number registers 32069626Sru`llx', `lly', `urx', and `ury'. Consequently, .PSPIC has been adapted to 32169626Sruuse the new request, and the psbb program has been removed. 32269626Sru 32369626SruA new predefined writable number register, `year', has been added. It 32469626Srucontains the current year. 32569626Sru 32669626SruA new read-only register, `.Y', has been added. It contains the revision 32769626Srunumber of the groff package. 32869626Sru 32969626Sru`\fP' now behaves as expected in situations like the following where the 33069626Srufont `foo' is undefined: 33169626Sru 33269626Sru .B bold text 33369626Sru normal text \f[foo]bar\fP normal text 33469626Sru 33569626SruPreviously, the text after \fP appeared as bold. 33669626Sru 33769626SruThe `substring' request is not new, but hasn't been documented before. 33869626Sru 33969626SruThe predefined `.T' string register (which holds the current output device) 34069626Sruis not new, but hasn't been documented before. 34169626Sru 34269626SruA new request `length' computes the length of a string and returns it in 34369626Srua number register. 34469626Sru 34569626SruThe macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace' 34669626Sru(a debugging aid) are now installed also. 34769626Sru 34869626SruA new resource file, `troffrc-end', is now available. It is invoked after 34969626Sruall user-specified macros. Currently used by the html device to include 35069626Srutmac.html; thus no need for users to specify -mhtml anymore. 35169626Sru 35269626SruThe soft hyphen character now has a glyph name: `shc'. 35369626Sru 35469626SruThe latin-1 character 173 (PS name `periodcentered') has got the troff glyph 35569626Sruname `pc' and is no longer intermixed with the symbol character `md' (PS 35669626Sruname `mathdot'). 35769626Sru 35869626SruASCII character 34 (PS name `quotedbl') has got the troff glyph name `dq' 35969626Sru(which is an alias to character `"'). 36069626Sru 36169626SruASCII character 39 (PS name `quoteright') has got the troff glyph name `cq' 36269626Sru(which is an alias to character "'"). 36369626Sru 36469626SruSome additions to the font description files have been implemented for 36569626Srubetter support of HTML output: 36669626Sru 36769626Sru The new format of lines in the `charset' subsection of font description 36869626Sru files is 36969626Sru 37069626Sru name metrics type code [entity_name] [-- comment] 37169626Sru 37269626Sru Currently, only the font description files in devhtml use the optional 37369626Sru entity_name string to define glyph entities in HTML. Everything after the 37469626Sru entity_name field is ignored; in case this field isn't used, two hyphen 37569626Sru characters are now necessary to start a comment. 37669626Sru 37769626Sru Two new requests are available in DESC files (currently used only with 37869626Sru grohtml): 37969626Sru 38069626Sru use_charnames_in_special 38169626Sru This command indicates that troff should encode named characters 38269626Sru inside special commands. 38369626Sru 38469626Sru pass_filenames 38569626Sru requests that troff tells the driver the source file name being 38669626Sru processed. This is achieved by another tcommand: `F filename'. 38769626Sru 38869626SruGrotty 38969626Sru------ 39069626Sru 39169626SruBruno Haible <haible@clisp.cons.org> contributed support for UTF8 output. 39269626Sru 39369626SruGrohtml 39469626Sru------- 39569626Sru 39669626SruAdded .LINE macro to tmac.arkup. 39769626Sru 39869626SruThe obsolete `.LINK' macro has been removed. 39969626Sru 40069626Sru.URL, .FTP, and .MAILTO macros now accept an optional third argument which 40169626Sruwill be immediately appended to the second argument (to be used with 40269626Srupunctuation, for example). 40369626Sru 40469626SruGrodvi 40569626Sru------ 40669626Sru 40769626SruThe font size 11pt has been changed to 10.95pt (as used in LaTeX 2e). 40869626Sru 40969626SruA new font file CWI (using cmitt10; this is typewriter italic) has been 41069626Sruadded. 41169626Sru 41269626SruGrolbp 41369626Sru------ 41469626Sru 41569626SruA new driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser 41669626Sruprinters). This code has been contributed by Francisco Andres Verdu 41769626Sru<pandres@dragonet.es>. 41869626Sru 41969626SruGrn 42069626Sru--- 42169626Sru 42269626SruA new preprocessor to process gremlin pictures. It is based on the 42369626Sruoriginal Berkeley implementation of grn, written by David Slattengren 42469626Sruand Barry Roitblat, and has been adapted to groff by Daniel Senderowicz 42569626Sru<daniel@synchrods.com> and Werner Lemberg <wl@gnu.org>. 42669626Sru 42769626SruPic 42869626Sru--- 42969626Sru 43069626SruAdded the `srand' command to set the seed for a new sequence of 43169626Srupseudo-random numbers to be returned by `rand'. 43269626Sru 43369626SruGxditview 43469626Sru--------- 43569626Sru 43669626SruSimplified installation: The Imakefile will now be configured (by groff's 43769626Sruconfigure script). 43869626Sru 43969626SruDocumentation 44069626Sru------------- 44169626Sru 44269626SruThree new man pages are available: groff_tmac.5 (documenting how troff macros 44369626Sruare accessed and where they are found), groff.7 (a short reference of the GNU 44469626Sruroff language), and roff.7 (a general survey on GNU troff). 44569626Sru 44669626SruMiscellaneous 44769626Sru------------- 44869626Sru 44969626SruA port to win32 (for use with Microsoft Visual C++ 6.0) is now part of the 45069626Srudistribution. It has been contributed by Blake McBride 45169626Sru<blake@florida-software.com>. 45269626Sru 45369626SruMore information about programs, macros, documentation, etc., which is 45469626Srurelated to groff has been collected in the file `MORE.STUFF'. 45569626Sru 45655839SasmodaiVERSION 1.13, 1.14, 1.15 45755839Sasmodai======================== 45855839Sasmodai 45955839SasmodaiBug fixes only; no user-visible changes. 46055839Sasmodai 46155839SasmodaiVERSION 1.12 46244777Sobrien============ 46344777Sobrien 46455839SasmodaiFinally, there are new maintainers for groff. Mailing lists and a CVS 46555839Sasmodairepository are available also. See the file README for details. Not 46655839Sasmodaiall reported bug could be fixed, so please send mails again if 46755839Sasmodaisomething is still not working. 46844777Sobrien 46955839SasmodaiMost of the installation problems should have vanished now (most 47055839Sasmodainotably the $(tmac_wrap) bug). 47144777Sobrien 47255839SasmodaiThere is now a man page called groff_man.man which documents the 47355839Sasmodaibasics of the -man macros. It has been originally written by Susan 47455839SasmodaiG. Kleinmann <sgk@debian.org>. 47555839Sasmodai 47655839SasmodaiA (still incomplete) groff reference manual in texinfo format 47755839Sasmodaioriginally contributed by Trent A. Fisher <trent@gnurd.portland.or.us>. 47855839Sasmodai 47955839Sasmodaime.man and msafer.man have been renamed to groff_me.man 48055839Sasmodairesp. groff_msafer.man for consistency. 48155839Sasmodai 48255839SasmodaiDefault strings for macros in doc-common resp. tmac.an no longer 48355839Sasmodaicontain the word `UNIX'. 48455839Sasmodai 48555839Sasmodaigroff should now be Y2k safe (fixes contributed by Paul Eggert 48655839Sasmodai<eggert@twinsun.com>). 48755839Sasmodai 48855839SasmodaiFollowing the GNU standards, groff will now use the prefix 48955839Sasmodai`/usr/local/' as the default instead of replacing an existent groff 49055839Sasmodaibinary. 49155839Sasmodai 49255839Sasmodaigroff, troff, nroff, and pic now support the -U flag to activate unsafe 49355839Sasmodaibehaviour (without -msafer); the -S flag for using the -msafer macros 49455839Sasmodaiis now the default. 49555839Sasmodai 49655839SasmodaiGrohtml 49755839Sasmodai------- 49855839Sasmodai 49955839SasmodaiThis is a new output device for producing HTML output contributed by 50055839SasmodaiGaius Mulley <gaius@glam.ac.uk>. It is still very alpha but has been 50155839Sasmodaiincluded into the distribution so that a lot of people have a chance 50255839Sasmodaito test it. Bug reports are highly welcome. 50355839Sasmodai 50455839SasmodaiGrolj4 50555839Sasmodai------ 50655839Sasmodai 50755839SasmodaiDuplex printing support has been contributed by Jeffrey Copeland 50855839Sasmodai<jeff@opennt.com>. 50955839Sasmodai 51055839SasmodaiSoelim 51155839Sasmodai------ 51255839Sasmodai 51355839SasmodaiAdded -I option for defining include paths (patch contributed by Peter 51455839SasmodaiMiller <peterm@jna.com.au>). 51555839Sasmodai 51655839SasmodaiGxditview 51755839Sasmodai--------- 51855839Sasmodai 51955839SasmodaiFallback resources added (patch contributed by Larry Jones 52055839Sasmodai<larry.jones@sdrc.com>). 52155839Sasmodai 52255839SasmodaiWill now support 8 gray levels. 52355839Sasmodai 52455839Sasmodaimm 52555839Sasmodai-- 52655839Sasmodai 52755839SasmodaiNew version 1.32 (contributed by Joergen Haegg <jh@axis.com>). 52855839Sasmodai 52955839SasmodaiVERSION 1.11 53055839Sasmodai============ 53155839Sasmodai 53244777SobrienComplete documentation for pic is now in the file doc/pic.ms. It was 53344777Sobriencontributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically 53444777Sobrien*not* volunteering to take over groff as he is way overworked with 53544777Sobrienhalf a dozen other projects. 53644777Sobrien 53718099SpstVERSION 1.10 53818099Spst============ 53918099Spst 54018099SpstThe directory where data files are installed has been changed from 54118099Spst/usr/local/lib/groff to /usr/local/share/groff to comply with the 54218099Spstlatest GNU coding standards. 54318099Spst 54418099SpstBy default groff programs with Unix equivalents are installed with a 54518099Spst"g" prefix unless there is an existing (non-groff) troff installation. 54618099Spst 54718099SpstA new approach is used to make system macro packages available to 54818099Spstgroff. Instead of simply including /usr/lib/tmac in the list of 54918099Spstdirectories searched by groff, the installation process creates for 55018099Spsteach system macro package a wrapper macro package in the groff macro 55118099Spstdirectory that references the system macro package. The groff macro 55218099Spstpackages are now installed with a leading "g" prefix if there is a 55318099Spstsystem version of the same macro package, and otherwise without the 55418099Spst"g" prefix, with the exception that the groff version of -me which is 55518099Spstalways installed as -me. 55618099Spst 55718099SpstThere is a new device, lj4, for the HP LaserJet 4 (and PCL5 55818099Spstcompatibles). 55918099Spst 56018099SpstGroff 56118099Spst----- 56218099Spst 56318099Spstgroff has a -S option that prevents the use of unsafe features in pic 56418099Spstand troff. This uses a new -S option of pic and the -msafer macros 56518099Spstfor troff. 56618099Spst 56718099SpstTroff 56818099Spst----- 56918099Spst 57018099SpstThe `blm' request specifies a macro to be invoked when a blank line is 57118099Spstencountered. 57218099Spst 57318099SpstPic 57418099Spst--- 57518099Spst 57618099SpstA -S (safer) option disables the sh command. 57718099Spst 57818099SpstGrops 57918099Spst----- 58018099Spst 58118099SpstThe -m option enables manual feed. 58218099Spst 58318099SpstVERSION 1.09 58418099Spst============ 58518099Spst 58618099Spst\(rn will now produce a character that has the traditional metrics, 58718099Spstand will form corners with \(ul and \(br. This means that it will not 58818099Spstalign properly with \(sr. Instead there's a new character 58918099Spst\[radicalex] which aligns with \(sr; this is used by eqn for doing 59018099Spstsquare roots. 59118099Spst 59218099SpstTroff 59318099Spst----- 59418099Spst 59518099SpstThe `pso' request allows you to read from the standard output of a 59618099Spstcommand. 59718099Spst 59818099SpstGrops 59918099Spst----- 60018099Spst 60118099SpstThe PSPIC macro has options to allow the horizontal alignment of the 60218099Spstgraphic to be specified. 60318099Spst 60418099SpstVERSION 1.08 60518099Spst============ 60618099Spst 60718099SpstTroff 60818099Spst----- 60918099Spst 61018099SpstThe escape sequence \V[xxx] will interpolate the value of the 61118099Spstenvironment variable xxx. 61218099Spst 61318099SpstTbl 61418099Spst--- 61518099Spst 61618099SpstThe decimalpoint option can be used to specify the character to be 61718099Spstrecognized as the decimal point character in place of the default 61818099Spstperiod. 61918099Spst 62018099SpstVERSION 1.07 62118099Spst============ 62218099Spst 62318099SpstGroff 62418099Spst----- 62518099Spst 62618099SpstThe environment variable GROFF_COMMAND_PREFIX can be used to control 62718099Spstwhether groff looks for `gtroff' or `troff' (similarily for the 62818099Spstpreprocessors.) 62918099Spst 63018099SpstTroff 63118099Spst----- 63218099Spst 63318099SpstMultilingual hyphenation is supported by new `hpf' and `hla' requests, 63418099Spstand by a `\n[.hla]' number register. The -H option has been removed. 63518099SpstFiles of hyphenation patterns can have comments. 63618099Spst 63718099SpstWhen a font cannot be found, troff gives a warning (of type `font', 63818099Spstenabled by default) instead of an error. 63918099Spst 64018099SpstThere's a new request `trnt' that's like `tr' except that it doesn't 64118099Spstapply to text transparently throughput into a diversion with \!. 64218099Spst 64318099SpstTbl 64418099Spst--- 64518099Spst 64618099SpstThere is a `nokeep' option which tells tbl not to use diversions to 64718099Spsttry to keep the table on one page. 64818099Spst 64918099SpstEqn 65018099Spst--- 65118099Spst 65218099SpstSetting the parameter `nroff' to a non-zero value causes `ndefine' to 65318099Spstbehave like `define' and `tdefine' to be ignored. This is done by 65418099Spsteqnrc when the current device is ascii or latin1. There's a `neqn' 65518099Spstscript that just does `eqn -Tascii'. 65618099Spst 65718099SpstGrotty 65818099Spst------ 65918099Spst 66018099Spstgrotty uses whatever page length was specified using the `pl' request 66118099Spstrather than using the paperlength command in the DESC file. The 66218099Spstpaperwidth command in the DESC file is also ignored. 66318099Spst 66418099SpstVERSION 1.06 66518099Spst============ 66618099Spst 66718099SpstThe programs in groff that have Unix counterparts can now be installed 66818099Spstwithout a leading `g' prefix. See the `g' variable in the Makefile. 66918099Spst 67018099SpstThe g?nroff script simulates the nroff command using groff. 67118099Spst 67218099SpstNew special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, 67318099Spst\(an. See groff_char(7). 67418099Spst 67518099Spst^L is now a legal input character. 67618099Spst 67718099SpstGroff 67818099Spst----- 67918099Spst 68018099SpstThe Xps pseudo-device has disappeared. Instead there is a new -X 68118099Spstoption that tells groff to use gxditview instead of the usual 68218099Spstpostprocessor. (So instead of -TXps, use -XTps or just -X if your 68318099Spstdefault device is ps.) 68418099Spst 68518099SpstThe postprocessor to be used for a particular device is now specified 68618099Spstby a `postpro' command in the DESC file rather than being compiled 68718099Spstinto groff. Similarly the command to be used for printing (with the 68818099Spst-l option) is now specified by a `print' command in the DESC file. 68918099Spst 69018099SpstThe groff command no longer specifies eqnchar as an input file for 69118099Spsteqn. Instead eqn automatically loads a file `eqnrc'. The groff 69218099Spstcommand no longer passes the -D option to eqn. Instead eqnrc sets the 69318099Spstdraw_lines parameter. 69418099Spst 69518099SpstThe groff command no longer tells troff to load a device-specific 69618099Spstmacro file. This is handled instead by the `troffrc' file, which is 69718099Spstalways loaded by troff. 69818099Spst 69918099SpstThe shell script version of groff has been removed. 70018099Spst 70118099SpstTroff 70218099Spst----- 70318099Spst 70418099SpstThe `rchar' request removes a character definition established with `char'. 70518099Spst 70618099SpstCompatibility mode is disabled and the escape character is set to `\' 70718099Spstwhile a character definition is being processed. 70818099Spst 70918099SpstThe `\#' escape sequence is like `\"' except that the terminating 71018099Spstnewline is ignored. 71118099Spst 71218099SpstThe `shc' request tells troff which character to insert (instead of 71318099Spstthe default \(hy) when a word is hyphenated at a line break. 71418099Spst 71518099SpstA font name of 0 (zero) in the DESC file will cause no font to be 71618099Spstmounted on the corresponding font position. This is useful for 71718099Spstarranging that special fonts are mounted on positions on which users 71818099Spstare not likely explicitly to mount fonts. All groff devices now avoid 71918099Spstinitially mounting fonts on positions 5-9. 72018099Spst 72118099SpstThe `do' request allows a single request or macro to be interpreted 72218099Spstwith compatibility mode disabled. 72318099Spst 72418099Spsttroff automatically loads a file `troffrc' before any other input file. 72518099SpstThis can be prevented with the -R option. This file is responsible 72618099Spstfor loading the device-specific macros. 72718099Spst 72818099SpstPic 72918099Spst--- 73018099Spst 73118099SpstThe -x option has been removed and a -n option has been added. By 73218099Spstdefault, pic now assumes that the postprocessor supports groff 73318099Spstextensions. The -n option tells pic to generate output that works 73418099Spstwith ditroff drivers. The -z option now applies only to TeX mode. 73518099Spst 73618099SpstThe -p option has been removed. Instead if the -n option is not 73718099Spstspecified, pic generates output that uses \X'ps: ...' if the \n(0p 73818099Spstregister is non-zero and tmac.ps sets this register to 1. 73918099Spst 74018099SpstIn places where you could 1st or 5th you can now say `i'th or `i+1'th 74118099Spst(the quotes are required). 74218099Spst 74318099SpstEqn 74418099Spst--- 74518099Spst 74618099SpstEqn now automatically reads a file `eqnrc' from the macro directory. 74718099SpstThis performs the same role that the eqnchar files used to. This can 74818099Spstbe prevented by the -R option. 74918099Spst 75018099SpstSetting the draw_lines parameter to a non-zero value causes lines to 75118099Spstbe drawn using \D rather than \l. The -D option is now obsolete. 75218099Spst 75318099Spst`uparrow', `downarrow' and `updownarrow' can be used with `left' and 75418099Spst`right'. 75518099Spst 75618099SpstThe amount of extra space added before and after lines containing 75718099Spstequations can be controlled using the `body_height' and `body_depth' 75818099Spstparameters. 75918099Spst 76018099SpstGrops 76118099Spst----- 76218099Spst 76318099SpstFont description files have been regenerated from newer AFM files. 76418099SpstYou can get access to the additional characters present in the text 76518099Spstfonts in newer PostScript printers by using -mpsnew. 76618099Spst 76718099SpstThe default value of the -b option is specified by a `broken' command 76818099Spstin the DESC file. 76918099Spst 77018099SpstWith the -g option, grops will generate PostScript code that guesses 77118099Spstthe page height. This allows documents to be printed on both letter 77218099Spst(8.5x11) and A4 paper without change. 77318099Spst 77418099SpstGrodvi 77518099Spst------ 77618099Spst 77718099SpstISO Latin-1 characters are available with -Tdvi. Format groff_char(7) 77818099Spstwith groff -Tdvi for more information. 77918099Spst 78018099SpstGrotty 78118099Spst------ 78218099Spst 78318099SpstThe -mtty-char macros contain additional character definitions for 78418099Spstuse with grotty. 78518099Spst 78618099SpstMacros 78718099Spst------ 78818099Spst 78918099SpstIn previous releases the groff -me macros treated the $r and $R number 79018099Spstregisters in a way that was incompatible with the BSD -me macros. The 79118099Spstreason for this was that the approach used by the BSD -me macros does 79218099Spstnot work with low resolution devices such as -TX75 and -TX100. 79318099SpstHowever, this caused problems with existing -me documents. In this 79418099Spstrelease, the vertical spacing is controlled by the $v and $V registers 79518099Spstwhich have the same meaning as $r and $R in earlier groff releases. 79618099SpstIn addition, if the $r or $R register is set to a value that would be 79718099Spstcorrect for for the BSD -me macros and a low resolution device is not 79818099Spstbeing used, then an appropriate value for the $v or $V register will 79918099Spstbe derived from the $r or $R register. 80018099Spst 80118099SpstThe groff -me macros work with -C and (I think) with Unix troff. 80218099Spst 80318099SpstFor backward compatibility with BSD -me, the \*{ and \*} strings are 80418099Spstalso available as \*[ and \*]. Of course, \*[ will only be usable 80518099Spstwith -C. 80618099Spst 80718099SpstThe \*T string has been deleted. Use \*(Tm instead. 80818099Spst 80918099SpstXditview 81018099Spst-------- 81118099Spst 81218099SpstThe `n', Space and Return keys are bound to the Next Page action. The 81318099Spst`p', BackSpace and Delete keys are bound to the Previous Page action. 81418099SpstThe `q' key is bound to the Quit action. 81518099Spst 81618099SpstThe `r' key is bound to a rerasterize action that reruns groff, and 81718099Spstredisplays the current page. 81818099Spst 81918099SpstVERSION 1.05 82018099Spst============ 82118099Spst 82218099SpstPic 82318099Spst--- 82418099Spst 82518099SpstThere is a alternative assignment operator `:=' which interacts 82618099Spstdifferently with blocks. 82718099Spst 82818099SpstThere is a new command `command', which allows the values of variables 82918099Spstto be passed through to troff or TeX. 83018099Spst 83118099SpstThe `print' command now accepts multiple arguments. 83218099Spst 83318099SpstString comparison expressions (using `==' or `!=') are allowed in more 83418099Spstcontexts. 83518099Spst 83618099SpstGrotty 83718099Spst------ 83818099Spst 83918099SpstHorizontal and vertical lines drawn with \D'l ...' will be rendered 84018099Spstusing -, | and + characters. This is intended to give reasonable 84118099Spstresults with boxed tables. It won't work well with pic. 84218099Spst 84318099SpstMacros 84418099Spst------ 84518099Spst 84618099SpstThe -mdoc macros have been upgraded to the version in the second 84718099SpstBerkeley networking release. This version is not completely 84818099Spstcompatible with earlier versions; the old version is still available 84918099Spstas -mdoc.old. The grog script has been enhanced so that it can 85018099Spstusually determine whether a document requires the old or new versions. 85118099Spst 85218099SpstWith -TX75, -TX100 and -TXps, the PSPIC macro will produce a box 85318099Spstaround where the picture would appear with -Tps. 85418099Spst 85518099SpstVERSION 1.04 85618099Spst============ 85718099Spst 85818099SpstAn implementation of the -mm macros is included. 85918099Spst 86018099SpstThe directory in which temporary files are created can be controlled 86118099Spstby setting the GROFF_TMPDIR or TMPDIR environment variables. 86218099Spst 86318099SpstPic 86418099Spst--- 86518099Spst 86618099SpstSome MS-DOS support (see pic/make-dos-dist). 86718099Spst 86818099SpstGrops 86918099Spst----- 87018099Spst 87118099SpstThere are two new \X commands (\X'ps: invis' and \X'ps: endinvis') 87218099Spstwhich make it possible to have substitute characters that are 87318099Spstdisplayed when previewing with -TXps but ignored when printing with 87418099Spstgrops. 87518099Spst 87618099SpstXditview 87718099Spst-------- 87818099Spst 87918099SpstSupport for scalable fonts. 88018099Spst 88118099SpstVERSION 1.03 88218099Spst============ 88318099Spst 88418099SpstNo changes other than bug fixes. 88518099Spst 88618099SpstVERSION 1.02 88718099Spst============ 88818099Spst 88918099SpstThere is an implementation of refer and associated programs. groff -R 89018099Spstpreprocesses with grefer; no mechanism is provided for passing 89118099Spstarguments to grefer because most grefer options have equivalent 89218099Spstcommands which can be included in the file. grog also supports refer. 89318099Spst 89418099SpstThere is an alternative perl implementation of the grog script. 89518099Spst 89618099SpstThe code field in lines in the charset section of font description 89718099Spstfiles is now allowed to contain an arbitrary integer (previously it 89818099Spstwas required to lie between 0 and 255). Currently grops and grodvi 89918099Spstuse only the low order 8 bits of the value. Grodvi will use the 90018099Spstcomplete value; however, this is unlikely to be useful with 90118099Spsttraditional TeX tools (.tfm files only allow 8 bit character codes.) 90218099Spst 90318099SpstLeft and right double quotes can be obtained with \(lq and \(rq 90418099Spstrespectively. 90518099Spst 90618099SpstThere is a new program called pfbtops which translates PostScript 90718099Spstfonts in pfb format to ASCII. 90818099Spst 90918099SpstA slightly modified version of the Berkeley tmac.doc is included. 91018099Spst 91118099SpstTroff 91218099Spst----- 91318099Spst 91418099SpstIn long escape names the closing ] is now required to be at the same 91518099Spstinput level as the opening [. 91618099Spst 91718099SpstThe \A'S' escape sequence returns 1 or 0 according as S is or is not 91818099Spstsuitable for use as a name. 91918099Spst 92018099Spst\~ produces an unbreakable space that can be stretched when the line 92118099Spstis adjusted. 92218099Spst 92318099SpstThe `mso' request is like the `so' request except that it searches for 92418099Spstthe file in the same directories in which tmac.X is searched for when 92518099Spstthe -mX option is given. 92618099Spst 92718099SpstThe escape sequence `\R' is similar to the `nr' request. 92818099Spst 92918099SpstEqn 93018099Spst--- 93118099Spst 93218099SpstA new `special' primitive allows you to add new types of unary 93318099Spstconstructs by writing a troff macro. 93418099Spst 93518099SpstPic 93618099Spst--- 93718099Spst 93818099SpstThe implementation no longer uses gperf. 93918099Spst 94018099SpstGrops 94118099Spst----- 94218099Spst 94318099SpstThe compile-time -DBROKEN_SPOOLER option has been replaced by a 94418099SpstBROKEN_SPOOLER_FLAGS option. This allows more precise control over 94518099Spsthow grops should workaround broken spoolers and previewers. There is 94618099Spsta new -b option that can change this at run-time. 94718099Spst 94818099SpstGrops now generates PostScript that complies with version 3.0 of the 94918099SpstDocument Structuring Convention. 95018099Spst 95118099SpstThe resource management component of grops (the part that deals with 95218099Spstimported documents and downloadable fonts) has been rewritten and now 95318099Spstsupports version 3.0 of the Document Structuring Conventions. The 95418099Spst%%DocumentFonts comment is no longer supported; you must use the 95518099Spst%%Document{Needed,Supplied}{Fonts,Resources} comments instead 95618099Spst(or as well.) 95718099Spst 95818099Spsttmac.psatk contains some macros that support the mechanism used by the 95918099SpstAndrew Toolkit for including PostScript graphics in troff documents. 96018099Spst 96118099SpstXditview 96218099Spst-------- 96318099Spst 96418099SpstParts of xditview have been rewritten so that it can be used with the 96518099Spstoutput of gtroff -Tps. groff -TXps will run gtroff -Tps with 96618099Spstgxditview. 96718099Spst 96818099SpstThere is a new menu entry `Print' which brings up a dialog box for 96918099Spstspecifying a command with which the file being previewed should be 97018099Spstprinted. 97118099Spst 97218099SpstXditview now uses imake. 97318099Spst 97418099SpstVERSION 1.01 97518099Spst============ 97618099Spst 97718099SpstThe groff command now understands the gtroff `-a' and `-i' options. 97818099Spst 97918099SpstWith the `m' and `n' scale indicators, the scale factor is rounded 98018099Spsthorizontally before being applied. This makes (almost) no difference 98118099Spstfor devices with `hor' equal to 1, but it makes groff with -Tascii or 98218099Spst-Tlatin1 behave more like nroff in its treatment of these scale 98318099Spstindicators. Accordingly tmac.tty now calls the `nroff' request so 98418099Spstthat the `n' condition will be true. 98518099Spst 98618099SpstThe device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) 98718099Spsthave been made to work at least somewhat with -C. In particular the 98818099Spstspecial characters defined by these macros now work with -C. 98918099Spst 99018099Spstgroff -Tdvi -p will now pass pic the -x flag; this will enable filling 99118099Spstof arrowheads and boxes, provided that your dvi driver supports the 99218099Spstlatest version of the tpic specials. 99318099Spst 99418099SpstEqn 99518099Spst--- 99618099Spst 99718099SpstThere is a new `-N' option that tells eqn not to allow newlines in 99818099Spstdelimiters. This allows eqn to recover better from missing closing 99918099Spstdelimiters. The groff command will pass on a `-N' option to eqn. 100018099Spst 100118099SpstGrops 100218099Spst----- 100318099Spst 100418099SpstYou can now use psfig with grops. See the file ps/psfig.diff. I do 100518099Spstnot recommend using psfig for new documents. 100618099Spst 100718099SpstThe command \X'ps: file F' is similar to \X'ps: exec ...' except that 100818099Spstthe PostScript code is read from the file F instead of being contained 100918099Spstwithin the \X command. This was added to support psfig. 101018099Spst 101118099SpstGrodvi 101218099Spst------ 101318099Spst 101418099SpstThere are font files HB and HI corresponding to cmsssbx10 and cmssi10. 101518099Spst 101618099SpstMacros 101718099Spst------ 101818099Spst 101918099SpstThe groff -me macros now work with the -C option. As a result, they 102018099Spstmay also work with Unix nroff/troff. 102118099Spst 102218099SpstIn -me, the $r and $R number registers now contain the line spacing as 102318099Spsta percentage of the pointsize expressed in units (normally about 120). 102418099SpstThe previous definition was useless with low resolution devices such 102518099Spstas X75 and X100. 102618099Spst 102718099SpstVERSION 1.00 102818099Spst============ 102918099Spst 103018099SpstA -ms-like macro-package is now included. 103118099Spst 103218099SpstThe name for the Icelandic lowercase eth character has been changed 103318099Spstfrom \(-d to \(Sd. 103418099Spst 103518099SpstTroff 103618099Spst----- 103718099Spst 103818099SpstThere is a new request `nroff', which makes the `n' built-in condition 103918099Spsttrue and the `t' built-in condition false; also a new request `troff' 104018099Spstwhich undoes the effect of the `nroff' request. This is intended only 104118099Spstfor backward compatibility: it is usually better to test \n(.H or 104218099Spst\n(.V or to use the `c' built-in condition. 104318099Spst 104418099SpstThe \R escape sequence has been deleted. Use \E instead. 104518099Spst 104618099SpstThere are `break' and `continue' requests for use with the `while' 104718099Spstrequest. 104818099Spst 104918099SpstThere is a request `hym' that can ensure that when the current 105018099Spstadjustment mode is not `b' a line will not be hyphenated if it is no 105118099Spstmore than a given amount short, and a request `hys' that can ensure 105218099Spstthat when the current adjustment mode is `b' a line will not be 105318099Spsthyphenated if it can be justified by adding no more than a given 105418099Spstamount of extra space to each word space. 105518099Spst 105618099SpstThere is a request `rj' similar to `ce' that right justifies lines. 105718099Spst 105818099SpstA warning of type `space' will be given when a call is made to an 105918099Spstundefined request or macro with a name longer than two characters, and 106018099Spstthe first two characters of the name make a name that is defined. 106118099SpstThis is intended to find places where a space has been omitted been a 106218099Spstrequest or macro and its argument. This type of warning is enabled by 106318099Spstdefault. 106418099Spst 106518099SpstPic 106618099Spst--- 106718099Spst 106818099SpstA comma is permitted between the arguments to the `reset' command. 106918099Spst 107018099SpstFor use with TeX, there is a new `-c' option that makes gpic treat 107118099Spstlines beginning with `.' in a way that is more compatible with tpic 107218099Spst(but ugly). 107318099Spst 107418099SpstEqn 107518099Spst--- 107618099Spst 107718099SpstIt is no longer necessary to add `space 0' at the beginning of 107818099Spstcomplicated equations inside pictures. 107918099Spst 108018099Spst`prime' is now treated as an ordinary character, as in Unix eqn. The 108118099Spstprevious behaviour of `prime' as an operator can now be obtained using 108218099Spst`opprime'. 108318099Spst 108418099SpstXditview 108518099Spst-------- 108618099Spst 108718099SpstThere are two new devices X75-12 and X100-12 which are the same as X75 108818099Spstand X100 except that they are optimized for documents that use mostly 108918099Spst12 point text. 109018099Spst 109118099SpstVERSION 0.6 109218099Spst=========== 109318099Spst 109418099SpstThe installation process has been refined to make it easy for you to 109518099Spstshare groff with someone who has the same type of machine as you but 109618099Spstdoes not have a C++ compiler. See the end of the INSTALL file for 109718099Spstdetails. 109818099Spst 109918099SpstThere is a man page for the tfmtodit program which explains how to use 110018099Spstyour own fonts with groff -Tdvi. 110118099Spst 110218099SpstThere is a man page for afmtodit which explains how to use your own 110318099SpstPostScript fonts with groff -Tps. 110418099Spst 110518099SpstThe \N escape sequence is now fully supported. It can now be used to 110618099Spstaccess any character in a font by its output code, even if it doesn't 110718099Spsthave a groff name. This is made possible by a convention in the font 110818099Spstfiles that a character name of `---' refers to an unnamed character. 110918099SpstThe drivers now all support the `N' command required for this. The font 111018099Spstdescription files have been updated to include unnamed characters. 111118099Spst 111218099SpstThe `x' command in font description files has been removed: instead 111318099Spstany unknown commands are automatically made available to the drivers. 111418099SpstIf you constructed your own font files with an earlier version of 111518099Spsttfmtodit or afmtodit, you must construct them again using the current 111618099Spstversion. 111718099Spst 111818099SpstCharacters between 0200 and 0237 octal are no longer legal input 111918099Spstcharacters. Note that these are not used in ISO 8859. 112018099Spst 112118099SpstA command called `grog' has been added, similar to the `doctype' 112218099Spstcommand described in Kernighan and Pike. 112318099Spst 112418099SpstGroff 112518099Spst----- 112618099Spst 112718099SpstThe groff command has some new options: -V prints the pipeline 112818099Spstinstead of executing it; -P passes an argument to the postprocessor, 112918099Spst-L passes an argument to the spooler. 113018099Spst 113118099SpstThere is a C++ implementation of the groff command. This handles some 113218099Spstthings slightly better than the shell script. In particular, it can 113318099Spstcorrectly handle arguments containing characters that have a special 113418099Spstmeaning to the shell; it can give an error message when child 113518099Spstprocesses other than the last in the pipeline terminate abnormally; 113618099Spstits exit status can take account of the exit statuses of all its child 113718099Spstprocesses; it is a little more efficient; when geqn is used, it 113818099Spstsearches for the eqnchar file in the same way that font metric files 113918099Spstare searched for, rather than expecting to find it in one particular 114018099Spstdirectory. 114118099Spst 114218099SpstGtroff 114318099Spst------ 114418099Spst 114518099SpstThere is font translation feature: For example, you can tell gtroff to 114618099Spstuse font `HR' whenever font `H' is requested with the line 114718099Spst .ftr H HR 114818099SpstThis would be useful for a document that uses `H' to refer to 114918099SpstHelvetica. 115018099Spst 115118099SpstThere are some new number registers: `.kern' contains the current kern 115218099Spstmode, `.lg' the current ligature mode, `.x' the major version number, 115318099Spst`.y' the minor version number, `.ce' the number of lines to be 115418099Spstcentered in the current environment, `.trunc' the amount of vertical 115518099Spstspace truncated by the most recently sprung vertical position trap, 115618099Spst`.ne' the amount of vertical space needed in the last `ne' request 115718099Spstthat caused a vertical position trap to be sprung. 115818099Spst 115918099SpstThe `cf' request now behaves sensibly in a diversion. If used in a 116018099Spstdiversion, it will now arrange for the file to be copied to the output 116118099Spstwhen the diversion is reread. 116218099Spst 116318099SpstThere is a new request `trf' (transparent file) similar to `cf', but 116418099Spstmore like `\!'. 116518099Spst 116618099SpstThere is a new escape sequence `\Y[xxx]', roughly equivalent to 116718099Spst`\X'\*[xxx]'', except that the contents of string or macro xxx are not 116818099Spstinterpreted, and xxx may contain newlines. This requires an output 116918099Spstformat extension; the drivers have been modified to understand this. 117018099SpstGrops has also been modified to cope with newlines in the arguments to 117118099Spst\X commands; grops has a new \X command mdef, which is like def except 117218099Spstthat it has a first argument giving the number of definitions. 117318099Spst 117418099SpstThere is a new warning category `escape' which warns about unknown 117518099Spstescape sequences. 117618099Spst 117718099SpstThe `fp' request now takes an optional third argument giving the external 117818099Spstname of the font. 117918099Spst 118018099SpstThe `\_' character is now automatically translated to `\(ul' as in troff. 118118099Spst 118218099SpstThe environment variable `GROFF_HYPHEN' gives the name of the file 118318099Spstcontaining the hyphenation patterns. 118418099Spst 118518099SpstThere is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. 118618099Spst 118718099SpstCharacters ", ', ), ], *, \(dg are now initially transparent for the purposes 118818099Spstof end of sentence recognition. 118918099Spst 119018099SpstThere is an anti-recursion feature in the `char' request, so you can 119118099Spstsay `.char \(bu \s+2\(bu\s-2'. 119218099Spst 119318099SpstThe limit on the number of font positions has been removed. 119418099SpstAccordingly `\n[.fp]' never returns 0. 119518099Spst 119618099SpstThe restriction on the number of numbered environments has been removed. 119718099Spst 119818099SpstThere is a new escape sequence `\E' that makes it possible to 119918099Spstguarantee that an escape sequence won't get interpreted in copy-mode. 120018099SpstThe `\R' escape sequence is accordingly now deprecated. 120118099Spst 120218099SpstGpic 120318099Spst---- 120418099Spst 120518099SpstArguments of the form `X anything X' (in the `copy thru', `sh', `for', 120618099Spst`if' and `define' constructs) can now be of the form `{ anything }'. 120718099Spst 120818099SpstIf the `linethick' variable is negative (as it now is initially), 120918099Spstlines will be drawn with a thickness proportional to the current point 121018099Spstsize. 121118099Spst 121218099SpstThe `rand' function now takes no arguments and returns a number between 121318099Spst0 and 1. The old syntax is still supported. 121418099Spst 121518099Spst`^' can be used in expressions to indicate exponentiation. 121618099Spst 121718099SpstIn the `for' construct the argument to the by clause can be prefixed 121818099Spstby `*' to indicate that the increment is multiplicative. 121918099Spst 122018099SpstA bare expression may be used as an attribute. If the current 122118099Spstdirection is `dir', then an attribute `expr' is equivalent to 122218099Spst`dir expr' 122318099Spst 122418099SpstThere is a `sprintf' construct that allows numbers to be formatted and used 122518099Spstwherever a quoted string can be used. 122618099Spst 122718099SpstThe height of a text object without an explicit height attribute is 122818099Spstthe number of text strings associated with the object times the value 122918099Spstof the `textht' variable. 123018099Spst 123118099SpstThe maximum height and width of a picture is controlled by the 123218099Spst`maxpswid' and `maxpsht' variables. 123318099Spst 123418099SpstGtbl 123518099Spst---- 123618099Spst 123718099SpstGtbl can now handle gracefully the situation where the `ce' request 123818099Spsthas been applied to a table. 123918099Spst 124018099SpstGeqn 124118099Spst---- 124218099Spst 124318099SpstThe `ifdef' primitive has been generalized. 124418099Spst 124518099SpstA tilde accent can be put underneath a box using `utilde'. This 124618099Spstdefined using a general `uaccent' primitive. 124718099Spst 124818099SpstGrops 124918099Spst----- 125018099Spst 125118099SpstThere is a new PostScript font downloading scheme which handles font 125218099Spstdownloading for imported illustrations. Previously, the name of the 125318099Spstfile containing the font was given in the `x download' line in the 125418099Spstgroff font metric file. Now, there is a `download' file which says 125518099Spstfor each PostScript font name which file contains that font. Grops 125618099Spstcan also now handle inter-font dependencies, where one downloadable 125718099Spstfont depends on some other (possibly downloadable) font. 125818099Spst 125918099SpstThe `T' font has been removed. The characters it used to provide are 126018099Spstnow provided by `char' definitions in tmac.ps. TSymbol.ps has also 126118099Spstbeen removed, and the tweaks it provided are now provided by `char' 126218099Spstdefinitions. 1263