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