NEWS revision 104862
1This file describes recent user-visible changes in groff. Bug fixes are not 2described. There are more details in the man and info pages. 3 4VERSION 1.18.1 5============== 6 7Troff 8----- 9 10o The non-slanted PostScript font definition files have been regenerated to 11 include left and right italic correction values. Applying those to a glyph 12 (this is, prepending the glyph with `\,' and appending `\/' to the glyph) 13 sets the glyph width to the real value given by the horizontal bounding 14 box values. Without those escapes, the advance width for the particular 15 glyph is used (which can differ considerably). 16 17 Most users will neither need this feature nor notice a difference in 18 existing documents (provided \, and \/ is used as advertised, namely for 19 italic fonts only); its main goal is to improve image generation with 20 grohtml. 21 22 This is an experimental change, and feedback is welcome. 23 24Tbl 25--- 26 27o Added global option `nospaces' to ignore leading and trailing spaces in 28 data items. 29 30Grolbp 31------ 32 33o The option -w (--linewidth) has been added (similar to other device 34 drivers) to set the default line width. 35 36Grn 37--- 38 39o Support for b-spline and Bezier curves has been added. 40 41Groffer 42------- 43 44o New option `--shell' to select the shell under which groffer shall run. 45 46Macro Packages 47-------------- 48 49o The string `Am' (producing an ampersand) has been added to mdoc for 50 compatibility with NetBSD. 51 52o `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit) 53 instead. 54 55o In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal 56 and vertical movements; please refer to contrib/mom/NEWS for more 57 details. 58 59o New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers. 60 61Miscellaneous 62------------- 63 64o The `papersize' keyword in the DESC file now accepts multiple arguments. 65 It is scanned from left to the right, and the first valid argument is 66 used. This makes it possible to provide a fallback paper size. 67 68 Example: 69 70 papersize /etc/papersize a4 71 72o A local font directory has been prepended to the default font path; it 73 defaults to /usr/local/share/groff/site-font. Similar to the normal 74 font searching process, files must be placed into a devXXX subdirectory, 75 e.g. 76 77 /usr/local/share/groff/site-font/devps/FOO 78 79 for a PostScript font definition file FOO. 80 81 82VERSION 1.18 83============ 84 85*************************************************************************** 86* * 87* PLEASE READ THE CHANGES BELOW REGARDING GROTTY, GROFF'S TTY FRONTEND. * 88* * 89*************************************************************************** 90 91Troff 92----- 93 94o Color support has been added to troff and pic (and to the device drivers 95 grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will 96 follow). A new function `defcolor' defines colors; the escape sequence 97 `\m' sets the drawing color, the escape sequence `\M' specifies the 98 background color for closed objects created with \D'...' commands. 99 `\m[]' and `\M[]' switch back to the previous color. `\m' and `\M' 100 correspond to the new troff output command sets starting with `m' and 101 `DF'. The device-specific default color is called `default' and can't be 102 redefined. 103 104 Use the `color' request to toggle the usage of colors (default is on); the 105 read-only register `.color' is 0 if colors are not active, and non-zero 106 otherwise. 107 108 The old `Df' output command is mapped onto `DFg'; all color output 109 commands don't change the current font position (consequently, `Df' 110 doesn't either). 111 112 Outputting color can be disabled in troff and groff with the option -c 113 (it is always disabled in compatibility mode). See the section on grotty 114 for the GROFF_NO_SGR environment variable also. 115 116 For defining color components as fractions between 0 and 1, a new scaling 117 indicator `f' has been introduced: 1f = 65536u. For testing whether a 118 color is defined (with .if and .ie), a new conditional operator `m' is 119 available. 120 121 More details can be found in the groff_diff.7 manual page and in 122 groff.texinfo. 123 124o Similar to \m and \M, \f[] switches back to the previous font. \fP 125 (and \f[P]) is still valid for backwards compatibility. 126 127o The new escape \F is the same as `.fam'; \F[] switches back to previous 128 family -- \F[P] selects family `P'. 129 130o Two new glyph symbols are available: `eu' is the official Euro symbol; 131 `Eu' is a font-specific glyph variant. 132 133o The new glyph symbols `t+-', `tdi', and `tmu' are textual variants of 134 `+-', `di', and `mu', respectively. 135 136o Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has 137 got the troff glyph name `mc'. 138 139o -Tutf8 is now available on EBCDIC hosts. 140 141o Strings can take arguments, using this syntax: \*[foo arg1 arg2 ...]. 142 Example: 143 144 .ds xxx This is a \\$1 test. 145 \*[xxx nice] 146 147o It is now possible to have whitespace between the first and second dot (or 148 the name of the ending macro) to end a macro definition. Example: 149 150 .de ! 151 .. 152 . 153 .de foo 154 . nop Hello, I'm `foo'. 155 . nop I will now define `bar'. 156 . de bar ! 157 . nop Hello, I'm `bar'. 158 . ! 159 .. 160 161o `.fn' is a new string-valued register which returns the (internal) real 162 font name; styles and families are properly concatenated. 163 164o Three new read/write registers `seconds', `minutes', and `hours' contain 165 the current time, set at start-up of troff. Use the `af' request to 166 control their output format. 167 168o The new request `fchar' can be used to provide fallback characters. It 169 has the same syntax as the `char' request; the only difference is that a 170 character defined with `.char' hides the glyph with the same name in the 171 current font, whereas a character defined with `.fchar' is checked only if 172 the particular glyph isn't found in the current font. This test happens 173 before checking special fonts. 174 175o In analogy to the `tmc' request, `.writec' is the same as `.write' but 176 doesn't emit a final newline. 177 178o The new request `itc' is a variant of `.it' for which a line interrupted 179 with \c counts as one input line. 180 181o Two new requests `ds1' and `as1' which are similar to `ds' and `as' but 182 with compatibility mode disabled during expansion of strings defined by 183 them. 184 185o The syntax of the `substring' request has been changed: The first 186 character in a string now has index 0, the last character has index -1. 187 Note that this is an incompatible change. 188 189o To emit strings directly to the intermediate output, a new `output' 190 request has been added; it is similar to `\!' used at the top level. 191 192o `.hpf' has been extended. It can now handle most TeX hyphenation 193 pattern files without modification. To do that, the commands \patterns, 194 \hyphenation, and \endinput are recognized. Please refer to groff_diff.7 195 for more information. 196 197o `hpfcode' is a new request to provide an input encoding mapping for the 198 `hpf' request. 199 200o The new request `hpfa' appends hyphenation patterns (`hpf' replaces 201 already existing patterns). 202 203o A new request `ami' (append macro indirect) has been added. The first and 204 second parameter of `ami' are taken from string registers rather than 205 directly; this very special request is needed to make `trace.tmac' 206 independent from the escape character (which might even be disabled). 207 208o The new request `sizes' is similar to the `sizes' command in DESC files. 209 It expects the same syntax; the data must be on a single line, and the 210 final `0' can be omitted. 211 212o `trin' (translate input) is a new request which is similar to `tr' with 213 the exception that the `asciify' request will use the character code (if 214 any) before the character translation. Example: 215 216 .trin ax 217 .di xxx 218 a 219 .br 220 .di 221 .xxx 222 .trin aa 223 .asciify xxx 224 .xxx 225 226 The result is `x a'. Using `tr', the result would be `x x'. 227 228o The request `pvs' isn't new, but hasn't been documented before. It 229 adds vertical space after a line has been output. This makes it an 230 alternative to the `ls' request to produce double-spaced documents. 231 The read-only register `.pvs' holds the current amount of the 232 post-vertical line space. 233 234o For compatibility with plan 9's troff, multiple `pi' requests are 235 supported: 236 237 .pi foo 238 .pi bar 239 240 is now equivalent to 241 242 .pi foo | bar 243 244o A new escape sequence `\O' is available to disable and enable glyph 245 output. Please see groff_diff.7 and groff.texinfo for more details. 246 247o The escapes `\%', `\&', `\)', and `\:' no longer cause an error in \X; 248 they are ignored now. Additionally `\ ' and `\~' are converted to 249 single space characters. 250 251o The default tab distance in nroff mode is now 0.8i to be compatible 252 with UNIX troff. 253 254o Using the latin-1 input character 0xAD (soft hyphen) for the `shc' 255 request was a bad idea. Instead, it is now translated to `\%', and 256 the default hyphenation character is again \[hy]. Note that the glyph 257 \[shc] is not useful for typographic purposes; it only exists to have 258 glyph names for all latin-1 characters. 259 260Macro Packages 261-------------- 262 263o Peter Schaffter <df191@ncf.ca> has contributed a new major macro package 264 called `mom', mainly for non-scientific writers, which takes care of 265 many typographic issues. It comes with a complete reference (in HTML 266 format) and some examples. `mom' has been designed to format documents 267 for PostScript output only. 268 269o Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to 270 the man macros for compatibility with older BSD releases. 271 272o Both the man and mdoc macro packages now use the LL and LT registers for 273 setting the line and title length, respectively (similar to those 274 registers in the ms macro package). If not set on the command line or 275 in a macro file loaded before the macro package itself, they default to 276 78n in nroff mode and 6.5i in troff mode. 277 278o The `-xwidth' specifier in the mdoc macro package has been removed. Its 279 functionality is now integrated directly into `-width'. Similarly, 280 `-column' has been extended to provide this functionality also. 281 282o A new macro `Ex' has been added to the mdoc macro package to document an 283 exit status. 284 285o The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is 286 now automatically loaded for -Tdvi), using a dvips special to load the EPS 287 file. 288 289o The trace.tmac package now traces calls to `am' also. Additionally, it 290 works in compatibility mode. 291 292o `troff.1' has been split. Differences to UNIX troff are now documented 293 in the new man page `groff_diff.7'. 294 295o `groff_mwww.7' has been renamed to `groff_www.7'. The file mwww.tmac 296 has been removed. 297 298o `groff_ms.7' has been completely rewritten. It now contains a complete 299 reference to the ms macros. 300 301o `groff_trace.7' documents the trace macro package. 302 303o Changes in www.tmac: 304 305 Note that HTML support is still in alpha change, so it is rather likely 306 that both macro names and macro syntax will change. Some of the macros 307 mentioned below aren't really new but haven't been documented properly 308 before. 309 310 The following macros have been renamed: 311 312 MAILTO -> MTO 313 IMAGE -> IMG 314 LINE -> HR 315 316 For consistency, the macros `URL', `FTL', and `MTO' now all have the 317 address as the first parameter followed by the description. 318 319 By default, grohtml generates links to all section headings at the top 320 of the document. Use the new `LK' macro to specify a different place. 321 322 For specifying the background color and a background image, use the 323 new macros `BCL' and `BGIMG', respectively. 324 325 The macro `NHR' has been added; it suppresses the generation of top and 326 bottom rules which grohtml emits by default. 327 328 The new macro `HX' determines the cut-off point for automatic link 329 generation to headings. 330 331 The image position parameter names in `IMG' have been changed to `-L', 332 `-R', and `-C'. 333 334 New macro `PIMG' for inclusion of a PNG image (it will automatically 335 convert it into an EPS file if not -Thtml is used). 336 337 New macro `MPIMG' for putting a PNG image into the left or right margin 338 (it will automatically convert it into an EPS file if not 339 -Thtml is used). 340 341 New macros `HnS', `HnE' to start and end a header line block. 342 343 New macro `DC' to produce dropcap characters. 344 345 New macro `HTL' to generate an HTML title line only but no H1 heading. 346 347 New macros `ULS' and `ULE' to start and end an unordered list. The new 348 macro `LI' inserts a list item. 349 350Groff 351----- 352 353o The new command line option `-c' disables color output (which is always 354 disabled in compatibility mode). 355 356Nroff 357----- 358 359o Two new command line options `-c' and `-C'; the former passes `-c' to 360 grotty (switching to the old output scheme); the latter passes `-C' to 361 groff (enabling compatibility mode). 362 363Pic 364--- 365 366o New keywords `color' (or `colour', `colored', `coloured'), `outline' (or 367 `outlined'), and `shaded' are available. `outline' sets the color of the 368 outline, `shaded' the fill color, and `color' sets both. Example: 369 370 circle shaded "green" outline "black" ; 371 372 Filled arrows always use the outline color for filling. 373 374 Color support for TeX output is not implemented yet. 375 376Pic2graph 377--------- 378 379o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It 380 converts a PIC diagram into a cropped image. Since it uses gs and the PNM 381 library, virtually all graphics formats are available for output. 382 383Eqn2graph 384--------- 385 386o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It 387 converts an EQN diagram into a cropped image. Since it uses gs and the PNM 388 library, virtually all graphics formats are available for output. 389 390Groffer 391------- 392 393o A new script contributed by Bernd Warken <bwarken@mayn.de>. It displays 394 groff files and man pages on X and tty, taking care of most parameters 395 automatically. 396 397Grog 398---- 399 400o Documents using the mom macro package are recognized. 401 402Grops 403----- 404 405o Color support has been added. 406 407o A new option `-p' is available to select the output paper size. It has 408 the same syntax as the new `papersize' keyword in the DESC file. 409 410Grodvi 411------ 412 413o By default, font sizes are now available in the range 5-10000pt, similar 414 to PS fonts. If you want the old behaviour (i.e., font sizes at discrete 415 values only), insert the following at the start of your document: 416 417 .if '\*[.T]'dvi' \ 418 . sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \ 419 1728 1800 2000 2074 2200 2400 2488 2800 3600 420 421o A new font file HBI (using cmssbxo10; this is slanted sans serif bold 422 extended) has been added. 423 424o Two font families are now available: `T' and `H'. 425 426o EC and TC fonts have been integrated. Use `-mec' (calling the file 427 ec.tmac) to switch to them. Those fonts give a much better coverage of 428 the symbols defined by groff than the CM fonts. 429 430 Note that ec.tmac must be called before any language-specific files; it 431 doesn't take care of hcode values. 432 433o Color support has been added. For drawing commands, colors are translated 434 to gray values currently. 435 436Grotty 437------ 438 439o Color support has been added, using the SGR (ISO 6429, sometimes called 440 ANSI color) escape sequences. 441 442o SGR escape sequences are now used by default for underlining and bold 443 printing also, no longer using the backspace character trick. To revert 444 to the old behaviour, use the `-c' switch. 445 446 Note that you have to use the `-R' option of `less' to make SGR escapes 447 display correctly. On the other hand, terminal programs and consoles like 448 `xterm' which support SGR sequences natively can directly display the 449 output of grotty. Consequently, the options `-b', `-B', `-u', and `-U' 450 work only in combination with `-c' and are ignored silently otherwise. 451 452 For the `man' program, it may be necessary to add the `-R' option of 453 `less' to the $PAGER environment variable; alternatively, you can use 454 `man's `-P' option (or adapt its configuration file accordingly). See 455 man(1) for more details. 456 457o If the environment variable GROFF_NO_SGR is set, SGR output is disabled, 458 reverting to the old behaviour. 459 460o A new special \X'tty: sgr n' has been added; if n is non-zero or missing, 461 enable SGR output (the default). 462 463o If the new option `-i' is used (only in SGR mode), grotty sends escape 464 sequences to set the italic font attribute instead of the underline 465 attribute for italic fonts. Note that many terminals don't have support 466 for this (including xterm). 467 468Grohtml 469------- 470 471o Color support for glyphs has been added. 472 473o New option `-h' to select the style of headings in HTML output. 474 475o New option `-b' to set the background colour to white. 476 477o New options `-a' and `-g' to control the number of bits for anti-aliasing 478 used for text and graphics, respectively. Default value is 4; 0 means 479 no anti-aliasing. 480 481o groff character/glyph entities now map onto HTML 4 character entities. 482 483Grolbp 484------ 485 486o Valid paper sizes are now specified as with the new `papersize' keyword 487 in the DESC file. Specifically, the old custom paper type format 488 `custAAAxBBB' is no longer supported. 489 490Miscellaneous 491------------- 492 493o A new manual page `ditroff.7' is available. 494 495o The groff texinfo manual will now be installed, together with a bunch 496 of examples. 497 498o A new keyword `papersize' has been added to the DESC file format. Its 499 argument is either 500 501 . a predefined paper format (e.g. `A4' or `letter') 502 503 . a file name pointing to a file which must contain a paper size 504 specification in its first line (e.g. `/etc/papersize') 505 506 . a custom paper size definition like `35c,4i' 507 508 See groff_font(5) for more details. This keyword only affects the 509 physical dimensions of the output medium; grops, grolj4, and grolbp use it 510 currently. troff completely ignores it. 511 512VERSION 1.17.2 513============== 514 515This is major bug-fixing release which should replace 1.17.1. 516 517Troff 518----- 519 520o The `IMAGE' macro in www.tmac has changed: Now the optional 2nd parameter 521 gives the horizontal image location (left, centered, or right), and the 522 optional 3rd and 4th parameter the image dimensions. 523 524VERSION 1.17.1 525============== 526 527This is mainly a bug-fixing release. 528 529Troff 530----- 531 532o Two new requests `de1' and `am1' which are similar to `de' and `am' but 533 with compatibility mode disabled during expansion of macros defined by 534 them. 535 536o Added request `brp'. This is the same as `\p'. 537 538o Similar to other versions of troff, the `ns' request now works in all 539 diversions, not only in the top-level one. 540 541o New read-only number register `.ns'. Returns 1 if in no-space mode, 542 0 otherwise. 543 544Nroff 545----- 546 547o Options -p (pic) and -t (tbl) added. 548 549o The environment variable GROFF_BIN_PATH is now checked before PATH for 550 finding groff. 551 552Grohtml 553------- 554 555o New option `-D dir' to specify a directory in which all images are placed. 556 557o New option `-I stem' to specify an image name stame. If not given, 558 `grohtml-XXX' is used (`XXX' is the process ID). 559 560VERSION 1.17 561============ 562 563Groff 564----- 565 566o `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The 567 old behaviour has been changed to overcome problems with platforms which 568 have an 8+3 file name limit, and platforms which have other versions of 569 troff installed also. Additionally, all macro files have been renamed 570 using the latter scheme to avoid 8+3 name clashes. 571 572o The new environment variable GROFF_BIN_PATH is checked for programs groff 573 is calling (preprocessors, troff, and output devices) before PATH. If not 574 set, it defaults to the directory where the groff binary is located. 575 Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH 576 to find the groff binary but passes both the GROFF_BIN_PATH and PATH 577 environment variables to groff. 578 579Troff 580----- 581 582o The mdoc package has been completely rewritten, using the full power of 583 GNU troff to remove limitations of Unix troff (which is no longer 584 supported). Most important changes are: 585 586 . No argument limit 587 . Almost all macros are parsed and callable (if it makes sense) 588 . `.Lb': prints library names 589 . `.Nm <punctuation>' now works as expected; `.Nm "" <punctuation>' has 590 been withdrawn 591 . Updated `.St' command 592 . `.Fx': prints FreeBSD 593 . `.Ox': prints OpenBSD 594 . `.Bsx': prints BSD/OS 595 . `.Brq', `.Bro', `.Brc': brace enclosure macros 596 . `.Bd -centered': center lines 597 . `.Bl -xwidth <string>': interpret <string> and use the resulting width 598 . Support for double-sided printing (-rD1 command line switch) 599 . Support for 11pt and 12pt document sizes (-rS11, -rS12 command line 600 switches) 601 602 `groff_mdoc.7' replaces `groff_mdoc.samples.7'; it now completely 603 documents the mdoc package. 604 605 Great care has been taken to assure backwards compatibility. If you 606 encounter any abnormal results, please report them to bug-groff@gnu.org. 607 608o A new command line option for the `man' macros (similar to the `mdoc' 609 package) has been implemented: `-rcR=1' (now the default in nroff mode) 610 produces one single, very long page instead of multiple pages. `-rcR=0' 611 deactivates it. 612 613o The `return' request has been added to return immediately from a macro. 614 615o A new request `nop' (no operation) has been added which is similar to 616 `if 1'. For example, 617 618 .if t \{\ 619 Hallo! 620 .\} 621 622 can now be written as 623 624 .if t \{\ 625 . nop Hallo! 626 .\} 627 628o `box' and `boxa' are two new requests which behave similarly to `di' and 629 `da' but don't include a partially filled line (which is restored after 630 ending the diversion). 631 632o The `asciify' request has been extended to `unformat' space characters 633 and some other escape sequences also. 634 635 `\ ' is no longer unformatted as a space but remains an unpaddable, 636 unbreakable space character. 637 638o The new `unformat' request is similar to `asciify' but only handles space 639 characters and tabs specially if the diversion is reread, retaining font 640 information. This makes it possible to reformat diversions; for example 641 the following 642 643 .ll 3i 644 . 645 a01 a02 a03 a04 a05 a06 a07 a08 a09 a10. 646 . 647 .box box1 648 .ev 1 649 .nf 650 \f[B]b01 b02 b03 b04 b05 b06 b07 b08 b09 b10.\f[P] 651 .br 652 .ev 653 .box 654 . 655 c01 c02 c03 c04 c05 c06 c07 c08 c09 c10. 656 . 657 .unformat box1 658 .box1 659 660 gives 661 662 a01 a02 a03 a04 a05 a06 a07 663 a08 a09 a10. c01 c02 c03 c04 664 c05 c06 c07 c08 c09 c10. b01 665 b02 b03 b04 b05 b06 b07 b08 666 b09 b10. 667 668 Without the `unformat' request, space characters are converted to word 669 space nodes which are no longer stretchable, and the result would be 670 671 a01 a02 a03 a04 a05 a06 a07 672 a08 a09 a10. c01 c02 c03 c04 673 c05 c06 c07 c08 c09 c10. b01 674 b02 b03 b04 b05 b06 b07 b08 675 b09 b10. 676 677o The new request `linetabs' controls the `line-tabs' mode. In line-tabs 678 mode, tab distances are computed relative to the (current) output line. 679 Otherwise they are taken relative to the input line. For example, the 680 following 681 682 .ds x a\t\c 683 .ds y b\t\c 684 .ds z c 685 .ta 1i 3i 686 \*x 687 \*y 688 \*z 689 690 yields 691 692 a b c 693 694 In line-tabs mode, the same code gives 695 696 a b c 697 698 The new read-only number register `.linetabs' returns 1 if in line-tabs 699 mode, and 0 otherwise. 700 701o Two new requests `tm1' and `tmc' have been added to improve writing 702 messages to the terminal. `tm1' is similar to `tm' but allows leading 703 whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline. 704 705o For compatibility with sqtroff, the request `output' has been added. 706 The behaviour is similar to `\!' at the top-level, that is, it directly 707 inserts its argument into the intermediate output format. The syntax 708 is similar to .tm1, allowing leading whitespace. 709 710o The new `spreadwarn' request will make troff warn if spaces in an output 711 line are widened by a given limit or more. 712 713o Use `warnscale' to change the scaling indicator troff will use for 714 warning messages. 715 716o A new request `dei' (define indirect) has been added. The first and 717 second parameter of `dei' are taken from string registers rather than 718 directly; this very special request is needed to make `trace.tmac' 719 independent from the escape character (which might even be disabled). 720 721o It is now possible to save and restore the escape character with two new 722 requests `ecs' and `ecr'. 723 724o The new escape sequence \B'...' is an analogon to `\A': If the string 725 within the delimiters is a valid numeric expression, return character `1', 726 and `0' otherwise. 727 728o The new escape sequence `\:' inserts a zero-width break point. This is 729 similar to `\%' but without a soft hyphen character. 730 731o The `tr' request can now map characters onto `\~'. 732 733o Calling the `fam' request without an argument switches back to the 734 previous font family. 735 736o The new read-only register `.int' is set to a positive value if the last 737 output line is interrupted (i.e., if the input line contains `\c'). 738 739o The `writem' request is not new, but hasn't been documented before. This 740 is similar to `write' but instead of a string the contents of a given 741 macro or string is written to a stream. 742 743o The read/write number register `hp' to get/set the current horizontal 744 position relative to the input line isn't new but hasn't been documented 745 properly before. 746 747o `\X' and `\Y' are now transparent for end-of-sentence recognition. 748 749o The `cu' request in nroff mode now works as documented (i.e., it 750 underlines spaces also). 751 752Grog 753---- 754 755o The grog script now works in non-compatibility mode also (which is the 756 default). As usual, use the `-C' option to activate compatibility mode. 757 758Grops 759----- 760 761o A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has 762 been added to select a different prologue file. 763 764o The effect of the former `-mpsnew' option to access more Type 1 characters 765 is now the default and no longer available. To get the old behaviour 766 (i.e., emulation of some glyphs by composition) use `-mpsold'. 767 768Miscellaneous 769------------- 770 771o For security reasons the following changes have been done: 772 773 . The tmac.safer file has been replaced with a built-in solution; .open, 774 .opena, .pso, .sy, and .pi are completely disabled in safer mode (which 775 is the default); to enable these requests the `-U' command line flag 776 must be used. 777 778 . Files specified with the .mso request or given with the `-m' command 779 line option, and hyphenation patterns loaded with `.hpf' are no longer 780 searched in the current directory by default (besides the usual tmac 781 path). Instead, the home directory is used. To add the current 782 directory, either use the `-U' or `-M' command line option or set the 783 GROFF_TMAC_PATH environment variable to an appropriate value. 784 785 . troffrc, troffrc-end, and eqnrc are neither searched in the current nor 786 in the home directory (even if -U is given). Use -M or GROFF_TMAC_PATH 787 to change that. 788 789 . Similarly, the current directory is no longer part of the font path. 790 Use the `-F' command line option or the GROFF_FONT_PATH environment 791 variable if you really need the current directory. 792 793o groff now installs its data files into /usr/local/share/groff/<version> by 794 default, following the GNU standard. Additionally, a local tmac directory 795 (by default /usr/local/share/groff/site-tmac) is scanned before the 796 standard tmac directory. Wrapper files for system-specific macro packages 797 (if necessary) are put into /usr/local/lib/groff/site-tmac; this directory 798 is searched before the local tmac directory. 799 800o All programs now have option `-v' to show the version number; they exit 801 immediately afterwards, following the GNU standards. Additionally, 802 `--version' and `--help' have been added, doing the obvious actions. 803 804VERSION 1.16.1 805============== 806 807Bug fixes only; no user-visible changes. 808 809VERSION 1.16 810============ 811 812Groff 813----- 814 815The anachronism of calling the man macro package with `-man' has been fixed; 816now you can say `-m man' also. The same is true for `ms', `me', `markup', 817`mandoc', and `mdoc'. 818 819A new switch `-g' for calling `grn' is available. 820 821A new switch `-G' for calling `grap' is available. 822 823EBCDIC support for tty devices has been added. On such hosts, IBM code page 8241047 is available with -Tcp1047 instead of -Tascii and -Tlatin1 (and, for 825the moment, -Tutf8). Note that non-tty devices are not yet supported (but 826installed). 827 828Troff 829----- 830 831A new command line option to the `man' macros is available: `-rSxx' (with 832`xx' either 10, 11, or 12) to set the base document font size to `xx' 833points. Additionally, `.SH' now produces larger headings than `.SS'. 834 835To solve a problem with the .PSPIC macro which needs the `-U' switch of 836troff to access an external program (psbb), a new request .psbb is now 837available to get the bounding box of a PostScript image file. The values 838(in PostScript units) are returned in the new read-only number registers 839`llx', `lly', `urx', and `ury'. Consequently, .PSPIC has been adapted to 840use the new request, and the psbb program has been removed. 841 842A new predefined writable number register, `year', has been added. It 843contains the current year. 844 845A new read-only register, `.Y', has been added. It contains the revision 846number of the groff package. 847 848`\fP' now behaves as expected in situations like the following where the 849font `foo' is undefined: 850 851 .B bold text 852 normal text \f[foo]bar\fP normal text 853 854Previously, the text after \fP appeared as bold. 855 856The `substring' request is not new, but hasn't been documented before. 857 858The predefined `.T' string register (which holds the current output device) 859is not new, but hasn't been documented before. 860 861A new request `length' computes the length of a string and returns it in 862a number register. 863 864The macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace' 865(a debugging aid) are now installed also. 866 867A new resource file, `troffrc-end', is now available. It is invoked after 868all user-specified macros. Currently used by the html device to include 869tmac.html; thus no need for users to specify -mhtml anymore. 870 871The soft hyphen character now has a glyph name: `shc'. 872 873The latin-1 character 173 (PS name `periodcentered') has got the troff glyph 874name `pc' and is no longer intermixed with the symbol character `md' (PS 875name `mathdot'). 876 877ASCII character 34 (PS name `quotedbl') has got the troff glyph name `dq' 878(which is an alias to character `"'). 879 880ASCII character 39 (PS name `quoteright') has got the troff glyph name `cq' 881(which is an alias to character "'"). 882 883Some additions to the font description files have been implemented for 884better support of HTML output: 885 886 The new format of lines in the `charset' subsection of font description 887 files is 888 889 name metrics type code [entity_name] [-- comment] 890 891 Currently, only the font description files in devhtml use the optional 892 entity_name string to define glyph entities in HTML. Everything after the 893 entity_name field is ignored; in case this field isn't used, two hyphen 894 characters are now necessary to start a comment. 895 896 Two new requests are available in DESC files (currently used only with 897 grohtml): 898 899 use_charnames_in_special 900 This command indicates that troff should encode named characters 901 inside special commands. 902 903 pass_filenames 904 requests that troff tells the driver the source file name being 905 processed. This is achieved by another tcommand: `F filename'. 906 907Grotty 908------ 909 910Bruno Haible <haible@clisp.cons.org> contributed support for UTF8 output. 911 912Grohtml 913------- 914 915Added .LINE macro to tmac.arkup. 916 917The obsolete `.LINK' macro has been removed. 918 919.URL, .FTP, and .MAILTO macros now accept an optional third argument which 920will be immediately appended to the second argument (to be used with 921punctuation, for example). 922 923Grodvi 924------ 925 926The font size 11pt has been changed to 10.95pt (as used in LaTeX 2e). 927 928A new font file CWI (using cmitt10; this is typewriter italic) has been 929added. 930 931Grolbp 932------ 933 934A new driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser 935printers). This code has been contributed by Francisco Andres Verdu 936<pandres@dragonet.es>. 937 938Grn 939--- 940 941A new preprocessor to process gremlin pictures. It is based on the 942original Berkeley implementation of grn, written by David Slattengren 943and Barry Roitblat, and has been adapted to groff by Daniel Senderowicz 944<daniel@synchrods.com> and Werner Lemberg <wl@gnu.org>. 945 946Pic 947--- 948 949Added the `srand' command to set the seed for a new sequence of 950pseudo-random numbers to be returned by `rand'. 951 952Gxditview 953--------- 954 955Simplified installation: The Imakefile will now be configured (by groff's 956configure script). 957 958Documentation 959------------- 960 961Three new man pages are available: groff_tmac.5 (documenting how troff macros 962are accessed and where they are found), groff.7 (a short reference of the GNU 963roff language), and roff.7 (a general survey on GNU troff). 964 965Miscellaneous 966------------- 967 968A partial port to win32 (for use with Microsoft Visual C++ 6.0) is now part 969of the distribution. It has been contributed by Blake McBride 970<blake@florida-software.com>. 971 972More information about programs, macros, documentation, etc., which is 973related to groff has been collected in the file `MORE.STUFF'. 974 975VERSION 1.13, 1.14, 1.15 976======================== 977 978Bug fixes only; no user-visible changes. 979 980VERSION 1.12 981============ 982 983Finally, there are new maintainers for groff. Mailing lists and a CVS 984repository are available also. See the file README for details. Not all 985reported bugs could be fixed, so please send mails again if something is 986still not working. 987 988Most of the installation problems should have vanished now (most 989notably the $(tmac_wrap) bug). 990 991There is now a man page called groff_man.7 which documents the basics of the 992-man macros. It has been originally written by Susan G. Kleinmann 993<sgk@debian.org>. 994 995A (still incomplete) groff reference manual in texinfo format originally 996contributed by Trent A. Fisher <trent@gnurd.portland.or.us>. 997 998me.man and msafer.man have been renamed to groff_me.man 999resp. groff_msafer.man for consistency. 1000 1001Default strings for macros in doc-common resp. tmac.an no longer contain the 1002word `UNIX'. 1003 1004groff should now be Y2k safe (fixes contributed by Paul Eggert 1005<eggert@twinsun.com>). 1006 1007Following the GNU standards, groff will now use the prefix `/usr/local/' as 1008the default instead of replacing an existent groff binary. 1009 1010groff, troff, nroff, and pic now support the -U flag to activate unsafe 1011behaviour (without -msafer); the -S flag for using the -msafer macros is now 1012the default. 1013 1014Grohtml 1015------- 1016 1017This is a new output device for producing HTML output contributed by Gaius 1018Mulley <gaius@glam.ac.uk>. It is still very alpha but has been included 1019into the distribution so that a lot of people have a chance to test it. Bug 1020reports are highly welcome. 1021 1022Grolj4 1023------ 1024 1025Duplex printing support has been contributed by Jeffrey Copeland 1026<jeff@opennt.com>. 1027 1028Soelim 1029------ 1030 1031Added -I option for defining include paths (patch contributed by Peter 1032Miller <peterm@jna.com.au>). 1033 1034Gxditview 1035--------- 1036 1037Fallback resources added (patch contributed by Larry Jones 1038<larry.jones@sdrc.com>). 1039 1040Will now support 8 gray levels. 1041 1042mm 1043-- 1044 1045New version 1.32 (contributed by Joergen Haegg <jh@axis.com>). 1046 1047VERSION 1.11 1048============ 1049 1050Complete documentation for pic is now in the file doc/pic.ms. It was 1051contributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically 1052*not* volunteering to take over groff as he is way overworked with 1053half a dozen other projects. 1054 1055VERSION 1.10 1056============ 1057 1058The directory where data files are installed has been changed from 1059/usr/local/lib/groff to /usr/local/share/groff to comply with the 1060latest GNU coding standards. 1061 1062By default groff programs with Unix equivalents are installed with a 1063"g" prefix unless there is an existing (non-groff) troff installation. 1064 1065A new approach is used to make system macro packages available to 1066groff. Instead of simply including /usr/lib/tmac in the list of 1067directories searched by groff, the installation process creates for 1068each system macro package a wrapper macro package in the groff macro 1069directory that references the system macro package. The groff macro 1070packages are now installed with a leading "g" prefix if there is a 1071system version of the same macro package, and otherwise without the 1072"g" prefix, with the exception that the groff version of -me which is 1073always installed as -me. 1074 1075There is a new device, lj4, for the HP LaserJet 4 (and PCL5 1076compatibles). 1077 1078Groff 1079----- 1080 1081groff has a -S option that prevents the use of unsafe features in pic 1082and troff. This uses a new -S option of pic and the -msafer macros 1083for troff. 1084 1085Troff 1086----- 1087 1088The `blm' request specifies a macro to be invoked when a blank line is 1089encountered. 1090 1091Pic 1092--- 1093 1094A -S (safer) option disables the sh command. 1095 1096Grops 1097----- 1098 1099The -m option enables manual feed. 1100 1101VERSION 1.09 1102============ 1103 1104\(rn will now produce a character that has the traditional metrics, 1105and will form corners with \(ul and \(br. This means that it will not 1106align properly with \(sr. Instead there's a new character 1107\[radicalex] which aligns with \(sr; this is used by eqn for doing 1108square roots. 1109 1110Troff 1111----- 1112 1113The `pso' request allows you to read from the standard output of a 1114command. 1115 1116Grops 1117----- 1118 1119The PSPIC macro has options to allow the horizontal alignment of the 1120graphic to be specified. 1121 1122VERSION 1.08 1123============ 1124 1125Troff 1126----- 1127 1128The escape sequence \V[xxx] will interpolate the value of the 1129environment variable xxx. 1130 1131Tbl 1132--- 1133 1134The decimalpoint option can be used to specify the character to be 1135recognized as the decimal point character in place of the default 1136period. 1137 1138VERSION 1.07 1139============ 1140 1141Groff 1142----- 1143 1144The environment variable GROFF_COMMAND_PREFIX can be used to control 1145whether groff looks for `gtroff' or `troff' (similarily for the 1146preprocessors.) 1147 1148Troff 1149----- 1150 1151Multilingual hyphenation is supported by new `hpf' and `hla' requests, 1152and by a `\n[.hla]' number register. The -H option has been removed. 1153Files of hyphenation patterns can have comments. 1154 1155When a font cannot be found, troff gives a warning (of type `font', 1156enabled by default) instead of an error. 1157 1158There's a new request `trnt' that's like `tr' except that it doesn't 1159apply to text transparently throughput into a diversion with \!. 1160 1161Tbl 1162--- 1163 1164There is a `nokeep' option which tells tbl not to use diversions to 1165try to keep the table on one page. 1166 1167Eqn 1168--- 1169 1170Setting the parameter `nroff' to a non-zero value causes `ndefine' to 1171behave like `define' and `tdefine' to be ignored. This is done by 1172eqnrc when the current device is ascii or latin1. There's a `neqn' 1173script that just does `eqn -Tascii'. 1174 1175Grotty 1176------ 1177 1178grotty uses whatever page length was specified using the `pl' request 1179rather than using the paperlength command in the DESC file. The 1180paperwidth command in the DESC file is also ignored. 1181 1182VERSION 1.06 1183============ 1184 1185The programs in groff that have Unix counterparts can now be installed 1186without a leading `g' prefix. See the `g' variable in the Makefile. 1187 1188The g?nroff script simulates the nroff command using groff. 1189 1190New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, 1191\(an. See groff_char(7). 1192 1193^L is now a legal input character. 1194 1195Groff 1196----- 1197 1198The Xps pseudo-device has disappeared. Instead there is a new -X 1199option that tells groff to use gxditview instead of the usual 1200postprocessor. (So instead of -TXps, use -XTps or just -X if your 1201default device is ps.) 1202 1203The postprocessor to be used for a particular device is now specified 1204by a `postpro' command in the DESC file rather than being compiled 1205into groff. Similarly the command to be used for printing (with the 1206-l option) is now specified by a `print' command in the DESC file. 1207 1208The groff command no longer specifies eqnchar as an input file for 1209eqn. Instead eqn automatically loads a file `eqnrc'. The groff 1210command no longer passes the -D option to eqn. Instead eqnrc sets the 1211draw_lines parameter. 1212 1213The groff command no longer tells troff to load a device-specific 1214macro file. This is handled instead by the `troffrc' file, which is 1215always loaded by troff. 1216 1217The shell script version of groff has been removed. 1218 1219Troff 1220----- 1221 1222The `rchar' request removes a character definition established with `char'. 1223 1224Compatibility mode is disabled and the escape character is set to `\' 1225while a character definition is being processed. 1226 1227The `\#' escape sequence is like `\"' except that the terminating 1228newline is ignored. 1229 1230The `shc' request tells troff which character to insert (instead of 1231the default \(hy) when a word is hyphenated at a line break. 1232 1233A font name of 0 (zero) in the DESC file will cause no font to be 1234mounted on the corresponding font position. This is useful for 1235arranging that special fonts are mounted on positions on which users 1236are not likely explicitly to mount fonts. All groff devices now avoid 1237initially mounting fonts on positions 5-9. 1238 1239The `do' request allows a single request or macro to be interpreted 1240with compatibility mode disabled. 1241 1242troff automatically loads a file `troffrc' before any other input file. 1243This can be prevented with the -R option. This file is responsible 1244for loading the device-specific macros. 1245 1246Pic 1247--- 1248 1249The -x option has been removed and a -n option has been added. By 1250default, pic now assumes that the postprocessor supports groff 1251extensions. The -n option tells pic to generate output that works 1252with ditroff drivers. The -z option now applies only to TeX mode. 1253 1254The -p option has been removed. Instead if the -n option is not 1255specified, pic generates output that uses \X'ps: ...' if the \n(0p 1256register is non-zero and tmac.ps sets this register to 1. 1257 1258In places where you could 1st or 5th you can now say `i'th or `i+1'th 1259(the quotes are required). 1260 1261Eqn 1262--- 1263 1264Eqn now automatically reads a file `eqnrc' from the macro directory. 1265This performs the same role that the eqnchar files used to. This can 1266be prevented by the -R option. 1267 1268Setting the draw_lines parameter to a non-zero value causes lines to 1269be drawn using \D rather than \l. The -D option is now obsolete. 1270 1271`uparrow', `downarrow' and `updownarrow' can be used with `left' and 1272`right'. 1273 1274The amount of extra space added before and after lines containing 1275equations can be controlled using the `body_height' and `body_depth' 1276parameters. 1277 1278Grops 1279----- 1280 1281Font description files have been regenerated from newer AFM files. 1282You can get access to the additional characters present in the text 1283fonts in newer PostScript printers by using -mpsnew. 1284 1285The default value of the -b option is specified by a `broken' command 1286in the DESC file. 1287 1288With the -g option, grops will generate PostScript code that guesses 1289the page height. This allows documents to be printed on both letter 1290(8.5x11) and A4 paper without change. 1291 1292Grodvi 1293------ 1294 1295ISO Latin-1 characters are available with -Tdvi. Format groff_char(7) 1296with groff -Tdvi for more information. 1297 1298Grotty 1299------ 1300 1301The -mtty-char macros contain additional character definitions for 1302use with grotty. 1303 1304Macros 1305------ 1306 1307In previous releases the groff -me macros treated the $r and $R number 1308registers in a way that was incompatible with the BSD -me macros. The 1309reason for this was that the approach used by the BSD -me macros does 1310not work with low resolution devices such as -TX75 and -TX100. 1311However, this caused problems with existing -me documents. In this 1312release, the vertical spacing is controlled by the $v and $V registers 1313which have the same meaning as $r and $R in earlier groff releases. 1314In addition, if the $r or $R register is set to a value that would be 1315correct for for the BSD -me macros and a low resolution device is not 1316being used, then an appropriate value for the $v or $V register will 1317be derived from the $r or $R register. 1318 1319The groff -me macros work with -C and (I think) with Unix troff. 1320 1321For backward compatibility with BSD -me, the \*{ and \*} strings are 1322also available as \*[ and \*]. Of course, \*[ will only be usable 1323with -C. 1324 1325The \*T string has been deleted. Use \*(Tm instead. 1326 1327Xditview 1328-------- 1329 1330The `n', Space and Return keys are bound to the Next Page action. The 1331`p', BackSpace and Delete keys are bound to the Previous Page action. 1332The `q' key is bound to the Quit action. 1333 1334The `r' key is bound to a rerasterize action that reruns groff, and 1335redisplays the current page. 1336 1337VERSION 1.05 1338============ 1339 1340Pic 1341--- 1342 1343There is a alternative assignment operator `:=' which interacts 1344differently with blocks. 1345 1346There is a new command `command', which allows the values of variables 1347to be passed through to troff or TeX. 1348 1349The `print' command now accepts multiple arguments. 1350 1351String comparison expressions (using `==' or `!=') are allowed in more 1352contexts. 1353 1354Grotty 1355------ 1356 1357Horizontal and vertical lines drawn with \D'l ...' will be rendered 1358using -, | and + characters. This is intended to give reasonable 1359results with boxed tables. It won't work well with pic. 1360 1361Macros 1362------ 1363 1364The -mdoc macros have been upgraded to the version in the second 1365Berkeley networking release. This version is not completely 1366compatible with earlier versions; the old version is still available 1367as -mdoc.old. The grog script has been enhanced so that it can 1368usually determine whether a document requires the old or new versions. 1369 1370With -TX75, -TX100 and -TXps, the PSPIC macro will produce a box 1371around where the picture would appear with -Tps. 1372 1373VERSION 1.04 1374============ 1375 1376An implementation of the -mm macros is included. 1377 1378The directory in which temporary files are created can be controlled 1379by setting the GROFF_TMPDIR or TMPDIR environment variables. 1380 1381Pic 1382--- 1383 1384Some MS-DOS support (see pic/make-dos-dist). 1385 1386Grops 1387----- 1388 1389There are two new \X commands (\X'ps: invis' and \X'ps: endinvis') 1390which make it possible to have substitute characters that are 1391displayed when previewing with -TXps but ignored when printing with 1392grops. 1393 1394Xditview 1395-------- 1396 1397Support for scalable fonts. 1398 1399VERSION 1.03 1400============ 1401 1402No changes other than bug fixes. 1403 1404VERSION 1.02 1405============ 1406 1407There is an implementation of refer and associated programs. groff -R 1408preprocesses with grefer; no mechanism is provided for passing 1409arguments to grefer because most grefer options have equivalent 1410commands which can be included in the file. grog also supports refer. 1411 1412There is an alternative perl implementation of the grog script. 1413 1414The code field in lines in the charset section of font description 1415files is now allowed to contain an arbitrary integer (previously it 1416was required to lie between 0 and 255). Currently grops and grodvi 1417use only the low order 8 bits of the value. Grodvi will use the 1418complete value; however, this is unlikely to be useful with 1419traditional TeX tools (.tfm files only allow 8 bit character codes.) 1420 1421Left and right double quotes can be obtained with \(lq and \(rq 1422respectively. 1423 1424There is a new program called pfbtops which translates PostScript 1425fonts in pfb format to ASCII. 1426 1427A slightly modified version of the Berkeley tmac.doc is included. 1428 1429Troff 1430----- 1431 1432In long escape names the closing ] is now required to be at the same 1433input level as the opening [. 1434 1435The \A'S' escape sequence returns 1 or 0 according as S is or is not 1436suitable for use as a name. 1437 1438\~ produces an unbreakable space that can be stretched when the line 1439is adjusted. 1440 1441The `mso' request is like the `so' request except that it searches for 1442the file in the same directories in which tmac.X is searched for when 1443the -mX option is given. 1444 1445The escape sequence `\R' is similar to the `nr' request. 1446 1447Eqn 1448--- 1449 1450A new `special' primitive allows you to add new types of unary 1451constructs by writing a troff macro. 1452 1453Pic 1454--- 1455 1456The implementation no longer uses gperf. 1457 1458Grops 1459----- 1460 1461The compile-time -DBROKEN_SPOOLER option has been replaced by a 1462BROKEN_SPOOLER_FLAGS option. This allows more precise control over 1463how grops should workaround broken spoolers and previewers. There is 1464a new -b option that can change this at run-time. 1465 1466Grops now generates PostScript that complies with version 3.0 of the 1467Document Structuring Convention. 1468 1469The resource management component of grops (the part that deals with 1470imported documents and downloadable fonts) has been rewritten and now 1471supports version 3.0 of the Document Structuring Conventions. The 1472%%DocumentFonts comment is no longer supported; you must use the 1473%%Document{Needed,Supplied}{Fonts,Resources} comments instead 1474(or as well.) 1475 1476tmac.psatk contains some macros that support the mechanism used by the 1477Andrew Toolkit for including PostScript graphics in troff documents. 1478 1479Xditview 1480-------- 1481 1482Parts of xditview have been rewritten so that it can be used with the 1483output of gtroff -Tps. groff -TXps will run gtroff -Tps with 1484gxditview. 1485 1486There is a new menu entry `Print' which brings up a dialog box for 1487specifying a command with which the file being previewed should be 1488printed. 1489 1490Xditview now uses imake. 1491 1492VERSION 1.01 1493============ 1494 1495The groff command now understands the gtroff `-a' and `-i' options. 1496 1497With the `m' and `n' scale indicators, the scale factor is rounded 1498horizontally before being applied. This makes (almost) no difference 1499for devices with `hor' equal to 1, but it makes groff with -Tascii or 1500-Tlatin1 behave more like nroff in its treatment of these scale 1501indicators. Accordingly tmac.tty now calls the `nroff' request so 1502that the `n' condition will be true. 1503 1504The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) 1505have been made to work at least somewhat with -C. In particular the 1506special characters defined by these macros now work with -C. 1507 1508groff -Tdvi -p will now pass pic the -x flag; this will enable filling 1509of arrowheads and boxes, provided that your dvi driver supports the 1510latest version of the tpic specials. 1511 1512Eqn 1513--- 1514 1515There is a new `-N' option that tells eqn not to allow newlines in 1516delimiters. This allows eqn to recover better from missing closing 1517delimiters. The groff command will pass on a `-N' option to eqn. 1518 1519Grops 1520----- 1521 1522You can now use psfig with grops. See the file ps/psfig.diff. I do 1523not recommend using psfig for new documents. 1524 1525The command \X'ps: file F' is similar to \X'ps: exec ...' except that 1526the PostScript code is read from the file F instead of being contained 1527within the \X command. This was added to support psfig. 1528 1529Grodvi 1530------ 1531 1532There are font files HB and HI corresponding to cmsssbx10 and cmssi10. 1533 1534Macros 1535------ 1536 1537The groff -me macros now work with the -C option. As a result, they 1538may also work with Unix nroff/troff. 1539 1540In -me, the $r and $R number registers now contain the line spacing as 1541a percentage of the pointsize expressed in units (normally about 120). 1542The previous definition was useless with low resolution devices such 1543as X75 and X100. 1544 1545VERSION 1.00 1546============ 1547 1548A -ms-like macro-package is now included. 1549 1550The name for the Icelandic lowercase eth character has been changed 1551from \(-d to \(Sd. 1552 1553Troff 1554----- 1555 1556There is a new request `nroff', which makes the `n' built-in condition 1557true and the `t' built-in condition false; also a new request `troff' 1558which undoes the effect of the `nroff' request. This is intended only 1559for backward compatibility: it is usually better to test \n(.H or 1560\n(.V or to use the `c' built-in condition. 1561 1562The \R escape sequence has been deleted. Use \E instead. 1563 1564There are `break' and `continue' requests for use with the `while' 1565request. 1566 1567There is a request `hym' that can ensure that when the current 1568adjustment mode is not `b' a line will not be hyphenated if it is no 1569more than a given amount short, and a request `hys' that can ensure 1570that when the current adjustment mode is `b' a line will not be 1571hyphenated if it can be justified by adding no more than a given 1572amount of extra space to each word space. 1573 1574There is a request `rj' similar to `ce' that right justifies lines. 1575 1576A warning of type `space' will be given when a call is made to an 1577undefined request or macro with a name longer than two characters, and 1578the first two characters of the name make a name that is defined. 1579This is intended to find places where a space has been omitted been a 1580request or macro and its argument. This type of warning is enabled by 1581default. 1582 1583Pic 1584--- 1585 1586A comma is permitted between the arguments to the `reset' command. 1587 1588For use with TeX, there is a new `-c' option that makes gpic treat 1589lines beginning with `.' in a way that is more compatible with tpic 1590(but ugly). 1591 1592Eqn 1593--- 1594 1595It is no longer necessary to add `space 0' at the beginning of 1596complicated equations inside pictures. 1597 1598`prime' is now treated as an ordinary character, as in Unix eqn. The 1599previous behaviour of `prime' as an operator can now be obtained using 1600`opprime'. 1601 1602Xditview 1603-------- 1604 1605There are two new devices X75-12 and X100-12 which are the same as X75 1606and X100 except that they are optimized for documents that use mostly 160712 point text. 1608 1609VERSION 0.6 1610=========== 1611 1612The installation process has been refined to make it easy for you to 1613share groff with someone who has the same type of machine as you but 1614does not have a C++ compiler. See the end of the INSTALL file for 1615details. 1616 1617There is a man page for the tfmtodit program which explains how to use 1618your own fonts with groff -Tdvi. 1619 1620There is a man page for afmtodit which explains how to use your own 1621PostScript fonts with groff -Tps. 1622 1623The \N escape sequence is now fully supported. It can now be used to 1624access any character in a font by its output code, even if it doesn't 1625have a groff name. This is made possible by a convention in the font 1626files that a character name of `---' refers to an unnamed character. 1627The drivers now all support the `N' command required for this. The font 1628description files have been updated to include unnamed characters. 1629 1630The `x' command in font description files has been removed: instead 1631any unknown commands are automatically made available to the drivers. 1632If you constructed your own font files with an earlier version of 1633tfmtodit or afmtodit, you must construct them again using the current 1634version. 1635 1636Characters between 0200 and 0237 octal are no longer legal input 1637characters. Note that these are not used in ISO 8859. 1638 1639A command called `grog' has been added, similar to the `doctype' 1640command described in Kernighan and Pike. 1641 1642Groff 1643----- 1644 1645The groff command has some new options: -V prints the pipeline 1646instead of executing it; -P passes an argument to the postprocessor, 1647-L passes an argument to the spooler. 1648 1649There is a C++ implementation of the groff command. This handles some 1650things slightly better than the shell script. In particular, it can 1651correctly handle arguments containing characters that have a special 1652meaning to the shell; it can give an error message when child 1653processes other than the last in the pipeline terminate abnormally; 1654its exit status can take account of the exit statuses of all its child 1655processes; it is a little more efficient; when geqn is used, it 1656searches for the eqnchar file in the same way that font metric files 1657are searched for, rather than expecting to find it in one particular 1658directory. 1659 1660Gtroff 1661------ 1662 1663There is font translation feature: For example, you can tell gtroff to 1664use font `HR' whenever font `H' is requested with the line 1665 .ftr H HR 1666This would be useful for a document that uses `H' to refer to 1667Helvetica. 1668 1669There are some new number registers: `.kern' contains the current kern 1670mode, `.lg' the current ligature mode, `.x' the major version number, 1671`.y' the minor version number, `.ce' the number of lines to be 1672centered in the current environment, `.trunc' the amount of vertical 1673space truncated by the most recently sprung vertical position trap, 1674`.ne' the amount of vertical space needed in the last `ne' request 1675that caused a vertical position trap to be sprung. 1676 1677The `cf' request now behaves sensibly in a diversion. If used in a 1678diversion, it will now arrange for the file to be copied to the output 1679when the diversion is reread. 1680 1681There is a new request `trf' (transparent file) similar to `cf', but 1682more like `\!'. 1683 1684There is a new escape sequence `\Y[xxx]', roughly equivalent to 1685`\X'\*[xxx]'', except that the contents of string or macro xxx are not 1686interpreted, and xxx may contain newlines. This requires an output 1687format extension; the drivers have been modified to understand this. 1688Grops has also been modified to cope with newlines in the arguments to 1689\X commands; grops has a new \X command mdef, which is like def except 1690that it has a first argument giving the number of definitions. 1691 1692There is a new warning category `escape' which warns about unknown 1693escape sequences. 1694 1695The `fp' request now takes an optional third argument giving the external 1696name of the font. 1697 1698The `\_' character is now automatically translated to `\(ul' as in troff. 1699 1700The environment variable `GROFF_HYPHEN' gives the name of the file 1701containing the hyphenation patterns. 1702 1703There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. 1704 1705Characters ", ', ), ], *, \(dg are now initially transparent for the purposes 1706of end of sentence recognition. 1707 1708There is an anti-recursion feature in the `char' request, so you can 1709say `.char \(bu \s+2\(bu\s-2'. 1710 1711The limit on the number of font positions has been removed. 1712Accordingly `\n[.fp]' never returns 0. 1713 1714The restriction on the number of numbered environments has been removed. 1715 1716There is a new escape sequence `\E' that makes it possible to 1717guarantee that an escape sequence won't get interpreted in copy-mode. 1718The `\R' escape sequence is accordingly now deprecated. 1719 1720Gpic 1721---- 1722 1723Arguments of the form `X anything X' (in the `copy thru', `sh', `for', 1724`if' and `define' constructs) can now be of the form `{ anything }'. 1725 1726If the `linethick' variable is negative (as it now is initially), 1727lines will be drawn with a thickness proportional to the current point 1728size. 1729 1730The `rand' function now takes no arguments and returns a number between 17310 and 1. The old syntax is still supported. 1732 1733`^' can be used in expressions to indicate exponentiation. 1734 1735In the `for' construct the argument to the by clause can be prefixed 1736by `*' to indicate that the increment is multiplicative. 1737 1738A bare expression may be used as an attribute. If the current 1739direction is `dir', then an attribute `expr' is equivalent to 1740`dir expr' 1741 1742There is a `sprintf' construct that allows numbers to be formatted and used 1743wherever a quoted string can be used. 1744 1745The height of a text object without an explicit height attribute is 1746the number of text strings associated with the object times the value 1747of the `textht' variable. 1748 1749The maximum height and width of a picture is controlled by the 1750`maxpswid' and `maxpsht' variables. 1751 1752Gtbl 1753---- 1754 1755Gtbl can now handle gracefully the situation where the `ce' request 1756has been applied to a table. 1757 1758Geqn 1759---- 1760 1761The `ifdef' primitive has been generalized. 1762 1763A tilde accent can be put underneath a box using `utilde'. This 1764defined using a general `uaccent' primitive. 1765 1766Grops 1767----- 1768 1769There is a new PostScript font downloading scheme which handles font 1770downloading for imported illustrations. Previously, the name of the 1771file containing the font was given in the `x download' line in the 1772groff font metric file. Now, there is a `download' file which says 1773for each PostScript font name which file contains that font. Grops 1774can also now handle inter-font dependencies, where one downloadable 1775font depends on some other (possibly downloadable) font. 1776 1777The `T' font has been removed. The characters it used to provide are 1778now provided by `char' definitions in tmac.ps. TSymbol.ps has also 1779been removed, and the tweaks it provided are now provided by `char' 1780definitions. 1781