179543SruThis file describes recent user-visible changes in groff. Bug fixes are not 2104862Srudescribed. There are more details in the man and info pages. 318099Spst 4151497SruVERSION 1.19.2 5151497Sru============== 6151497Sru 7151497SruTroff 8151497Sru----- 9151497Sru 10151497Sruo Analogously to the .ft and \f pair, two new requests `gcolor' and 11151497Sru `fcolor' (which pair with \m and \M, respectively) have been added to 12151497Sru set the glyph and background colours. 13151497Sru 14151497Sruo A new read-only, string-valued register `.sty' returns the name of the 15151497Sru current style. 16151497Sru 17151497Sruo Two new conditional operators `F <name>' and `S <name>' have been added. 18151497Sru `F' is true if a font <name> exists. `S' is true if a style <name> has 19151497Sru been registered. 20151497Sru 21151497Sruo Cyrillic characters have been added to the `utf8' and `html' output 22151497Sru devices. 23151497Sru 24151497SruPic 25151497Sru--- 26151497Sru 27151497Sruo The `by' argument in a `for' loop can now be negative if it is additive. 28151497Sru For the multiplicative case, it must be greater than zero. 29151497Sru 30151497SruEqn 31151497Sru--- 32151497Sru 33151497Sruo The following keywords aren't new but haven't been documented previously: 34151497Sru 35151497Sru undef NAME (to undefine a macro) 36151497Sru copy "FILE" (a synonym for `include') 37151497Sru space n (to modify the vertical spacing before and after 38151497Sru an equation) 39151497Sru 40151497Sruo The following macros aren't new but haven't been documented previously: 41151497Sru 42151497Sru Alpha, ..., Omega (the same as `ALPHA', ..., `OMEGA') 43151497Sru ldots (three dots on the base line) 44151497Sru dollar (a dollar glyph) 45151497Sru 46151497Sruo The following keywords have been extended. Again, this isn't new but 47151497Sru hasn't been documented previously: 48151497Sru 49151497Sru col n { ... } 50151497Sru lcol n { ... } 51151497Sru rcol n { ... } 52151497Sru ccol n { ... } 53151497Sru pile n { ... } 54151497Sru lpile n { ... } 55151497Sru rpile n { ... } 56151497Sru cpile n { ... } (set vertical spacing between rows to N) 57151497Sru 58151497SruGrohtml 59151497Sru------- 60151497Sru 61151497Sruo This device driver has been raised to beta stage; its set of tags should 62151497Sru be stable now. 63151497Sru 64151497Sruo New command line option `-s' to set the base point size. 65151497Sru 66151497Sruo New command line option `-S' to set the split level while generating 67151497Sru multiple files. 68151497Sru 69151497SruGrotty 70151497Sru------ 71151497Sru 72151497Sruo Experimental support for zero-width and double-width characters. 73151497Sru 74151497SruGxditview 75151497Sru--------- 76151497Sru 77151497Sruo On platforms which have the X Window System this program is now built and 78151497Sru installed automatically. 79151497Sru 80151497SruXtotroff 81151497Sru-------- 82151497Sru 83151497Sruo This program to create font definition files for xditview isn't new but 84151497Sru hasn't been installed previously. 85151497Sru 86151497SruGroffer 87151497Sru------- 88151497Sru 89151497Sruo A security problem (reported as CAN-2004-0969) has been fixed. 90151497Sru 91151497SruGdiffmk 92151497Sru------- 93151497Sru 94151497Sruo A new script contributed by Mike Bianchi. It compares two groff, nroff, 95151497Sru or troff documents and creates an output with added margin characters 96151497Sru (using `.mc') to indicate the differences. 97151497Sru 98151497SruPdfroff 99151497Sru------- 100151497Sru 101151497Sruo A new wrapper script contributed by Keith Marshall to easily create PDF 102151497Sru documents with groff. 103151497Sru 104151497SruMacro packages 105151497Sru-------------- 106151497Sru 107151497Sruo ms.tmac 108151497Sru 109151497Sru . Support for fractional point sizes: A value for the `PS', `VS', `FPS', 110151497Sru and `VPS' register larger than or equal to 1000 is always divided by 111151497Sru 1000. For example, `.nr PS 10250' sets the document's font size to 112151497Sru 10.25 points. 113151497Sru 114151497Sru . The `Ds' and `De' macros provided in ms since groff version 1.19 have 115151497Sru been removed; the equivalent `DS' and `DE' macros should be used 116151497Sru instead. X11 documents which actually use `Ds' and `De' always load a 117151497Sru specific macro file from the X11 distribution (`macros.t') which 118151497Sru provides proper definitions for the two macros. 119151497Sru 120151497Sru . The following registers have been added for improving layout control: 121151497Sru 122151497Sru PORPHANS 123151497Sru Defines number of lines following `LP', `PP', `QP', `IP' or `XP' which 124151497Sru must be kept together, before any automatic page break. 125151497Sru 126151497Sru HORPHANS 127151497Sru Sets number of lines of following paragraph which must be kept with a 128151497Sru heading, defined by `NH' or `SH', before any automatic page break. 129151497Sru 130151497Sru GROWPS 131151497Sru Sets the first level of heading (set with `NH') which will keep the 132151497Sru same point size as body text. 133151497Sru 134151497Sru PSINCR 135151497Sru Sets the point size increment for each level of heading (set with 136151497Sru `NH'), below the threshold level set by `GROWPS'; e.g., if 137151497Sru \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p, then `.NH 1' will 138151497Sru produce 14pt headings, `.NH 2' will produce 12pt, and all other levels 139151497Sru will remain at 10pt (because \n[PS] = 10). 140151497Sru 141151497Sru . The `SH' macro now accepts a numeric argument, to make heading size 142151497Sru match that of `NH' with same argument value when the `GROWPS'/`PSINCR' 143151497Sru feature is enabled. 144151497Sru 145151497Sru Please refer to the documentation of the ms package for other, minor 146151497Sru improvements. 147151497Sru 148151497Sruo me.tmac 149151497Sru 150151497Sru The section type set with the `++' request is available in the `_M' 151151497Sru register. This isn't new but hasn't been documented before. 152151497Sru 153151497Sruo www.tmac 154151497Sru 155151497Sru The `HR' macro no longer causes an empty line for non-HTML devices. 156151497Sru 157151497Sru A new macro `HEAD' has been added to directly add data to the 158151497Sru <head>...</head> block. 159151497Sru 160151497Sru New macros `OLS' and `OLE' to start and end an ordered list. 161151497Sru 162151497Sru New macros `DLS' and `DLE' to start and end a definition list. 163151497Sru 164151497SruPdfmark 165151497Sru------- 166151497Sru 167151497Sruo A new macro package contributed by Keith Marshall which implements PDF 168151497Sru marks. This is in alpha stage currently. 169151497Sru 170151497SruMiscellaneous 171151497Sru------------- 172151497Sru 173151497Sruo Two new keywords to the DESC file have been added which are needed for 174151497Sru grohtml: `image_generator' and `unscaled_charwidths'. The former gives 175151497Sru the name of the program which creates PNG images, and the latter makes 176151497Sru troff always use unscaled character widths. 177151497Sru 178151497Sru 179151497SruVERSION 1.19.1 180151497Sru============== 181151497Sru 182151497SruGroff 183151497Sru----- 184151497Sru 185151497Sruo The argument of the command line option `-I' is now also passed to troff 186151497Sru and grops, specifying a directory to search for files on the command line, 187151497Sru files named in `so' and `psbb' requests, and files named in \X'ps: file' 188151497Sru and \X'ps: import' escapes. 189151497Sru 190151497Sruo If option `-V' is used more than once, the commands will be both printed 191151497Sru on standard error and run. 192151497Sru 193151497SruTroff 194151497Sru----- 195151497Sru 196151497Sruo Two new read-only, string-valued registers `.m' and `.M' return the 197151497Sru name of the current drawing and background color, respectively. 198151497Sru 199151497Sruo New read-only register `.U' which is set to 1 if in safer mode and set 200151497Sru to 0 if in unsafe mode. 201151497Sru 202151497Sruo An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added. 203151497Sru Example use: 204151497Sru 205151497Sru groff -Tdvi -mlatin5 my_file > my_file.dvi 206151497Sru 207151497Sru Note that some output devices don't support all glyphs of this encoding. 208151497Sru 209151497Sruo If the `return' request is called with an argument, it exits twice, 210151497Sru namely the current macro and the macro one level higher. This is 211151497Sru used to define a wrapper macro for `return' in trace.tmac. 212151497Sru 213151497Sruo For completeness, two new requests have been added: `dei1' and `ami1'. 214151497Sru They are equivalent to `dei' and `ami', respectively, but the macros 215151497Sru are executed with compatibility mode off (similar to `de1' and `am1'). 216151497Sru 217151497Sruo New command line option `-I' to specify a directory for files (both 218151497Sru those on the command line and those named in `psbb' requests). This is 219151497Sru also handled by the groff wrapper program. 220151497Sru 221151497Sruo Since version 1.19 you can say `.vs 0'. Older versions emit a warning 222151497Sru and convert this to `.vs \n[.V]'. 223151497Sru 224151497Sru This hasn't been documented properly. Note that `.vs 0' isn't saved in a 225151497Sru diversion since it doesn't result in vertical motion. 226151497Sru 227151497SruPic 228151497Sru___ 229151497Sru 230151497Sruo Dashed and dotted ellipses have been implemented. 231151497Sru 232151497SruTbl 233151497Sru--- 234151497Sru 235151497Sruo New key character `x' to make tbl call a user-defined macro on a table 236151497Sru cell. Patch by Heinz-J�rgen Oertel <hj.oertel@surfeu.de>. 237151497Sru 238151497SruGrap2graph 239151497Sru---------- 240151497Sru 241151497Sruo A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It 242151497Sru converts a grap diagram into a cropped image. Since it uses gs and the 243151497Sru PNM library, virtually all graphics formats are available for output. 244151497Sru [Note that the grap program itself isn't part of the groff package; 245151497Sru see the file MORE.STUFF how to obtain grap.] 246151497Sru 247151497SruGrohtml 248151497Sru------- 249151497Sru 250151497Sruo New option `-j' to emit output splitted into multiple files. 251151497Sru 252151497SruGrops 253151497Sru----- 254151497Sru 255151497Sruo New command line option `-I' to specify a directory to search for files 256151497Sru on the command line and files named in \X'ps: import' and \X'ps: file' 257151497Sru escapes. This is also handled by the groff wrapper program. 258151497Sru 259151497Sruo The default value for the `broken' keyword in the DESC file is now 0. 260151497Sru 261151497SruGrolj4 262151497Sru------ 263151497Sru 264151497Sruo A new man page `lj4_font(5)' documents how fonts are accessed with 265151497Sru grolj4. 266151497Sru 267151497Sruo The built-in fonts for LJ4 and newer PCL 5 devices have been completely 268151497Sru revised, mainly to access as much glyphs as possible. The provided 269151497Sru metric files should be compatible with recent PCL 5 printers also. 270151497Sru Additionally, font description files have been added for the Arial and 271151497Sru Times New Roman family, the MS symbol, and Wingdings fonts. 272151497Sru 273151497SruAfmtodit 274151497Sru-------- 275151497Sru 276151497Sruo New option `-x' to prevent use of built-in Adobe Glyph List. 277151497Sru 278151497SruHpftodit 279151497Sru-------- 280151497Sru 281151497Sruo Completely revised to handle HP TrueType metric files also. See the 282151497Sru hpftodit manual page for more details. 283151497Sru 284151497SruGroffer 285151497Sru------- 286151497Sru 287151497Sruo This version is a rewrite of groffer in many parts, but it is kept in 288151497Sru the old single script style. 289151497Sru 290151497Sru New options: --text, --mode text, --tty-viewer, --X, --mode X, 291151497Sru --X-viewer, --html, --mode html, --html-view, --apropos-data, 292151497Sru --apropos-devel, --apropos-progs. 293151497Sru 294151497Sru New documentation file: README_SH. 295151497Sru 296151497Sru Enhancement of the configuration files and the `apropos' handling. 297151497Sru 298151497SruMacro Packages 299151497Sru-------------- 300151497Sru 301151497Sruo www.tmac: New macro `JOBNAME' to split output into multiple files. 302151497Sru 303151497Sruo In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY 304151497Sru section. 305151497Sru 306151497Sru 307114402SruVERSION 1.19 308114402Sru============ 309114402Sru 310114402SruTroff 311114402Sru----- 312114402Sru 313114402Sruo Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and 314114402Sru latin-2 (ISO 8859-2) have been added. Example use: 315114402Sru 316114402Sru groff -Tdvi -mlatin9 my_file > my_file.dvi 317114402Sru 318114402Sru You still need proper fonts with the necessary glyphs. Out of the box, 319114402Sru the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8, 320114402Sru and latin-2 only for -Tdvi and -Tutf8. 321114402Sru 322114402Sruo Composite glyphs are now supported. To do this, a subset of the Adobe 323151497Sru Glyph List (AGL) Algorithm as described in 324114402Sru 325151497Sru http://partners.adobe.com/asn/tech/type/unicodegn.jsp 326114402Sru 327114402Sru is used to construct glyph names based on Unicode character codes. The 328114402Sru existing groff glyph names are frozen; no glyph names which can't be 329114402Sru constructed algorithmically will be added in the future. 330114402Sru 331114402Sru The \[...] escape sequence has been extended to specify multiple glyph 332114402Sru components. Example: 333114402Sru 334114402Sru \[A ho] 335114402Sru 336114402Sru this accesses a glyph with the name `u0041_0328'. 337114402Sru 338114402Sru Some groff glyphs which are useful as composites map to `wrong' Unicode 339114402Sru code points. For example, `ho' maps to U+02DB which is a spacing 340114402Sru ogonek, whereas a non-spacing ogonek U+0328 is needed for composite 341114402Sru glyphs. The new request 342114402Sru 343114402Sru .composite from to 344114402Sru 345114402Sru will change the mapping while a composite glyph name is constructed. 346114402Sru To make \[A ho] yield the expected result, 347114402Sru 348114402Sru .composite ho u0328 349114402Sru 350114402Sru is needed. [The new file `composite.tmac' loaded at start-up already 351114402Sru contains proper calls to `.composite'.] 352114402Sru 353114402Sru Please refer to the info pages of groff and to the groff_char man page 354114402Sru for more details. 355114402Sru 356114402Sruo A new request `fschar' has been added to define font-specific fallback 357114402Sru characters. They are searched after the list of fonts declared with the 358114402Sru `fspecial' request but before the list of fonts declared with `special'. 359114402Sru 360114402Sruo Fallback characters defined with `fschar' can be removed with the 361114402Sru new `rfschar' request. 362114402Sru 363114402Sruo A new request `schar' has been added to define global fallback 364114402Sru characters. They are searched after the list of fonts declared with the 365114402Sru `special' request but before the already mounted special fonts. 366114402Sru 367114402Sruo In groff versions 1.18 and 1.18.1, \D'f ...' didn't move the current 368114402Sru point horizontally. Despite of being silly, this change has been 369114402Sru reverted for backwards compatibility. Consequently, the intermediate 370114402Sru output command `Df' also moves the position horizontally again. 371114402Sru 372114402Sru \D'f ...' is deprecated since it depends on the horizontal resolution of 373114402Sru the output device (given with the `hor' parameter in the DESC file). 374114402Sru Use the new \D'Fg ...' escape instead. 375114402Sru 376114402Sruo For orthogonality, new \D subcommands to change the fill color are 377114402Sru available: 378114402Sru 379114402Sru \D'Fr ...' (rgb) 380114402Sru \D'Fc ...' (cmy) 381114402Sru \D'Fg ...' (gray) 382114402Sru \D'Fk ...' (cmyk) 383114402Sru \D'Fd' (default color) 384114402Sru 385114402Sru The arguments are the same as with the `defcolor' request. The current 386114402Sru position is *not* changed. 387114402Sru 388114402Sruo The values set with \H and \S are now available in number registers 389114402Sru \n[.height] and \n[.slant], respectively. 390114402Sru 391114402Sruo The `.pe' number register isn't new but hasn't been documented before. 392114402Sru It is set to 1 during a page ejection caused by the `bp' request. 393114402Sru 394114402Sruo The new glyph symbol `tno' is a textual variant of `no'. 395114402Sru 396114402Sruo The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL. 397114402Sru (Well, it is not really new since it has been previously supported by 398114402Sru grolj4.) The mapping for both the dvi and lj4 symbol font has been 399114402Sru changed accordingly so that Greek small letter epsilon, `*e', has the 400114402Sru same glyph shape as with other devices. 401114402Sru 402114402SruGrops 403114402Sru----- 404114402Sru 405114402Sruo The font `freeeuro.pfa' has been added to provide various default glyph 406114402Sru shapes for `eu' and `Eu'. 407114402Sru 408114402Sruo It is now possible to access all glyphs in a Type 1 font, not only 256 409114402Sru (provided the font file created by afmtodit has proper entries). grops 410114402Sru constructs additional encoding vectors on the fly if necessary. 411114402Sru 412114402Sruo The paper size is now emitted via the %%DocumentMedia and PageSize 413114402Sru mechanisms so that it is no longer required to tell `gv' or `ps2pdf' 414114402Sru about the paper size. The `broken' flag value 16 omits this feature 415114402Sru (the used PostScript command `setpagedevice' is a LanguageLevel 2 416151497Sru extension) -- if you intend to further process grops output to get an 417151497Sru encapsulated PS (EPS) file you must also use this option. 418114402Sru 419151497Sru Patch by Egil Kvaleberg <egil@kvaleberg.no>. 420151497Sru 421114402Sruo Non-slanted PostScript metrics have been changed again; they no longer 422114402Sru contain negative left italic correction values. This assures correct 423114402Sru spacing with eqn. 424114402Sru 425114402SruGrodvi 426114402Sru------ 427114402Sru 428114402Sruo The font cmtex10 has been added as the special font `SC' to the DVI fonts. 429114402Sru It is used as a font-specific special font for CW and CWI. 430114402Sru 431114402Sruo New options -l and -p to set landscape orientation and the paper size. 432114402Sru grodvi now emits a `papersize' special which is understood by DVI drivers 433114402Sru like dvips. 434114402Sru 435114402Sru Consequently, the DESC file should contain a `papersize' keyword. 436114402Sru 437114402Sruo The glyph shapes for \[*f] and \[*e] have been exchanged with \[+f] and 438114402Sru \[+e], respectively, to be in sync with all other devices. 439114402Sru 440114402Sruo Glyphs \[HE] and \[DI] have been replaced with \[u2662] and \[u2661], 441114402Sru respectively, since the former two glyphs have a black (filled) shape 442114402Sru which grodvi doesn't provide by default (it never has actually). 443114402Sru 444114402SruGrolj4 445114402Sru------ 446114402Sru 447114402Sruo The glyphs \[*e] and \[+e] have been exchanged to be in sync with 448114402Sru all other devices. 449114402Sru 450114402Sruo The glyph \[~=] is now called \[|=]. Similar to other devices, \[~=] 451114402Sru is now another name for glyph \[~~]. 452114402Sru 453114402SruGrotty 454114402Sru------ 455114402Sru 456114402Sruo New option `-r'. It is similar to the -i option except it tells grotty to 457114402Sru use the `reverse video' attribute to render italic fonts. 458114402Sru 459114402SruPic 460114402Sru--- 461114402Sru 462114402Sruo New command `figname' to set the name of a picture's output box in TeX 463114402Sru mode. 464114402Sru 465114402SruRefer 466114402Sru----- 467114402Sru 468114402Sruo The environment variable `REFER' to override the name of the default 469114402Sru database isn't new but hasn't been documented before. 470114402Sru 471114402SruSoelim 472114402Sru------ 473114402Sru 474114402Sruo New option `-r' to avoid emission of `.lf' lines. 475114402Sru 476114402Sruo New option `-t' to emit TeX comment lines (giving current file and the 477114402Sru line number) instead of `.lf' lines. 478114402Sru 479114402SruAfmtodit 480114402Sru-------- 481114402Sru 482114402Sruo Unencoded glyphs in an AFM file are output also (since grops can now emit 483114402Sru multiple encoding vectors for a single font). 484114402Sru 485114402Sruo New option `-m' to prevent negative left italic correction values. 486114402Sru 487114402Sruo The mapping and encoding file together with file `DESC' are now searched 488114402Sru in the default font directory also. Please refer to the man page of 489114402Sru afmtodit for more details. 490114402Sru 491114402SruMacro Packages 492114402Sru-------------- 493114402Sru 494114402Sruo Larry Kollar <kollar@alltel.net> and others made the man macros more 495114402Sru customizable. 496114402Sru 497114402Sru . New command line options -rFT, -rIN, and -rSN to set the vertical 498114402Sru location of the footer line, the body text indentation, and the 499114402Sru sub-subheading indentation. 500114402Sru 501114402Sru . New command line option -rHY (similar to the ms macros) to control 502114402Sru hyphenation. 503114402Sru 504114402Sru . New macros `.PT' and `.BT' to print the header and footer strings. 505114402Sru They can be replaced with a customized version in `man.local'. 506114402Sru 507114402Sru . The string `HF' now holds the typeface to print headings and 508114402Sru subheadings. 509114402Sru 510114402Sru . Similar to the ms macros, the LT register now defaults to LL if not 511114402Sru explicitly specified on the command line. 512114402Sru 513114402Sruo troff's start-up file `troffrc' now includes `papersize.tmac' to set 514114402Sru the paper size with the command line option `-dpaper=<size>'. 515114402Sru 516114402Sru Possible values for `<size>' are the same as the predefined `papersize' 517114402Sru values in the DESC file (only lowercase; see the groff_font man page) 518114402Sru except a7-d7. An appended `l' (ell) character denotes landscape 519114402Sru orientation. Examples: `a4', `c3l', `letterl'. 520114402Sru 521114402Sru Most output drivers need additional command line switches `-p' and 522114402Sru `-l' to override the default paper length and orientation as set in 523114402Sru the driver specific DESC file. 524114402Sru 525114402Sru For example, use the following for PS output on A4 paper in landscape 526114402Sru orientation: 527114402Sru 528114402Sru groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps 529114402Sru 530114402Sru 531104862SruVERSION 1.18.1 532104862Sru============== 533104862Sru 534104862SruTroff 535104862Sru----- 536104862Sru 537104862Sruo The non-slanted PostScript font definition files have been regenerated to 538114402Sru include left and right italic correction values. Applying those to a 539114402Sru glyph (this is, prepending the glyph with `\,' and appending `\/' to the 540114402Sru glyph) sets the glyph width to the real value given by the horizontal 541114402Sru bounding box values. Without those escapes, the advance width for the 542114402Sru particular glyph is used (which can differ considerably). 543104862Sru 544104862Sru Most users will neither need this feature nor notice a difference in 545104862Sru existing documents (provided \, and \/ is used as advertised, namely for 546104862Sru italic fonts only); its main goal is to improve image generation with 547104862Sru grohtml. 548104862Sru 549104862Sru This is an experimental change, and feedback is welcome. 550104862Sru 551104862SruTbl 552104862Sru--- 553104862Sru 554104862Sruo Added global option `nospaces' to ignore leading and trailing spaces in 555104862Sru data items. 556104862Sru 557104862SruGrolbp 558104862Sru------ 559104862Sru 560104862Sruo The option -w (--linewidth) has been added (similar to other device 561104862Sru drivers) to set the default line width. 562104862Sru 563104862SruGrn 564104862Sru--- 565104862Sru 566104862Sruo Support for b-spline and Bezier curves has been added. 567104862Sru 568104862SruGroffer 569104862Sru------- 570104862Sru 571104862Sruo New option `--shell' to select the shell under which groffer shall run. 572104862Sru 573104862SruMacro Packages 574104862Sru-------------- 575104862Sru 576104862Sruo The string `Am' (producing an ampersand) has been added to mdoc for 577104862Sru compatibility with NetBSD. 578104862Sru 579104862Sruo `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit) 580104862Sru instead. 581104862Sru 582104862Sruo In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal 583104862Sru and vertical movements; please refer to contrib/mom/NEWS for more 584104862Sru details. 585104862Sru 586104862Sruo New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers. 587104862Sru 588104862SruMiscellaneous 589104862Sru------------- 590104862Sru 591104862Sruo The `papersize' keyword in the DESC file now accepts multiple arguments. 592104862Sru It is scanned from left to the right, and the first valid argument is 593104862Sru used. This makes it possible to provide a fallback paper size. 594104862Sru 595104862Sru Example: 596104862Sru 597104862Sru papersize /etc/papersize a4 598104862Sru 599104862Sruo A local font directory has been prepended to the default font path; it 600104862Sru defaults to /usr/local/share/groff/site-font. Similar to the normal 601104862Sru font searching process, files must be placed into a devXXX subdirectory, 602104862Sru e.g. 603104862Sru 604104862Sru /usr/local/share/groff/site-font/devps/FOO 605104862Sru 606104862Sru for a PostScript font definition file FOO. 607104862Sru 608104862Sru 609104862SruVERSION 1.18 610104862Sru============ 611104862Sru 612104862Sru*************************************************************************** 613104862Sru* * 614104862Sru* PLEASE READ THE CHANGES BELOW REGARDING GROTTY, GROFF'S TTY FRONTEND. * 615104862Sru* * 616104862Sru*************************************************************************** 617104862Sru 618104862SruTroff 619104862Sru----- 620104862Sru 621104862Sruo Color support has been added to troff and pic (and to the device drivers 622104862Sru grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will 623104862Sru follow). A new function `defcolor' defines colors; the escape sequence 624104862Sru `\m' sets the drawing color, the escape sequence `\M' specifies the 625151497Sru background color for closed objects created with \D'...' commands. 626104862Sru `\m[]' and `\M[]' switch back to the previous color. `\m' and `\M' 627104862Sru correspond to the new troff output command sets starting with `m' and 628104862Sru `DF'. The device-specific default color is called `default' and can't be 629104862Sru redefined. 630104862Sru 631104862Sru Use the `color' request to toggle the usage of colors (default is on); the 632104862Sru read-only register `.color' is 0 if colors are not active, and non-zero 633104862Sru otherwise. 634104862Sru 635104862Sru The old `Df' output command is mapped onto `DFg'; all color output 636104862Sru commands don't change the current font position (consequently, `Df' 637104862Sru doesn't either). 638104862Sru 639104862Sru Outputting color can be disabled in troff and groff with the option -c 640104862Sru (it is always disabled in compatibility mode). See the section on grotty 641104862Sru for the GROFF_NO_SGR environment variable also. 642104862Sru 643104862Sru For defining color components as fractions between 0 and 1, a new scaling 644104862Sru indicator `f' has been introduced: 1f = 65536u. For testing whether a 645104862Sru color is defined (with .if and .ie), a new conditional operator `m' is 646104862Sru available. 647104862Sru 648104862Sru More details can be found in the groff_diff.7 manual page and in 649104862Sru groff.texinfo. 650104862Sru 651104862Sruo Similar to \m and \M, \f[] switches back to the previous font. \fP 652104862Sru (and \f[P]) is still valid for backwards compatibility. 653104862Sru 654104862Sruo The new escape \F is the same as `.fam'; \F[] switches back to previous 655104862Sru family -- \F[P] selects family `P'. 656104862Sru 657104862Sruo Two new glyph symbols are available: `eu' is the official Euro symbol; 658104862Sru `Eu' is a font-specific glyph variant. 659104862Sru 660104862Sruo The new glyph symbols `t+-', `tdi', and `tmu' are textual variants of 661104862Sru `+-', `di', and `mu', respectively. 662104862Sru 663104862Sruo Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has 664104862Sru got the troff glyph name `mc'. 665104862Sru 666104862Sruo -Tutf8 is now available on EBCDIC hosts. 667104862Sru 668104862Sruo Strings can take arguments, using this syntax: \*[foo arg1 arg2 ...]. 669104862Sru Example: 670104862Sru 671104862Sru .ds xxx This is a \\$1 test. 672104862Sru \*[xxx nice] 673104862Sru 674104862Sruo It is now possible to have whitespace between the first and second dot (or 675104862Sru the name of the ending macro) to end a macro definition. Example: 676104862Sru 677104862Sru .de ! 678104862Sru .. 679104862Sru . 680104862Sru .de foo 681104862Sru . nop Hello, I'm `foo'. 682104862Sru . nop I will now define `bar'. 683104862Sru . de bar ! 684104862Sru . nop Hello, I'm `bar'. 685104862Sru . ! 686104862Sru .. 687104862Sru 688104862Sruo `.fn' is a new string-valued register which returns the (internal) real 689104862Sru font name; styles and families are properly concatenated. 690104862Sru 691104862Sruo Three new read/write registers `seconds', `minutes', and `hours' contain 692104862Sru the current time, set at start-up of troff. Use the `af' request to 693104862Sru control their output format. 694104862Sru 695104862Sruo The new request `fchar' can be used to provide fallback characters. It 696104862Sru has the same syntax as the `char' request; the only difference is that a 697104862Sru character defined with `.char' hides the glyph with the same name in the 698104862Sru current font, whereas a character defined with `.fchar' is checked only if 699104862Sru the particular glyph isn't found in the current font. This test happens 700104862Sru before checking special fonts. 701104862Sru 702104862Sruo In analogy to the `tmc' request, `.writec' is the same as `.write' but 703104862Sru doesn't emit a final newline. 704104862Sru 705104862Sruo The new request `itc' is a variant of `.it' for which a line interrupted 706104862Sru with \c counts as one input line. 707104862Sru 708104862Sruo Two new requests `ds1' and `as1' which are similar to `ds' and `as' but 709104862Sru with compatibility mode disabled during expansion of strings defined by 710104862Sru them. 711104862Sru 712104862Sruo The syntax of the `substring' request has been changed: The first 713104862Sru character in a string now has index 0, the last character has index -1. 714104862Sru Note that this is an incompatible change. 715104862Sru 716104862Sruo To emit strings directly to the intermediate output, a new `output' 717104862Sru request has been added; it is similar to `\!' used at the top level. 718104862Sru 719104862Sruo `.hpf' has been extended. It can now handle most TeX hyphenation 720104862Sru pattern files without modification. To do that, the commands \patterns, 721104862Sru \hyphenation, and \endinput are recognized. Please refer to groff_diff.7 722104862Sru for more information. 723104862Sru 724104862Sruo `hpfcode' is a new request to provide an input encoding mapping for the 725104862Sru `hpf' request. 726104862Sru 727104862Sruo The new request `hpfa' appends hyphenation patterns (`hpf' replaces 728104862Sru already existing patterns). 729104862Sru 730104862Sruo A new request `ami' (append macro indirect) has been added. The first and 731104862Sru second parameter of `ami' are taken from string registers rather than 732104862Sru directly; this very special request is needed to make `trace.tmac' 733104862Sru independent from the escape character (which might even be disabled). 734104862Sru 735104862Sruo The new request `sizes' is similar to the `sizes' command in DESC files. 736104862Sru It expects the same syntax; the data must be on a single line, and the 737104862Sru final `0' can be omitted. 738104862Sru 739104862Sruo `trin' (translate input) is a new request which is similar to `tr' with 740104862Sru the exception that the `asciify' request will use the character code (if 741104862Sru any) before the character translation. Example: 742104862Sru 743104862Sru .trin ax 744104862Sru .di xxx 745104862Sru a 746104862Sru .br 747104862Sru .di 748104862Sru .xxx 749104862Sru .trin aa 750104862Sru .asciify xxx 751104862Sru .xxx 752104862Sru 753104862Sru The result is `x a'. Using `tr', the result would be `x x'. 754104862Sru 755104862Sruo The request `pvs' isn't new, but hasn't been documented before. It 756104862Sru adds vertical space after a line has been output. This makes it an 757104862Sru alternative to the `ls' request to produce double-spaced documents. 758104862Sru The read-only register `.pvs' holds the current amount of the 759104862Sru post-vertical line space. 760104862Sru 761104862Sruo For compatibility with plan 9's troff, multiple `pi' requests are 762104862Sru supported: 763104862Sru 764104862Sru .pi foo 765104862Sru .pi bar 766104862Sru 767104862Sru is now equivalent to 768104862Sru 769104862Sru .pi foo | bar 770104862Sru 771104862Sruo A new escape sequence `\O' is available to disable and enable glyph 772104862Sru output. Please see groff_diff.7 and groff.texinfo for more details. 773104862Sru 774104862Sruo The escapes `\%', `\&', `\)', and `\:' no longer cause an error in \X; 775104862Sru they are ignored now. Additionally `\ ' and `\~' are converted to 776104862Sru single space characters. 777104862Sru 778104862Sruo The default tab distance in nroff mode is now 0.8i to be compatible 779104862Sru with UNIX troff. 780104862Sru 781104862Sruo Using the latin-1 input character 0xAD (soft hyphen) for the `shc' 782104862Sru request was a bad idea. Instead, it is now translated to `\%', and 783104862Sru the default hyphenation character is again \[hy]. Note that the glyph 784104862Sru \[shc] is not useful for typographic purposes; it only exists to have 785104862Sru glyph names for all latin-1 characters. 786104862Sru 787104862SruMacro Packages 788104862Sru-------------- 789104862Sru 790104862Sruo Peter Schaffter <df191@ncf.ca> has contributed a new major macro package 791104862Sru called `mom', mainly for non-scientific writers, which takes care of 792104862Sru many typographic issues. It comes with a complete reference (in HTML 793104862Sru format) and some examples. `mom' has been designed to format documents 794104862Sru for PostScript output only. 795104862Sru 796104862Sruo Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to 797104862Sru the man macros for compatibility with older BSD releases. 798104862Sru 799104862Sruo Both the man and mdoc macro packages now use the LL and LT registers for 800104862Sru setting the line and title length, respectively (similar to those 801104862Sru registers in the ms macro package). If not set on the command line or 802104862Sru in a macro file loaded before the macro package itself, they default to 803104862Sru 78n in nroff mode and 6.5i in troff mode. 804104862Sru 805104862Sruo The `-xwidth' specifier in the mdoc macro package has been removed. Its 806104862Sru functionality is now integrated directly into `-width'. Similarly, 807104862Sru `-column' has been extended to provide this functionality also. 808104862Sru 809104862Sruo A new macro `Ex' has been added to the mdoc macro package to document an 810104862Sru exit status. 811104862Sru 812104862Sruo The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is 813104862Sru now automatically loaded for -Tdvi), using a dvips special to load the EPS 814104862Sru file. 815104862Sru 816104862Sruo The trace.tmac package now traces calls to `am' also. Additionally, it 817104862Sru works in compatibility mode. 818104862Sru 819104862Sruo `troff.1' has been split. Differences to UNIX troff are now documented 820104862Sru in the new man page `groff_diff.7'. 821104862Sru 822104862Sruo `groff_mwww.7' has been renamed to `groff_www.7'. The file mwww.tmac 823104862Sru has been removed. 824104862Sru 825104862Sruo `groff_ms.7' has been completely rewritten. It now contains a complete 826104862Sru reference to the ms macros. 827104862Sru 828104862Sruo `groff_trace.7' documents the trace macro package. 829104862Sru 830104862Sruo Changes in www.tmac: 831104862Sru 832104862Sru Note that HTML support is still in alpha change, so it is rather likely 833104862Sru that both macro names and macro syntax will change. Some of the macros 834104862Sru mentioned below aren't really new but haven't been documented properly 835104862Sru before. 836104862Sru 837104862Sru The following macros have been renamed: 838104862Sru 839104862Sru MAILTO -> MTO 840104862Sru IMAGE -> IMG 841104862Sru LINE -> HR 842104862Sru 843104862Sru For consistency, the macros `URL', `FTL', and `MTO' now all have the 844104862Sru address as the first parameter followed by the description. 845104862Sru 846104862Sru By default, grohtml generates links to all section headings at the top 847104862Sru of the document. Use the new `LK' macro to specify a different place. 848104862Sru 849104862Sru For specifying the background color and a background image, use the 850104862Sru new macros `BCL' and `BGIMG', respectively. 851104862Sru 852104862Sru The macro `NHR' has been added; it suppresses the generation of top and 853104862Sru bottom rules which grohtml emits by default. 854104862Sru 855104862Sru The new macro `HX' determines the cut-off point for automatic link 856104862Sru generation to headings. 857104862Sru 858104862Sru The image position parameter names in `IMG' have been changed to `-L', 859104862Sru `-R', and `-C'. 860104862Sru 861104862Sru New macro `PIMG' for inclusion of a PNG image (it will automatically 862104862Sru convert it into an EPS file if not -Thtml is used). 863104862Sru 864104862Sru New macro `MPIMG' for putting a PNG image into the left or right margin 865104862Sru (it will automatically convert it into an EPS file if not 866104862Sru -Thtml is used). 867104862Sru 868104862Sru New macros `HnS', `HnE' to start and end a header line block. 869104862Sru 870104862Sru New macro `DC' to produce dropcap characters. 871104862Sru 872104862Sru New macro `HTL' to generate an HTML title line only but no H1 heading. 873104862Sru 874104862Sru New macros `ULS' and `ULE' to start and end an unordered list. The new 875104862Sru macro `LI' inserts a list item. 876104862Sru 877104862SruGroff 878104862Sru----- 879104862Sru 880104862Sruo The new command line option `-c' disables color output (which is always 881104862Sru disabled in compatibility mode). 882104862Sru 883104862SruNroff 884104862Sru----- 885104862Sru 886104862Sruo Two new command line options `-c' and `-C'; the former passes `-c' to 887104862Sru grotty (switching to the old output scheme); the latter passes `-C' to 888104862Sru groff (enabling compatibility mode). 889104862Sru 890104862SruPic 891104862Sru--- 892104862Sru 893104862Sruo New keywords `color' (or `colour', `colored', `coloured'), `outline' (or 894104862Sru `outlined'), and `shaded' are available. `outline' sets the color of the 895104862Sru outline, `shaded' the fill color, and `color' sets both. Example: 896104862Sru 897104862Sru circle shaded "green" outline "black" ; 898104862Sru 899104862Sru Filled arrows always use the outline color for filling. 900104862Sru 901104862Sru Color support for TeX output is not implemented yet. 902104862Sru 903104862SruPic2graph 904104862Sru--------- 905104862Sru 906104862Sruo A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It 907104862Sru converts a PIC diagram into a cropped image. Since it uses gs and the PNM 908104862Sru library, virtually all graphics formats are available for output. 909104862Sru 910104862SruEqn2graph 911104862Sru--------- 912104862Sru 913104862Sruo A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It 914104862Sru converts an EQN diagram into a cropped image. Since it uses gs and the PNM 915104862Sru library, virtually all graphics formats are available for output. 916104862Sru 917104862SruGroffer 918104862Sru------- 919104862Sru 920104862Sruo A new script contributed by Bernd Warken <bwarken@mayn.de>. It displays 921104862Sru groff files and man pages on X and tty, taking care of most parameters 922104862Sru automatically. 923104862Sru 924104862SruGrog 925104862Sru---- 926104862Sru 927104862Sruo Documents using the mom macro package are recognized. 928104862Sru 929104862SruGrops 930104862Sru----- 931104862Sru 932104862Sruo Color support has been added. 933104862Sru 934104862Sruo A new option `-p' is available to select the output paper size. It has 935104862Sru the same syntax as the new `papersize' keyword in the DESC file. 936104862Sru 937104862SruGrodvi 938104862Sru------ 939104862Sru 940104862Sruo By default, font sizes are now available in the range 5-10000pt, similar 941104862Sru to PS fonts. If you want the old behaviour (i.e., font sizes at discrete 942104862Sru values only), insert the following at the start of your document: 943104862Sru 944104862Sru .if '\*[.T]'dvi' \ 945104862Sru . sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \ 946104862Sru 1728 1800 2000 2074 2200 2400 2488 2800 3600 947104862Sru 948104862Sruo A new font file HBI (using cmssbxo10; this is slanted sans serif bold 949104862Sru extended) has been added. 950104862Sru 951104862Sruo Two font families are now available: `T' and `H'. 952104862Sru 953104862Sruo EC and TC fonts have been integrated. Use `-mec' (calling the file 954104862Sru ec.tmac) to switch to them. Those fonts give a much better coverage of 955104862Sru the symbols defined by groff than the CM fonts. 956104862Sru 957104862Sru Note that ec.tmac must be called before any language-specific files; it 958104862Sru doesn't take care of hcode values. 959104862Sru 960104862Sruo Color support has been added. For drawing commands, colors are translated 961104862Sru to gray values currently. 962104862Sru 963104862SruGrotty 964104862Sru------ 965104862Sru 966104862Sruo Color support has been added, using the SGR (ISO 6429, sometimes called 967104862Sru ANSI color) escape sequences. 968104862Sru 969104862Sruo SGR escape sequences are now used by default for underlining and bold 970104862Sru printing also, no longer using the backspace character trick. To revert 971104862Sru to the old behaviour, use the `-c' switch. 972104862Sru 973104862Sru Note that you have to use the `-R' option of `less' to make SGR escapes 974104862Sru display correctly. On the other hand, terminal programs and consoles like 975104862Sru `xterm' which support SGR sequences natively can directly display the 976104862Sru output of grotty. Consequently, the options `-b', `-B', `-u', and `-U' 977104862Sru work only in combination with `-c' and are ignored silently otherwise. 978104862Sru 979104862Sru For the `man' program, it may be necessary to add the `-R' option of 980104862Sru `less' to the $PAGER environment variable; alternatively, you can use 981104862Sru `man's `-P' option (or adapt its configuration file accordingly). See 982104862Sru man(1) for more details. 983104862Sru 984104862Sruo If the environment variable GROFF_NO_SGR is set, SGR output is disabled, 985104862Sru reverting to the old behaviour. 986104862Sru 987104862Sruo A new special \X'tty: sgr n' has been added; if n is non-zero or missing, 988104862Sru enable SGR output (the default). 989104862Sru 990104862Sruo If the new option `-i' is used (only in SGR mode), grotty sends escape 991104862Sru sequences to set the italic font attribute instead of the underline 992104862Sru attribute for italic fonts. Note that many terminals don't have support 993104862Sru for this (including xterm). 994104862Sru 995104862SruGrohtml 996104862Sru------- 997104862Sru 998104862Sruo Color support for glyphs has been added. 999104862Sru 1000104862Sruo New option `-h' to select the style of headings in HTML output. 1001104862Sru 1002104862Sruo New option `-b' to set the background colour to white. 1003104862Sru 1004104862Sruo New options `-a' and `-g' to control the number of bits for anti-aliasing 1005104862Sru used for text and graphics, respectively. Default value is 4; 0 means 1006104862Sru no anti-aliasing. 1007104862Sru 1008104862Sruo groff character/glyph entities now map onto HTML 4 character entities. 1009104862Sru 1010104862SruGrolbp 1011104862Sru------ 1012104862Sru 1013104862Sruo Valid paper sizes are now specified as with the new `papersize' keyword 1014104862Sru in the DESC file. Specifically, the old custom paper type format 1015104862Sru `custAAAxBBB' is no longer supported. 1016104862Sru 1017104862SruMiscellaneous 1018104862Sru------------- 1019104862Sru 1020104862Sruo A new manual page `ditroff.7' is available. 1021104862Sru 1022104862Sruo The groff texinfo manual will now be installed, together with a bunch 1023104862Sru of examples. 1024104862Sru 1025104862Sruo A new keyword `papersize' has been added to the DESC file format. Its 1026104862Sru argument is either 1027104862Sru 1028104862Sru . a predefined paper format (e.g. `A4' or `letter') 1029104862Sru 1030104862Sru . a file name pointing to a file which must contain a paper size 1031104862Sru specification in its first line (e.g. `/etc/papersize') 1032104862Sru 1033104862Sru . a custom paper size definition like `35c,4i' 1034104862Sru 1035104862Sru See groff_font(5) for more details. This keyword only affects the 1036104862Sru physical dimensions of the output medium; grops, grolj4, and grolbp use it 1037104862Sru currently. troff completely ignores it. 1038104862Sru 103979543SruVERSION 1.17.2 104079543Sru============== 104179543Sru 104279543SruThis is major bug-fixing release which should replace 1.17.1. 104379543Sru 104479543SruTroff 104579543Sru----- 104679543Sru 104779543Sruo The `IMAGE' macro in www.tmac has changed: Now the optional 2nd parameter 104879543Sru gives the horizontal image location (left, centered, or right), and the 104979543Sru optional 3rd and 4th parameter the image dimensions. 105079543Sru 105179543SruVERSION 1.17.1 105279543Sru============== 105379543Sru 105479543SruThis is mainly a bug-fixing release. 105579543Sru 105679543SruTroff 105779543Sru----- 105879543Sru 105979543Sruo Two new requests `de1' and `am1' which are similar to `de' and `am' but 106079543Sru with compatibility mode disabled during expansion of macros defined by 106179543Sru them. 106279543Sru 106379543Sruo Added request `brp'. This is the same as `\p'. 106479543Sru 1065104862Sruo Similar to other versions of troff, the `ns' request now works in all 1066104862Sru diversions, not only in the top-level one. 106779543Sru 106879543Sruo New read-only number register `.ns'. Returns 1 if in no-space mode, 106979543Sru 0 otherwise. 107079543Sru 107179543SruNroff 107279543Sru----- 107379543Sru 107479543Sruo Options -p (pic) and -t (tbl) added. 107579543Sru 107679543Sruo The environment variable GROFF_BIN_PATH is now checked before PATH for 107779543Sru finding groff. 107879543Sru 107979543SruGrohtml 108079543Sru------- 108179543Sru 108279543Sruo New option `-D dir' to specify a directory in which all images are placed. 108379543Sru 108479543Sruo New option `-I stem' to specify an image name stame. If not given, 108579543Sru `grohtml-XXX' is used (`XXX' is the process ID). 108679543Sru 108779543SruVERSION 1.17 108879543Sru============ 108979543Sru 109075584SruGroff 109175584Sru----- 109275584Sru 109379543Sruo `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The 109475584Sru old behaviour has been changed to overcome problems with platforms which 109575584Sru have an 8+3 file name limit, and platforms which have other versions of 1096104862Sru troff installed also. Additionally, all macro files have been renamed 109775584Sru using the latter scheme to avoid 8+3 name clashes. 109875584Sru 109979543Sruo The new environment variable GROFF_BIN_PATH is checked for programs groff 110079543Sru is calling (preprocessors, troff, and output devices) before PATH. If not 1101104862Sru set, it defaults to the directory where the groff binary is located. 110279543Sru Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH 110379543Sru to find the groff binary but passes both the GROFF_BIN_PATH and PATH 1104104862Sru environment variables to groff. 110575584Sru 110675584SruTroff 110775584Sru----- 110875584Sru 110975584Sruo The mdoc package has been completely rewritten, using the full power of 111075584Sru GNU troff to remove limitations of Unix troff (which is no longer 111175584Sru supported). Most important changes are: 111275584Sru 1113104862Sru . No argument limit 1114104862Sru . Almost all macros are parsed and callable (if it makes sense) 111575584Sru . `.Lb': prints library names 111675584Sru . `.Nm <punctuation>' now works as expected; `.Nm "" <punctuation>' has 1117104862Sru been withdrawn 111875584Sru . Updated `.St' command 111975584Sru . `.Fx': prints FreeBSD 112075584Sru . `.Ox': prints OpenBSD 112175584Sru . `.Bsx': prints BSD/OS 112275584Sru . `.Brq', `.Bro', `.Brc': brace enclosure macros 112375584Sru . `.Bd -centered': center lines 112475584Sru . `.Bl -xwidth <string>': interpret <string> and use the resulting width 1125104862Sru . Support for double-sided printing (-rD1 command line switch) 1126104862Sru . Support for 11pt and 12pt document sizes (-rS11, -rS12 command line 112775584Sru switches) 112875584Sru 1129104862Sru `groff_mdoc.7' replaces `groff_mdoc.samples.7'; it now completely 113075584Sru documents the mdoc package. 113175584Sru 113275584Sru Great care has been taken to assure backwards compatibility. If you 113375584Sru encounter any abnormal results, please report them to bug-groff@gnu.org. 113475584Sru 113575584Sruo A new command line option for the `man' macros (similar to the `mdoc' 1136104862Sru package) has been implemented: `-rcR=1' (now the default in nroff mode) 113779543Sru produces one single, very long page instead of multiple pages. `-rcR=0' 113879543Sru deactivates it. 113975584Sru 114075584Sruo The `return' request has been added to return immediately from a macro. 114175584Sru 114275584Sruo A new request `nop' (no operation) has been added which is similar to 114375584Sru `if 1'. For example, 114475584Sru 114575584Sru .if t \{\ 114675584Sru Hallo! 114775584Sru .\} 114875584Sru 114975584Sru can now be written as 115075584Sru 115175584Sru .if t \{\ 115275584Sru . nop Hallo! 115375584Sru .\} 115475584Sru 115575584Sruo `box' and `boxa' are two new requests which behave similarly to `di' and 115675584Sru `da' but don't include a partially filled line (which is restored after 115775584Sru ending the diversion). 115875584Sru 115975584Sruo The `asciify' request has been extended to `unformat' space characters 116075584Sru and some other escape sequences also. 116175584Sru 116279543Sru `\ ' is no longer unformatted as a space but remains an unpaddable, 116375584Sru unbreakable space character. 116475584Sru 116575584Sruo The new `unformat' request is similar to `asciify' but only handles space 116675584Sru characters and tabs specially if the diversion is reread, retaining font 116775584Sru information. This makes it possible to reformat diversions; for example 116875584Sru the following 116975584Sru 117075584Sru .ll 3i 117175584Sru . 117275584Sru a01 a02 a03 a04 a05 a06 a07 a08 a09 a10. 117375584Sru . 117475584Sru .box box1 117575584Sru .ev 1 117675584Sru .nf 117775584Sru \f[B]b01 b02 b03 b04 b05 b06 b07 b08 b09 b10.\f[P] 117875584Sru .br 117975584Sru .ev 118075584Sru .box 118175584Sru . 118275584Sru c01 c02 c03 c04 c05 c06 c07 c08 c09 c10. 118375584Sru . 118475584Sru .unformat box1 118575584Sru .box1 118675584Sru 118775584Sru gives 118875584Sru 118975584Sru a01 a02 a03 a04 a05 a06 a07 119075584Sru a08 a09 a10. c01 c02 c03 c04 119175584Sru c05 c06 c07 c08 c09 c10. b01 119275584Sru b02 b03 b04 b05 b06 b07 b08 119375584Sru b09 b10. 119475584Sru 119575584Sru Without the `unformat' request, space characters are converted to word 119675584Sru space nodes which are no longer stretchable, and the result would be 119775584Sru 119875584Sru a01 a02 a03 a04 a05 a06 a07 119975584Sru a08 a09 a10. c01 c02 c03 c04 120075584Sru c05 c06 c07 c08 c09 c10. b01 120175584Sru b02 b03 b04 b05 b06 b07 b08 120275584Sru b09 b10. 120375584Sru 120475584Sruo The new request `linetabs' controls the `line-tabs' mode. In line-tabs 120575584Sru mode, tab distances are computed relative to the (current) output line. 120675584Sru Otherwise they are taken relative to the input line. For example, the 120775584Sru following 120875584Sru 120975584Sru .ds x a\t\c 121075584Sru .ds y b\t\c 121175584Sru .ds z c 121275584Sru .ta 1i 3i 121375584Sru \*x 121475584Sru \*y 121575584Sru \*z 121675584Sru 121775584Sru yields 121875584Sru 121975584Sru a b c 122075584Sru 122175584Sru In line-tabs mode, the same code gives 122275584Sru 122375584Sru a b c 122475584Sru 122575584Sru The new read-only number register `.linetabs' returns 1 if in line-tabs 122675584Sru mode, and 0 otherwise. 122775584Sru 122875584Sruo Two new requests `tm1' and `tmc' have been added to improve writing 122975584Sru messages to the terminal. `tm1' is similar to `tm' but allows leading 123075584Sru whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline. 123175584Sru 1232104862Sruo For compatibility with sqtroff, the request `output' has been added. 1233104862Sru The behaviour is similar to `\!' at the top-level, that is, it directly 1234104862Sru inserts its argument into the intermediate output format. The syntax 1235104862Sru is similar to .tm1, allowing leading whitespace. 1236104862Sru 1237104862Sruo The new `spreadwarn' request will make troff warn if spaces in an output 1238104862Sru line are widened by a given limit or more. 1239104862Sru 1240104862Sruo Use `warnscale' to change the scaling indicator troff will use for 1241104862Sru warning messages. 1242104862Sru 124375584Sruo A new request `dei' (define indirect) has been added. The first and 124475584Sru second parameter of `dei' are taken from string registers rather than 124575584Sru directly; this very special request is needed to make `trace.tmac' 124675584Sru independent from the escape character (which might even be disabled). 124775584Sru 124875584Sruo It is now possible to save and restore the escape character with two new 124975584Sru requests `ecs' and `ecr'. 125075584Sru 125175584Sruo The new escape sequence \B'...' is an analogon to `\A': If the string 125275584Sru within the delimiters is a valid numeric expression, return character `1', 125375584Sru and `0' otherwise. 125475584Sru 125575584Sruo The new escape sequence `\:' inserts a zero-width break point. This is 125675584Sru similar to `\%' but without a soft hyphen character. 125775584Sru 125875584Sruo The `tr' request can now map characters onto `\~'. 125975584Sru 126075584Sruo Calling the `fam' request without an argument switches back to the 126175584Sru previous font family. 126275584Sru 126375584Sruo The new read-only register `.int' is set to a positive value if the last 126479543Sru output line is interrupted (i.e., if the input line contains `\c'). 126575584Sru 126675584Sruo The `writem' request is not new, but hasn't been documented before. This 126775584Sru is similar to `write' but instead of a string the contents of a given 126875584Sru macro or string is written to a stream. 126975584Sru 127075584Sruo The read/write number register `hp' to get/set the current horizontal 127175584Sru position relative to the input line isn't new but hasn't been documented 127275584Sru properly before. 127375584Sru 127479543Sruo `\X' and `\Y' are now transparent for end-of-sentence recognition. 127575584Sru 127679543Sruo The `cu' request in nroff mode now works as documented (i.e., it 127779543Sru underlines spaces also). 127875584Sru 127975584SruGrog 128075584Sru---- 128175584Sru 128279543Sruo The grog script now works in non-compatibility mode also (which is the 128375584Sru default). As usual, use the `-C' option to activate compatibility mode. 128475584Sru 128575584SruGrops 128675584Sru----- 128775584Sru 1288104862Sruo A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has 1289104862Sru been added to select a different prologue file. 129075584Sru 1291104862Sruo The effect of the former `-mpsnew' option to access more Type 1 characters 1292104862Sru is now the default and no longer available. To get the old behaviour 1293104862Sru (i.e., emulation of some glyphs by composition) use `-mpsold'. 129475584Sru 129575584SruMiscellaneous 129675584Sru------------- 129775584Sru 129875584Sruo For security reasons the following changes have been done: 129975584Sru 130075584Sru . The tmac.safer file has been replaced with a built-in solution; .open, 130175584Sru .opena, .pso, .sy, and .pi are completely disabled in safer mode (which 130275584Sru is the default); to enable these requests the `-U' command line flag 130375584Sru must be used. 130475584Sru 130575584Sru . Files specified with the .mso request or given with the `-m' command 130675584Sru line option, and hyphenation patterns loaded with `.hpf' are no longer 130775584Sru searched in the current directory by default (besides the usual tmac 1308104862Sru path). Instead, the home directory is used. To add the current 130975584Sru directory, either use the `-U' or `-M' command line option or set the 131075584Sru GROFF_TMAC_PATH environment variable to an appropriate value. 131175584Sru 131275584Sru . troffrc, troffrc-end, and eqnrc are neither searched in the current nor 131375584Sru in the home directory (even if -U is given). Use -M or GROFF_TMAC_PATH 131475584Sru to change that. 131575584Sru 131675584Sru . Similarly, the current directory is no longer part of the font path. 131775584Sru Use the `-F' command line option or the GROFF_FONT_PATH environment 131875584Sru variable if you really need the current directory. 131975584Sru 132079543Sruo groff now installs its data files into /usr/local/share/groff/<version> by 132179543Sru default, following the GNU standard. Additionally, a local tmac directory 132279543Sru (by default /usr/local/share/groff/site-tmac) is scanned before the 132379543Sru standard tmac directory. Wrapper files for system-specific macro packages 132479543Sru (if necessary) are put into /usr/local/lib/groff/site-tmac; this directory 132579543Sru is searched before the local tmac directory. 132675584Sru 132779543Sruo All programs now have option `-v' to show the version number; they exit 132879543Sru immediately afterwards, following the GNU standards. Additionally, 132975584Sru `--version' and `--help' have been added, doing the obvious actions. 133075584Sru 133169626SruVERSION 1.16.1 133269626Sru============== 133369626Sru 133469626SruBug fixes only; no user-visible changes. 133569626Sru 133669626SruVERSION 1.16 133769626Sru============ 133869626Sru 133969626SruGroff 134069626Sru----- 134169626Sru 134269626SruThe anachronism of calling the man macro package with `-man' has been fixed; 134369626Srunow you can say `-m man' also. The same is true for `ms', `me', `markup', 134469626Sru`mandoc', and `mdoc'. 134569626Sru 134669626SruA new switch `-g' for calling `grn' is available. 134769626Sru 134869626SruA new switch `-G' for calling `grap' is available. 134969626Sru 135069626SruEBCDIC support for tty devices has been added. On such hosts, IBM code page 135169626Sru1047 is available with -Tcp1047 instead of -Tascii and -Tlatin1 (and, for 135269626Sruthe moment, -Tutf8). Note that non-tty devices are not yet supported (but 135369626Sruinstalled). 135469626Sru 135569626SruTroff 135669626Sru----- 135769626Sru 135869626SruA new command line option to the `man' macros is available: `-rSxx' (with 135969626Sru`xx' either 10, 11, or 12) to set the base document font size to `xx' 136069626Srupoints. Additionally, `.SH' now produces larger headings than `.SS'. 136169626Sru 136269626SruTo solve a problem with the .PSPIC macro which needs the `-U' switch of 136369626Srutroff to access an external program (psbb), a new request .psbb is now 136469626Sruavailable to get the bounding box of a PostScript image file. The values 136569626Sru(in PostScript units) are returned in the new read-only number registers 136669626Sru`llx', `lly', `urx', and `ury'. Consequently, .PSPIC has been adapted to 136769626Sruuse the new request, and the psbb program has been removed. 136869626Sru 136969626SruA new predefined writable number register, `year', has been added. It 137069626Srucontains the current year. 137169626Sru 137269626SruA new read-only register, `.Y', has been added. It contains the revision 137369626Srunumber of the groff package. 137469626Sru 137569626Sru`\fP' now behaves as expected in situations like the following where the 137669626Srufont `foo' is undefined: 137769626Sru 137869626Sru .B bold text 137969626Sru normal text \f[foo]bar\fP normal text 138069626Sru 138169626SruPreviously, the text after \fP appeared as bold. 138269626Sru 138369626SruThe `substring' request is not new, but hasn't been documented before. 138469626Sru 138569626SruThe predefined `.T' string register (which holds the current output device) 138669626Sruis not new, but hasn't been documented before. 138769626Sru 138869626SruA new request `length' computes the length of a string and returns it in 138969626Srua number register. 139069626Sru 139169626SruThe macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace' 139269626Sru(a debugging aid) are now installed also. 139369626Sru 139469626SruA new resource file, `troffrc-end', is now available. It is invoked after 139569626Sruall user-specified macros. Currently used by the html device to include 139669626Srutmac.html; thus no need for users to specify -mhtml anymore. 139769626Sru 139869626SruThe soft hyphen character now has a glyph name: `shc'. 139969626Sru 140069626SruThe latin-1 character 173 (PS name `periodcentered') has got the troff glyph 140169626Sruname `pc' and is no longer intermixed with the symbol character `md' (PS 140269626Sruname `mathdot'). 140369626Sru 140469626SruASCII character 34 (PS name `quotedbl') has got the troff glyph name `dq' 140569626Sru(which is an alias to character `"'). 140669626Sru 140769626SruASCII character 39 (PS name `quoteright') has got the troff glyph name `cq' 140869626Sru(which is an alias to character "'"). 140969626Sru 141069626SruSome additions to the font description files have been implemented for 141169626Srubetter support of HTML output: 141269626Sru 141369626Sru The new format of lines in the `charset' subsection of font description 141469626Sru files is 141569626Sru 141669626Sru name metrics type code [entity_name] [-- comment] 141769626Sru 141869626Sru Currently, only the font description files in devhtml use the optional 141969626Sru entity_name string to define glyph entities in HTML. Everything after the 142069626Sru entity_name field is ignored; in case this field isn't used, two hyphen 142169626Sru characters are now necessary to start a comment. 142269626Sru 142369626Sru Two new requests are available in DESC files (currently used only with 142469626Sru grohtml): 142569626Sru 142669626Sru use_charnames_in_special 142769626Sru This command indicates that troff should encode named characters 142869626Sru inside special commands. 142969626Sru 143069626Sru pass_filenames 143169626Sru requests that troff tells the driver the source file name being 143269626Sru processed. This is achieved by another tcommand: `F filename'. 143369626Sru 143469626SruGrotty 143569626Sru------ 143669626Sru 143769626SruBruno Haible <haible@clisp.cons.org> contributed support for UTF8 output. 143869626Sru 143969626SruGrohtml 144069626Sru------- 144169626Sru 144269626SruAdded .LINE macro to tmac.arkup. 144369626Sru 144469626SruThe obsolete `.LINK' macro has been removed. 144569626Sru 144669626Sru.URL, .FTP, and .MAILTO macros now accept an optional third argument which 144769626Sruwill be immediately appended to the second argument (to be used with 144869626Srupunctuation, for example). 144969626Sru 145069626SruGrodvi 145169626Sru------ 145269626Sru 145369626SruThe font size 11pt has been changed to 10.95pt (as used in LaTeX 2e). 145469626Sru 145569626SruA new font file CWI (using cmitt10; this is typewriter italic) has been 145669626Sruadded. 145769626Sru 145869626SruGrolbp 145969626Sru------ 146069626Sru 146169626SruA new driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser 146269626Sruprinters). This code has been contributed by Francisco Andres Verdu 146369626Sru<pandres@dragonet.es>. 146469626Sru 146569626SruGrn 146669626Sru--- 146769626Sru 146869626SruA new preprocessor to process gremlin pictures. It is based on the 146969626Sruoriginal Berkeley implementation of grn, written by David Slattengren 147069626Sruand Barry Roitblat, and has been adapted to groff by Daniel Senderowicz 147169626Sru<daniel@synchrods.com> and Werner Lemberg <wl@gnu.org>. 147269626Sru 147369626SruPic 147469626Sru--- 147569626Sru 147669626SruAdded the `srand' command to set the seed for a new sequence of 147769626Srupseudo-random numbers to be returned by `rand'. 147869626Sru 147969626SruGxditview 148069626Sru--------- 148169626Sru 148269626SruSimplified installation: The Imakefile will now be configured (by groff's 148369626Sruconfigure script). 148469626Sru 148569626SruDocumentation 148669626Sru------------- 148769626Sru 148869626SruThree new man pages are available: groff_tmac.5 (documenting how troff macros 148969626Sruare accessed and where they are found), groff.7 (a short reference of the GNU 149069626Sruroff language), and roff.7 (a general survey on GNU troff). 149169626Sru 149269626SruMiscellaneous 149369626Sru------------- 149469626Sru 1495104862SruA partial port to win32 (for use with Microsoft Visual C++ 6.0) is now part 1496104862Sruof the distribution. It has been contributed by Blake McBride 149769626Sru<blake@florida-software.com>. 149869626Sru 149969626SruMore information about programs, macros, documentation, etc., which is 150069626Srurelated to groff has been collected in the file `MORE.STUFF'. 150169626Sru 150255839SasmodaiVERSION 1.13, 1.14, 1.15 150355839Sasmodai======================== 150455839Sasmodai 150555839SasmodaiBug fixes only; no user-visible changes. 150655839Sasmodai 150755839SasmodaiVERSION 1.12 150844777Sobrien============ 150944777Sobrien 151055839SasmodaiFinally, there are new maintainers for groff. Mailing lists and a CVS 1511104862Srurepository are available also. See the file README for details. Not all 1512104862Srureported bugs could be fixed, so please send mails again if something is 1513104862Srustill not working. 151444777Sobrien 151555839SasmodaiMost of the installation problems should have vanished now (most 151655839Sasmodainotably the $(tmac_wrap) bug). 151744777Sobrien 1518104862SruThere is now a man page called groff_man.7 which documents the basics of the 1519104862Sru-man macros. It has been originally written by Susan G. Kleinmann 1520104862Sru<sgk@debian.org>. 152155839Sasmodai 1522104862SruA (still incomplete) groff reference manual in texinfo format originally 1523104862Srucontributed by Trent A. Fisher <trent@gnurd.portland.or.us>. 152455839Sasmodai 152555839Sasmodaime.man and msafer.man have been renamed to groff_me.man 152655839Sasmodairesp. groff_msafer.man for consistency. 152755839Sasmodai 1528104862SruDefault strings for macros in doc-common resp. tmac.an no longer contain the 1529104862Sruword `UNIX'. 153055839Sasmodai 153155839Sasmodaigroff should now be Y2k safe (fixes contributed by Paul Eggert 153255839Sasmodai<eggert@twinsun.com>). 153355839Sasmodai 1534104862SruFollowing the GNU standards, groff will now use the prefix `/usr/local/' as 1535104862Sruthe default instead of replacing an existent groff binary. 153655839Sasmodai 153755839Sasmodaigroff, troff, nroff, and pic now support the -U flag to activate unsafe 1538104862Srubehaviour (without -msafer); the -S flag for using the -msafer macros is now 1539104862Sruthe default. 154055839Sasmodai 154155839SasmodaiGrohtml 154255839Sasmodai------- 154355839Sasmodai 1544104862SruThis is a new output device for producing HTML output contributed by Gaius 1545104862SruMulley <gaius@glam.ac.uk>. It is still very alpha but has been included 1546104862Sruinto the distribution so that a lot of people have a chance to test it. Bug 1547104862Srureports are highly welcome. 154855839Sasmodai 154955839SasmodaiGrolj4 155055839Sasmodai------ 155155839Sasmodai 155255839SasmodaiDuplex printing support has been contributed by Jeffrey Copeland 155355839Sasmodai<jeff@opennt.com>. 155455839Sasmodai 155555839SasmodaiSoelim 155655839Sasmodai------ 155755839Sasmodai 155855839SasmodaiAdded -I option for defining include paths (patch contributed by Peter 155955839SasmodaiMiller <peterm@jna.com.au>). 156055839Sasmodai 156155839SasmodaiGxditview 156255839Sasmodai--------- 156355839Sasmodai 156455839SasmodaiFallback resources added (patch contributed by Larry Jones 156555839Sasmodai<larry.jones@sdrc.com>). 156655839Sasmodai 156755839SasmodaiWill now support 8 gray levels. 156855839Sasmodai 156955839Sasmodaimm 157055839Sasmodai-- 157155839Sasmodai 157255839SasmodaiNew version 1.32 (contributed by Joergen Haegg <jh@axis.com>). 157355839Sasmodai 157455839SasmodaiVERSION 1.11 157555839Sasmodai============ 157655839Sasmodai 157744777SobrienComplete documentation for pic is now in the file doc/pic.ms. It was 157844777Sobriencontributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically 157944777Sobrien*not* volunteering to take over groff as he is way overworked with 158044777Sobrienhalf a dozen other projects. 158144777Sobrien 158218099SpstVERSION 1.10 158318099Spst============ 158418099Spst 158518099SpstThe directory where data files are installed has been changed from 158618099Spst/usr/local/lib/groff to /usr/local/share/groff to comply with the 158718099Spstlatest GNU coding standards. 158818099Spst 158918099SpstBy default groff programs with Unix equivalents are installed with a 159018099Spst"g" prefix unless there is an existing (non-groff) troff installation. 159118099Spst 159218099SpstA new approach is used to make system macro packages available to 159318099Spstgroff. Instead of simply including /usr/lib/tmac in the list of 159418099Spstdirectories searched by groff, the installation process creates for 159518099Spsteach system macro package a wrapper macro package in the groff macro 159618099Spstdirectory that references the system macro package. The groff macro 159718099Spstpackages are now installed with a leading "g" prefix if there is a 159818099Spstsystem version of the same macro package, and otherwise without the 159918099Spst"g" prefix, with the exception that the groff version of -me which is 160018099Spstalways installed as -me. 160118099Spst 160218099SpstThere is a new device, lj4, for the HP LaserJet 4 (and PCL5 160318099Spstcompatibles). 160418099Spst 160518099SpstGroff 160618099Spst----- 160718099Spst 160818099Spstgroff has a -S option that prevents the use of unsafe features in pic 160918099Spstand troff. This uses a new -S option of pic and the -msafer macros 161018099Spstfor troff. 161118099Spst 161218099SpstTroff 161318099Spst----- 161418099Spst 161518099SpstThe `blm' request specifies a macro to be invoked when a blank line is 161618099Spstencountered. 161718099Spst 161818099SpstPic 161918099Spst--- 162018099Spst 162118099SpstA -S (safer) option disables the sh command. 162218099Spst 162318099SpstGrops 162418099Spst----- 162518099Spst 162618099SpstThe -m option enables manual feed. 162718099Spst 162818099SpstVERSION 1.09 162918099Spst============ 163018099Spst 163118099Spst\(rn will now produce a character that has the traditional metrics, 163218099Spstand will form corners with \(ul and \(br. This means that it will not 163318099Spstalign properly with \(sr. Instead there's a new character 163418099Spst\[radicalex] which aligns with \(sr; this is used by eqn for doing 163518099Spstsquare roots. 163618099Spst 163718099SpstTroff 163818099Spst----- 163918099Spst 164018099SpstThe `pso' request allows you to read from the standard output of a 164118099Spstcommand. 164218099Spst 164318099SpstGrops 164418099Spst----- 164518099Spst 164618099SpstThe PSPIC macro has options to allow the horizontal alignment of the 164718099Spstgraphic to be specified. 164818099Spst 164918099SpstVERSION 1.08 165018099Spst============ 165118099Spst 165218099SpstTroff 165318099Spst----- 165418099Spst 165518099SpstThe escape sequence \V[xxx] will interpolate the value of the 165618099Spstenvironment variable xxx. 165718099Spst 165818099SpstTbl 165918099Spst--- 166018099Spst 166118099SpstThe decimalpoint option can be used to specify the character to be 166218099Spstrecognized as the decimal point character in place of the default 166318099Spstperiod. 166418099Spst 166518099SpstVERSION 1.07 166618099Spst============ 166718099Spst 166818099SpstGroff 166918099Spst----- 167018099Spst 167118099SpstThe environment variable GROFF_COMMAND_PREFIX can be used to control 167218099Spstwhether groff looks for `gtroff' or `troff' (similarily for the 167318099Spstpreprocessors.) 167418099Spst 167518099SpstTroff 167618099Spst----- 167718099Spst 167818099SpstMultilingual hyphenation is supported by new `hpf' and `hla' requests, 167918099Spstand by a `\n[.hla]' number register. The -H option has been removed. 168018099SpstFiles of hyphenation patterns can have comments. 168118099Spst 168218099SpstWhen a font cannot be found, troff gives a warning (of type `font', 168318099Spstenabled by default) instead of an error. 168418099Spst 168518099SpstThere's a new request `trnt' that's like `tr' except that it doesn't 168618099Spstapply to text transparently throughput into a diversion with \!. 168718099Spst 168818099SpstTbl 168918099Spst--- 169018099Spst 169118099SpstThere is a `nokeep' option which tells tbl not to use diversions to 169218099Spsttry to keep the table on one page. 169318099Spst 169418099SpstEqn 169518099Spst--- 169618099Spst 169718099SpstSetting the parameter `nroff' to a non-zero value causes `ndefine' to 169818099Spstbehave like `define' and `tdefine' to be ignored. This is done by 169918099Spsteqnrc when the current device is ascii or latin1. There's a `neqn' 170018099Spstscript that just does `eqn -Tascii'. 170118099Spst 170218099SpstGrotty 170318099Spst------ 170418099Spst 170518099Spstgrotty uses whatever page length was specified using the `pl' request 170618099Spstrather than using the paperlength command in the DESC file. The 170718099Spstpaperwidth command in the DESC file is also ignored. 170818099Spst 170918099SpstVERSION 1.06 171018099Spst============ 171118099Spst 171218099SpstThe programs in groff that have Unix counterparts can now be installed 171318099Spstwithout a leading `g' prefix. See the `g' variable in the Makefile. 171418099Spst 171518099SpstThe g?nroff script simulates the nroff command using groff. 171618099Spst 171718099SpstNew special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, 171818099Spst\(an. See groff_char(7). 171918099Spst 172018099Spst^L is now a legal input character. 172118099Spst 172218099SpstGroff 172318099Spst----- 172418099Spst 172518099SpstThe Xps pseudo-device has disappeared. Instead there is a new -X 172618099Spstoption that tells groff to use gxditview instead of the usual 172718099Spstpostprocessor. (So instead of -TXps, use -XTps or just -X if your 172818099Spstdefault device is ps.) 172918099Spst 173018099SpstThe postprocessor to be used for a particular device is now specified 173118099Spstby a `postpro' command in the DESC file rather than being compiled 173218099Spstinto groff. Similarly the command to be used for printing (with the 173318099Spst-l option) is now specified by a `print' command in the DESC file. 173418099Spst 173518099SpstThe groff command no longer specifies eqnchar as an input file for 173618099Spsteqn. Instead eqn automatically loads a file `eqnrc'. The groff 173718099Spstcommand no longer passes the -D option to eqn. Instead eqnrc sets the 173818099Spstdraw_lines parameter. 173918099Spst 174018099SpstThe groff command no longer tells troff to load a device-specific 174118099Spstmacro file. This is handled instead by the `troffrc' file, which is 174218099Spstalways loaded by troff. 174318099Spst 174418099SpstThe shell script version of groff has been removed. 174518099Spst 174618099SpstTroff 174718099Spst----- 174818099Spst 174918099SpstThe `rchar' request removes a character definition established with `char'. 175018099Spst 175118099SpstCompatibility mode is disabled and the escape character is set to `\' 175218099Spstwhile a character definition is being processed. 175318099Spst 175418099SpstThe `\#' escape sequence is like `\"' except that the terminating 175518099Spstnewline is ignored. 175618099Spst 175718099SpstThe `shc' request tells troff which character to insert (instead of 175818099Spstthe default \(hy) when a word is hyphenated at a line break. 175918099Spst 176018099SpstA font name of 0 (zero) in the DESC file will cause no font to be 176118099Spstmounted on the corresponding font position. This is useful for 176218099Spstarranging that special fonts are mounted on positions on which users 176318099Spstare not likely explicitly to mount fonts. All groff devices now avoid 176418099Spstinitially mounting fonts on positions 5-9. 176518099Spst 176618099SpstThe `do' request allows a single request or macro to be interpreted 176718099Spstwith compatibility mode disabled. 176818099Spst 176918099Spsttroff automatically loads a file `troffrc' before any other input file. 177018099SpstThis can be prevented with the -R option. This file is responsible 177118099Spstfor loading the device-specific macros. 177218099Spst 177318099SpstPic 177418099Spst--- 177518099Spst 177618099SpstThe -x option has been removed and a -n option has been added. By 177718099Spstdefault, pic now assumes that the postprocessor supports groff 177818099Spstextensions. The -n option tells pic to generate output that works 177918099Spstwith ditroff drivers. The -z option now applies only to TeX mode. 178018099Spst 178118099SpstThe -p option has been removed. Instead if the -n option is not 178218099Spstspecified, pic generates output that uses \X'ps: ...' if the \n(0p 178318099Spstregister is non-zero and tmac.ps sets this register to 1. 178418099Spst 178518099SpstIn places where you could 1st or 5th you can now say `i'th or `i+1'th 178618099Spst(the quotes are required). 178718099Spst 178818099SpstEqn 178918099Spst--- 179018099Spst 179118099SpstEqn now automatically reads a file `eqnrc' from the macro directory. 179218099SpstThis performs the same role that the eqnchar files used to. This can 179318099Spstbe prevented by the -R option. 179418099Spst 179518099SpstSetting the draw_lines parameter to a non-zero value causes lines to 179618099Spstbe drawn using \D rather than \l. The -D option is now obsolete. 179718099Spst 179818099Spst`uparrow', `downarrow' and `updownarrow' can be used with `left' and 179918099Spst`right'. 180018099Spst 180118099SpstThe amount of extra space added before and after lines containing 180218099Spstequations can be controlled using the `body_height' and `body_depth' 180318099Spstparameters. 180418099Spst 180518099SpstGrops 180618099Spst----- 180718099Spst 180818099SpstFont description files have been regenerated from newer AFM files. 180918099SpstYou can get access to the additional characters present in the text 181018099Spstfonts in newer PostScript printers by using -mpsnew. 181118099Spst 181218099SpstThe default value of the -b option is specified by a `broken' command 181318099Spstin the DESC file. 181418099Spst 181518099SpstWith the -g option, grops will generate PostScript code that guesses 181618099Spstthe page height. This allows documents to be printed on both letter 181718099Spst(8.5x11) and A4 paper without change. 181818099Spst 181918099SpstGrodvi 182018099Spst------ 182118099Spst 182218099SpstISO Latin-1 characters are available with -Tdvi. Format groff_char(7) 182318099Spstwith groff -Tdvi for more information. 182418099Spst 182518099SpstGrotty 182618099Spst------ 182718099Spst 182818099SpstThe -mtty-char macros contain additional character definitions for 182918099Spstuse with grotty. 183018099Spst 183118099SpstMacros 183218099Spst------ 183318099Spst 183418099SpstIn previous releases the groff -me macros treated the $r and $R number 183518099Spstregisters in a way that was incompatible with the BSD -me macros. The 183618099Spstreason for this was that the approach used by the BSD -me macros does 183718099Spstnot work with low resolution devices such as -TX75 and -TX100. 183818099SpstHowever, this caused problems with existing -me documents. In this 183918099Spstrelease, the vertical spacing is controlled by the $v and $V registers 184018099Spstwhich have the same meaning as $r and $R in earlier groff releases. 184118099SpstIn addition, if the $r or $R register is set to a value that would be 184218099Spstcorrect for for the BSD -me macros and a low resolution device is not 184318099Spstbeing used, then an appropriate value for the $v or $V register will 184418099Spstbe derived from the $r or $R register. 184518099Spst 184618099SpstThe groff -me macros work with -C and (I think) with Unix troff. 184718099Spst 184818099SpstFor backward compatibility with BSD -me, the \*{ and \*} strings are 184918099Spstalso available as \*[ and \*]. Of course, \*[ will only be usable 185018099Spstwith -C. 185118099Spst 185218099SpstThe \*T string has been deleted. Use \*(Tm instead. 185318099Spst 185418099SpstXditview 185518099Spst-------- 185618099Spst 185718099SpstThe `n', Space and Return keys are bound to the Next Page action. The 185818099Spst`p', BackSpace and Delete keys are bound to the Previous Page action. 185918099SpstThe `q' key is bound to the Quit action. 186018099Spst 186118099SpstThe `r' key is bound to a rerasterize action that reruns groff, and 186218099Spstredisplays the current page. 186318099Spst 186418099SpstVERSION 1.05 186518099Spst============ 186618099Spst 186718099SpstPic 186818099Spst--- 186918099Spst 187018099SpstThere is a alternative assignment operator `:=' which interacts 187118099Spstdifferently with blocks. 187218099Spst 187318099SpstThere is a new command `command', which allows the values of variables 187418099Spstto be passed through to troff or TeX. 187518099Spst 187618099SpstThe `print' command now accepts multiple arguments. 187718099Spst 187818099SpstString comparison expressions (using `==' or `!=') are allowed in more 187918099Spstcontexts. 188018099Spst 188118099SpstGrotty 188218099Spst------ 188318099Spst 188418099SpstHorizontal and vertical lines drawn with \D'l ...' will be rendered 188518099Spstusing -, | and + characters. This is intended to give reasonable 188618099Spstresults with boxed tables. It won't work well with pic. 188718099Spst 188818099SpstMacros 188918099Spst------ 189018099Spst 189118099SpstThe -mdoc macros have been upgraded to the version in the second 189218099SpstBerkeley networking release. This version is not completely 189318099Spstcompatible with earlier versions; the old version is still available 189418099Spstas -mdoc.old. The grog script has been enhanced so that it can 189518099Spstusually determine whether a document requires the old or new versions. 189618099Spst 189718099SpstWith -TX75, -TX100 and -TXps, the PSPIC macro will produce a box 189818099Spstaround where the picture would appear with -Tps. 189918099Spst 190018099SpstVERSION 1.04 190118099Spst============ 190218099Spst 190318099SpstAn implementation of the -mm macros is included. 190418099Spst 190518099SpstThe directory in which temporary files are created can be controlled 190618099Spstby setting the GROFF_TMPDIR or TMPDIR environment variables. 190718099Spst 190818099SpstPic 190918099Spst--- 191018099Spst 191118099SpstSome MS-DOS support (see pic/make-dos-dist). 191218099Spst 191318099SpstGrops 191418099Spst----- 191518099Spst 191618099SpstThere are two new \X commands (\X'ps: invis' and \X'ps: endinvis') 191718099Spstwhich make it possible to have substitute characters that are 191818099Spstdisplayed when previewing with -TXps but ignored when printing with 191918099Spstgrops. 192018099Spst 192118099SpstXditview 192218099Spst-------- 192318099Spst 192418099SpstSupport for scalable fonts. 192518099Spst 192618099SpstVERSION 1.03 192718099Spst============ 192818099Spst 192918099SpstNo changes other than bug fixes. 193018099Spst 193118099SpstVERSION 1.02 193218099Spst============ 193318099Spst 193418099SpstThere is an implementation of refer and associated programs. groff -R 193518099Spstpreprocesses with grefer; no mechanism is provided for passing 193618099Spstarguments to grefer because most grefer options have equivalent 193718099Spstcommands which can be included in the file. grog also supports refer. 193818099Spst 193918099SpstThere is an alternative perl implementation of the grog script. 194018099Spst 194118099SpstThe code field in lines in the charset section of font description 194218099Spstfiles is now allowed to contain an arbitrary integer (previously it 194318099Spstwas required to lie between 0 and 255). Currently grops and grodvi 194418099Spstuse only the low order 8 bits of the value. Grodvi will use the 194518099Spstcomplete value; however, this is unlikely to be useful with 194618099Spsttraditional TeX tools (.tfm files only allow 8 bit character codes.) 194718099Spst 194818099SpstLeft and right double quotes can be obtained with \(lq and \(rq 194918099Spstrespectively. 195018099Spst 195118099SpstThere is a new program called pfbtops which translates PostScript 195218099Spstfonts in pfb format to ASCII. 195318099Spst 195418099SpstA slightly modified version of the Berkeley tmac.doc is included. 195518099Spst 195618099SpstTroff 195718099Spst----- 195818099Spst 195918099SpstIn long escape names the closing ] is now required to be at the same 196018099Spstinput level as the opening [. 196118099Spst 196218099SpstThe \A'S' escape sequence returns 1 or 0 according as S is or is not 196318099Spstsuitable for use as a name. 196418099Spst 196518099Spst\~ produces an unbreakable space that can be stretched when the line 196618099Spstis adjusted. 196718099Spst 196818099SpstThe `mso' request is like the `so' request except that it searches for 196918099Spstthe file in the same directories in which tmac.X is searched for when 197018099Spstthe -mX option is given. 197118099Spst 197218099SpstThe escape sequence `\R' is similar to the `nr' request. 197318099Spst 197418099SpstEqn 197518099Spst--- 197618099Spst 197718099SpstA new `special' primitive allows you to add new types of unary 197818099Spstconstructs by writing a troff macro. 197918099Spst 198018099SpstPic 198118099Spst--- 198218099Spst 198318099SpstThe implementation no longer uses gperf. 198418099Spst 198518099SpstGrops 198618099Spst----- 198718099Spst 198818099SpstThe compile-time -DBROKEN_SPOOLER option has been replaced by a 198918099SpstBROKEN_SPOOLER_FLAGS option. This allows more precise control over 199018099Spsthow grops should workaround broken spoolers and previewers. There is 199118099Spsta new -b option that can change this at run-time. 199218099Spst 199318099SpstGrops now generates PostScript that complies with version 3.0 of the 199418099SpstDocument Structuring Convention. 199518099Spst 199618099SpstThe resource management component of grops (the part that deals with 199718099Spstimported documents and downloadable fonts) has been rewritten and now 199818099Spstsupports version 3.0 of the Document Structuring Conventions. The 199918099Spst%%DocumentFonts comment is no longer supported; you must use the 200018099Spst%%Document{Needed,Supplied}{Fonts,Resources} comments instead 200118099Spst(or as well.) 200218099Spst 200318099Spsttmac.psatk contains some macros that support the mechanism used by the 200418099SpstAndrew Toolkit for including PostScript graphics in troff documents. 200518099Spst 200618099SpstXditview 200718099Spst-------- 200818099Spst 200918099SpstParts of xditview have been rewritten so that it can be used with the 201018099Spstoutput of gtroff -Tps. groff -TXps will run gtroff -Tps with 201118099Spstgxditview. 201218099Spst 201318099SpstThere is a new menu entry `Print' which brings up a dialog box for 201418099Spstspecifying a command with which the file being previewed should be 201518099Spstprinted. 201618099Spst 201718099SpstXditview now uses imake. 201818099Spst 201918099SpstVERSION 1.01 202018099Spst============ 202118099Spst 202218099SpstThe groff command now understands the gtroff `-a' and `-i' options. 202318099Spst 202418099SpstWith the `m' and `n' scale indicators, the scale factor is rounded 202518099Spsthorizontally before being applied. This makes (almost) no difference 202618099Spstfor devices with `hor' equal to 1, but it makes groff with -Tascii or 202718099Spst-Tlatin1 behave more like nroff in its treatment of these scale 202818099Spstindicators. Accordingly tmac.tty now calls the `nroff' request so 202918099Spstthat the `n' condition will be true. 203018099Spst 203118099SpstThe device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) 203218099Spsthave been made to work at least somewhat with -C. In particular the 203318099Spstspecial characters defined by these macros now work with -C. 203418099Spst 203518099Spstgroff -Tdvi -p will now pass pic the -x flag; this will enable filling 203618099Spstof arrowheads and boxes, provided that your dvi driver supports the 203718099Spstlatest version of the tpic specials. 203818099Spst 203918099SpstEqn 204018099Spst--- 204118099Spst 204218099SpstThere is a new `-N' option that tells eqn not to allow newlines in 204318099Spstdelimiters. This allows eqn to recover better from missing closing 204418099Spstdelimiters. The groff command will pass on a `-N' option to eqn. 204518099Spst 204618099SpstGrops 204718099Spst----- 204818099Spst 204918099SpstYou can now use psfig with grops. See the file ps/psfig.diff. I do 205018099Spstnot recommend using psfig for new documents. 205118099Spst 205218099SpstThe command \X'ps: file F' is similar to \X'ps: exec ...' except that 205318099Spstthe PostScript code is read from the file F instead of being contained 205418099Spstwithin the \X command. This was added to support psfig. 205518099Spst 205618099SpstGrodvi 205718099Spst------ 205818099Spst 205918099SpstThere are font files HB and HI corresponding to cmsssbx10 and cmssi10. 206018099Spst 206118099SpstMacros 206218099Spst------ 206318099Spst 206418099SpstThe groff -me macros now work with the -C option. As a result, they 206518099Spstmay also work with Unix nroff/troff. 206618099Spst 206718099SpstIn -me, the $r and $R number registers now contain the line spacing as 206818099Spsta percentage of the pointsize expressed in units (normally about 120). 206918099SpstThe previous definition was useless with low resolution devices such 207018099Spstas X75 and X100. 207118099Spst 207218099SpstVERSION 1.00 207318099Spst============ 207418099Spst 207518099SpstA -ms-like macro-package is now included. 207618099Spst 207718099SpstThe name for the Icelandic lowercase eth character has been changed 207818099Spstfrom \(-d to \(Sd. 207918099Spst 208018099SpstTroff 208118099Spst----- 208218099Spst 208318099SpstThere is a new request `nroff', which makes the `n' built-in condition 208418099Spsttrue and the `t' built-in condition false; also a new request `troff' 208518099Spstwhich undoes the effect of the `nroff' request. This is intended only 208618099Spstfor backward compatibility: it is usually better to test \n(.H or 208718099Spst\n(.V or to use the `c' built-in condition. 208818099Spst 208918099SpstThe \R escape sequence has been deleted. Use \E instead. 209018099Spst 209118099SpstThere are `break' and `continue' requests for use with the `while' 209218099Spstrequest. 209318099Spst 209418099SpstThere is a request `hym' that can ensure that when the current 209518099Spstadjustment mode is not `b' a line will not be hyphenated if it is no 209618099Spstmore than a given amount short, and a request `hys' that can ensure 209718099Spstthat when the current adjustment mode is `b' a line will not be 209818099Spsthyphenated if it can be justified by adding no more than a given 209918099Spstamount of extra space to each word space. 210018099Spst 210118099SpstThere is a request `rj' similar to `ce' that right justifies lines. 210218099Spst 210318099SpstA warning of type `space' will be given when a call is made to an 210418099Spstundefined request or macro with a name longer than two characters, and 210518099Spstthe first two characters of the name make a name that is defined. 210618099SpstThis is intended to find places where a space has been omitted been a 210718099Spstrequest or macro and its argument. This type of warning is enabled by 210818099Spstdefault. 210918099Spst 211018099SpstPic 211118099Spst--- 211218099Spst 211318099SpstA comma is permitted between the arguments to the `reset' command. 211418099Spst 211518099SpstFor use with TeX, there is a new `-c' option that makes gpic treat 211618099Spstlines beginning with `.' in a way that is more compatible with tpic 211718099Spst(but ugly). 211818099Spst 211918099SpstEqn 212018099Spst--- 212118099Spst 212218099SpstIt is no longer necessary to add `space 0' at the beginning of 212318099Spstcomplicated equations inside pictures. 212418099Spst 212518099Spst`prime' is now treated as an ordinary character, as in Unix eqn. The 212618099Spstprevious behaviour of `prime' as an operator can now be obtained using 212718099Spst`opprime'. 212818099Spst 212918099SpstXditview 213018099Spst-------- 213118099Spst 213218099SpstThere are two new devices X75-12 and X100-12 which are the same as X75 213318099Spstand X100 except that they are optimized for documents that use mostly 213418099Spst12 point text. 213518099Spst 213618099SpstVERSION 0.6 213718099Spst=========== 213818099Spst 213918099SpstThe installation process has been refined to make it easy for you to 214018099Spstshare groff with someone who has the same type of machine as you but 214118099Spstdoes not have a C++ compiler. See the end of the INSTALL file for 214218099Spstdetails. 214318099Spst 214418099SpstThere is a man page for the tfmtodit program which explains how to use 214518099Spstyour own fonts with groff -Tdvi. 214618099Spst 214718099SpstThere is a man page for afmtodit which explains how to use your own 214818099SpstPostScript fonts with groff -Tps. 214918099Spst 215018099SpstThe \N escape sequence is now fully supported. It can now be used to 215118099Spstaccess any character in a font by its output code, even if it doesn't 215218099Spsthave a groff name. This is made possible by a convention in the font 215318099Spstfiles that a character name of `---' refers to an unnamed character. 215418099SpstThe drivers now all support the `N' command required for this. The font 215518099Spstdescription files have been updated to include unnamed characters. 215618099Spst 215718099SpstThe `x' command in font description files has been removed: instead 215818099Spstany unknown commands are automatically made available to the drivers. 215918099SpstIf you constructed your own font files with an earlier version of 216018099Spsttfmtodit or afmtodit, you must construct them again using the current 216118099Spstversion. 216218099Spst 216318099SpstCharacters between 0200 and 0237 octal are no longer legal input 216418099Spstcharacters. Note that these are not used in ISO 8859. 216518099Spst 216618099SpstA command called `grog' has been added, similar to the `doctype' 216718099Spstcommand described in Kernighan and Pike. 216818099Spst 216918099SpstGroff 217018099Spst----- 217118099Spst 217218099SpstThe groff command has some new options: -V prints the pipeline 217318099Spstinstead of executing it; -P passes an argument to the postprocessor, 217418099Spst-L passes an argument to the spooler. 217518099Spst 217618099SpstThere is a C++ implementation of the groff command. This handles some 217718099Spstthings slightly better than the shell script. In particular, it can 217818099Spstcorrectly handle arguments containing characters that have a special 217918099Spstmeaning to the shell; it can give an error message when child 218018099Spstprocesses other than the last in the pipeline terminate abnormally; 218118099Spstits exit status can take account of the exit statuses of all its child 218218099Spstprocesses; it is a little more efficient; when geqn is used, it 218318099Spstsearches for the eqnchar file in the same way that font metric files 218418099Spstare searched for, rather than expecting to find it in one particular 218518099Spstdirectory. 218618099Spst 218718099SpstGtroff 218818099Spst------ 218918099Spst 219018099SpstThere is font translation feature: For example, you can tell gtroff to 219118099Spstuse font `HR' whenever font `H' is requested with the line 219218099Spst .ftr H HR 219318099SpstThis would be useful for a document that uses `H' to refer to 219418099SpstHelvetica. 219518099Spst 219618099SpstThere are some new number registers: `.kern' contains the current kern 219718099Spstmode, `.lg' the current ligature mode, `.x' the major version number, 219818099Spst`.y' the minor version number, `.ce' the number of lines to be 219918099Spstcentered in the current environment, `.trunc' the amount of vertical 220018099Spstspace truncated by the most recently sprung vertical position trap, 220118099Spst`.ne' the amount of vertical space needed in the last `ne' request 220218099Spstthat caused a vertical position trap to be sprung. 220318099Spst 220418099SpstThe `cf' request now behaves sensibly in a diversion. If used in a 220518099Spstdiversion, it will now arrange for the file to be copied to the output 220618099Spstwhen the diversion is reread. 220718099Spst 220818099SpstThere is a new request `trf' (transparent file) similar to `cf', but 220918099Spstmore like `\!'. 221018099Spst 221118099SpstThere is a new escape sequence `\Y[xxx]', roughly equivalent to 221218099Spst`\X'\*[xxx]'', except that the contents of string or macro xxx are not 221318099Spstinterpreted, and xxx may contain newlines. This requires an output 221418099Spstformat extension; the drivers have been modified to understand this. 221518099SpstGrops has also been modified to cope with newlines in the arguments to 221618099Spst\X commands; grops has a new \X command mdef, which is like def except 221718099Spstthat it has a first argument giving the number of definitions. 221818099Spst 221918099SpstThere is a new warning category `escape' which warns about unknown 222018099Spstescape sequences. 222118099Spst 222218099SpstThe `fp' request now takes an optional third argument giving the external 222318099Spstname of the font. 222418099Spst 222518099SpstThe `\_' character is now automatically translated to `\(ul' as in troff. 222618099Spst 222718099SpstThe environment variable `GROFF_HYPHEN' gives the name of the file 222818099Spstcontaining the hyphenation patterns. 222918099Spst 223018099SpstThere is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. 223118099Spst 223218099SpstCharacters ", ', ), ], *, \(dg are now initially transparent for the purposes 223318099Spstof end of sentence recognition. 223418099Spst 223518099SpstThere is an anti-recursion feature in the `char' request, so you can 223618099Spstsay `.char \(bu \s+2\(bu\s-2'. 223718099Spst 223818099SpstThe limit on the number of font positions has been removed. 223918099SpstAccordingly `\n[.fp]' never returns 0. 224018099Spst 224118099SpstThe restriction on the number of numbered environments has been removed. 224218099Spst 224318099SpstThere is a new escape sequence `\E' that makes it possible to 224418099Spstguarantee that an escape sequence won't get interpreted in copy-mode. 224518099SpstThe `\R' escape sequence is accordingly now deprecated. 224618099Spst 224718099SpstGpic 224818099Spst---- 224918099Spst 225018099SpstArguments of the form `X anything X' (in the `copy thru', `sh', `for', 225118099Spst`if' and `define' constructs) can now be of the form `{ anything }'. 225218099Spst 225318099SpstIf the `linethick' variable is negative (as it now is initially), 225418099Spstlines will be drawn with a thickness proportional to the current point 225518099Spstsize. 225618099Spst 225718099SpstThe `rand' function now takes no arguments and returns a number between 225818099Spst0 and 1. The old syntax is still supported. 225918099Spst 226018099Spst`^' can be used in expressions to indicate exponentiation. 226118099Spst 226218099SpstIn the `for' construct the argument to the by clause can be prefixed 226318099Spstby `*' to indicate that the increment is multiplicative. 226418099Spst 226518099SpstA bare expression may be used as an attribute. If the current 226618099Spstdirection is `dir', then an attribute `expr' is equivalent to 226718099Spst`dir expr' 226818099Spst 226918099SpstThere is a `sprintf' construct that allows numbers to be formatted and used 227018099Spstwherever a quoted string can be used. 227118099Spst 227218099SpstThe height of a text object without an explicit height attribute is 227318099Spstthe number of text strings associated with the object times the value 227418099Spstof the `textht' variable. 227518099Spst 227618099SpstThe maximum height and width of a picture is controlled by the 227718099Spst`maxpswid' and `maxpsht' variables. 227818099Spst 227918099SpstGtbl 228018099Spst---- 228118099Spst 228218099SpstGtbl can now handle gracefully the situation where the `ce' request 228318099Spsthas been applied to a table. 228418099Spst 228518099SpstGeqn 228618099Spst---- 228718099Spst 228818099SpstThe `ifdef' primitive has been generalized. 228918099Spst 229018099SpstA tilde accent can be put underneath a box using `utilde'. This 229118099Spstdefined using a general `uaccent' primitive. 229218099Spst 229318099SpstGrops 229418099Spst----- 229518099Spst 229618099SpstThere is a new PostScript font downloading scheme which handles font 229718099Spstdownloading for imported illustrations. Previously, the name of the 229818099Spstfile containing the font was given in the `x download' line in the 229918099Spstgroff font metric file. Now, there is a `download' file which says 230018099Spstfor each PostScript font name which file contains that font. Grops 230118099Spstcan also now handle inter-font dependencies, where one downloadable 230218099Spstfont depends on some other (possibly downloadable) font. 230318099Spst 230418099SpstThe `T' font has been removed. The characters it used to provide are 230518099Spstnow provided by `char' definitions in tmac.ps. TSymbol.ps has also 230618099Spstbeen removed, and the tweaks it provided are now provided by `char' 230718099Spstdefinitions. 2308