]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/groff/doc/webpage.ms
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / groff / doc / webpage.ms
1 .\" This file gives a small example how a web page could look like if created
2 .\" with groff.
3 .\"
4 .\"
5 .\" To make it work with other output devices also, we include www.tmac
6 .\" directly.
7 .\"
8 .nr PS 10
9 .nr VS 12
10 .if '\*[.T]'html' .nr LL 10i
11 .if r ps4html .nr LL 10i
12 .
13 .HEAD "<link rel=""stylesheet"" type=""text/css"" href=""groff.css"" >"
14 .\" .HEAD "<link rel=""icon"" type=""image/png"" href=""http://www.gnu.org/graphics/gnu-mini.png"" >"
15 .
16 .mso www.tmac
17 .
18 .de blm-macro
19 .  nr tmp \\n[.i]
20 .  LP
21 .  in \\n[tmp]u
22 ..
23 .blm blm-macro
24 .
25 .HX 0
26 .
27 .defcolor mydarkred rgb 0.65f 0.1f 0.2f
28 .defcolor mydarkgreen rgb 0.1f 0.5f 0.2f
29 .defcolor mydarkblue rgb 0.1f 0.2f 0.6f
30 .
31 .ds GNU \m[mydarkred]G\m[]\m[mydarkgreen]N\m[]\m[mydarkblue]U\m[]
32 .
33 .NHR
34 .HTL
35 .
36 Home of Groff (GNU Troff).
37 .
38 .
39 .HTML-IMAGE-LEFT
40 .PSPIC -L gnu.eps 2i 2i
41 .ie r ps4html \
42 .  nop \v'-0.66i'\h'2.0i'\s[100]\*[GNU] Troff\s0
43 .el \
44 .  nop \v'-0.66i'\h'2.0i'\s[60]\*[GNU] Troff\s0
45 .HTML-IMAGE-END
46 .
47 .HR
48 .HnS 1
49 GNU Troff (\c
50 .URL http://\:groff.ffii.org/ Groff )
51 \[em] a
52 .URL http://\:www.gnu.org/ GNU
53 project.
54 .HnE
55 .HR
56 .LK
57 .
58 .LP
59 .DC T HE mydarkred
60 groff (GNU Troff) software
61 is a typesetting package which reads plain text mixed with
62 formatting commands and produces formatted output.
63 Groff now supports HTML.
64 .
65 .
66 .SH
67 Download
68
69 The source code of the currently released versions of groff is
70 available at the 
71 .URL "http://\:groff.ffii.org/\:groff/" "FFII host (Germany)" ,
72 .URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" "GNU host (USA)" ,
73 and its mirrors.
74 .
75 The USA site also contains older, obsolete versions.
76
77 The most actual pre-release, development version is available from a
78 CVS repository, see below.
79 .
80 Development snapshots (produced twice a day from the CVS repository)
81 can be downloaded from
82 .URL "http://\:groff.ffii.org/\:groff/\:devel" here .
83
84 For a special version of groff on the Microsoft operating systems, see
85 .URL "http://\:gnuwin32.sf.net/\:packages/\:groffl.htm" "Groff for Windows" .
86
87 GNU troff is released under the
88 .URL http://\:www.gnu.org/\:copyleft/\:gpl.html "GNU Copyright License" .
89
90 User issues lead:
91 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding" .
92 .br
93 Technical issues lead:
94 .MTO wl@\:gnu.org "Werner Lemberg" .
95 .
96 .
97 .SH
98 README
99
100 This is the GNU groff document formatting system.
101 The version number is given in the file VERSION.
102
103 Included in this release are implementations of troff, pic, eqn, tbl,
104 grn, refer, \-man, \-mdoc, and \-ms macros, and drivers for PostScript,
105 TeX dvi format, HP LaserJet\~4 printers, Canon CAPSL printers, HTML format
106 (beta status), and typewriter-like devices.
107 Also included is a modified version of the Berkeley \-me macros, an enhanced
108 version of the X11 xditview previewer, and an implementation of the \-mm
109 macros contributed by
110 .MTO jh@\:axis.se "J\[:o]rgen H\[:a]gg" .
111
112 See the file INSTALL for installation instructions.
113 You will require a C++ compiler.
114
115 The file NEWS describes recent user-visible changes to groff.
116
117 Groff is free software.
118 See the file COPYING for copying permission.
119
120 The file PROBLEMS describes various problems that have been encountered in
121 compiling, installing, and running groff.
122
123 The most recent released version of groff is always available by
124 .URL "ftp://\:ftp.gnu.org/\:gnu/\:groff" "anonymous ftp" .
125
126 The current development version of groff is available from a
127 .URL "http://\:savannah.gnu.org/\:cvs/\:?group=groff" "CVS repository" .
128 You can access it by first selecting a parent directory in
129 which to create a working copy (call it, say, ~/cvswork), and then
130 executing the commands
131
132 .in 2m
133 .nf
134 .ft C
135 cd ~/cvswork
136 CVS_RSH=ssh; export CVS_RSH
137 cvs -d:ext:anoncvs@savannah.gnu.org/cvsroot/groff -z5 co groff
138 .ft P
139 .fi
140 .in
141
142 (Note that you need an SSH client for security reasons.)
143
144 This will create a subdirectory, ~/cvswork/groff, with a `checked out'
145 copy of the CVS repository.
146 An update of this working copy may be
147 achieved, at any later time by invoking the commands
148
149 .in 2m
150 .nf
151 .ft C
152 cd ~/cvswork/groff
153 CVS_RSH=ssh cvs -z5 update -dP
154 .ft P
155 .fi
156 .in
157
158 Please read the CVS info pages for further details.
159
160 Finally, it is possible to access the CVS with a
161 .URL http://\:savannah.gnu.org/\:cvs/\:?group=groff "web browser" .
162
163 Alternatively, you can download snapshots (which are updated twice a day).
164 The complete groff source as a single file is available
165 .URL http://\:groff.ffii.org/\:groff/\:devel/\:groff-current.tar.gz here .
166
167 A diff file relative to groff-\[la]version\[ra], the latest official groff
168 release is available at
169
170 .in 2m
171 .ft C
172 http://groff.ffii.org/groff/devel/groff-\[la]version\[ra]-current.diff.gz
173 .ft P
174 .in
175
176 Assuming that groff-\[la]version\[ra].tar.gz and
177 groff-\[la]version\[ra]-current.diff.gz are in the same directory, do the
178 following to apply the diff file:
179
180 .in 2m
181 .nf
182 .ft C
183 tar xzvf groff-\[la]version\[ra].tar.gz
184 cd groff-\[la]version\[ra]
185 gunzip -c ../groff-\[la]version\[ra]-current.diff.gz | patch -p1
186 .ft P
187 .fi
188 .in
189
190 Depending on your requirements, you may need at least some of the
191 following tools to build groff directly from its source:
192
193 .in 2m
194 .nf
195 ghostscript
196 the psutils package
197 the netpbm package
198 texinfo 4.8
199 bison \[>=] 1.875b or byacc
200 .fi
201 .in
202
203 Note that texinfo and bison or byacc are required only for building from
204 CVS sources (either a checked out working copy, or a daily snapshot).
205 They are not required for building from a stable release tarball.
206 Also note that the version numbers stated are the minimum supported.
207 No version of texinfo < 4.8 will work, and the original release of bison
208 1.875 is known not to work; you \fImay\fP find that bison releases < 1.875
209 will work, but in case of difficulty, please update to a later version
210 \fIbefore\fP posting a bug report.
211
212 For \fIall\fP sources, you need ghostscript for creation of either PDF or
213 HTML output; the netpbm and psutils packages are required only for HTML
214 output.
215 If you don't intend to produce output in either of these formats, then
216 these packages are unnecessary.
217
218 Please report bugs using the form in the file BUG-REPORT; the idea of this
219 is to make sure that FSF has all the information it needs to fix the bug.
220 At the very least, read the BUG-REPORT form and make sure that you supply
221 all the information that it asks for.
222 Even if you are not sure that something is a bug, report it using
223 BUG-REPORT: this will enable us to determine whether it really is a bug or
224 not.
225
226 Three mailing lists are available:
227
228 .ULS
229 .LI
230 .MTO bug-groff@gnu.org bug-groff@gnu.org
231 for reporting bugs
232
233 .LI
234 .MTO groff@gnu.org groff@gnu.org
235 for general discussion of groff
236
237 .LI
238 .MTO groff-commit@gnu.org groff-commit@gnu.org
239 a read-only list showing commitments to the CVS repository
240 .ULE
241
242 You can post mails directly to the `bug-groff' list, without subscribing;
243 to post mails to the `groff' list you must subscribe to it.
244
245 To subscribe, send e-mail to \[la]list\[ra]-request@\[la]domain\[ra]
246 (example:
247 .MTO groff-request@\:gnu.org groff-request@\:gnu.org
248 for the `groff' list) with the word `subscribe' in either the
249 subject or body of the e-mail (don't include the quotes).
250 Alternatively, you may subscribe by visiting the web pages at
251
252 .in 2m
253 .nf
254 .URL http://lists.gnu.org/mailman/listinfo/bug-groff
255 .URL http://lists.gnu.org/mailman/listinfo/groff
256 .URL http://lists.gnu.org/mailman/listinfo/groff-commit
257 .fi
258 .in
259
260 Each of these web pages also provides a link to a browseable archive of
261 postings to the corresponding mailing list.
262
263 GNU groff was written by
264 .MTO jjc@\:jclark.com "James Clark" .
265 It is now maintained by
266 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
267 and
268 .MTO wl@\:gnu.org "Werner Lemberg" .
269 .
270 .
271 .SH
272 NEWS VERSION 1.19.2
273 .
274 .SH 2 troff
275
276 .ULS
277 .LI
278 Analogously to the .ft and \ef pair, two new requests `gcolor' and
279 `fcolor' (which pair with \em and \eM, respectively) have been added to
280 set the glyph and background colours.
281
282 .LI
283 A new read-only, string-valued register `.sty' returns the name of the
284 current style.
285
286 .LI
287 Two new conditional operators `F\~\[la]name\[ra]' and `S\~\[la]name\[ra]'
288 have been added.
289 `F' is true if a font \[la]name\[ra] exists.
290 `S' is true if a style \[la]name\[ra] has been registered.
291
292 .LI
293 Cyrillic characters have been added to the `utf8' and `html' output
294 devices.
295 .ULE
296 .
297 .
298 .SH 2
299 pic
300
301 .ULS
302 .LI
303 The `by' argument in a `for' loop can now be negative if it is additive.
304 For the multiplicative case, it must be greater than zero.
305 .ULE
306 .
307 .
308 .SH 2
309 eqn
310
311 .ULS
312 .LI
313 The following keywords aren't new but haven't been documented previously:
314
315 .in 2m
316 \fBundef NAME\fP (to undefine a macro)
317 .br
318 \fBcopy "FILE"\fP (a synonym for `include')
319 .br
320 \fBspace n\fP (to modify the vertical spacing before and after an equation)
321 .in
322
323 .LI
324 The following macros aren't new but haven't been documented previously:
325
326 .in 2m
327 \fBAlpha, .\|.\|., Omega\fP (the same as `ALPHA', .\|.\|., `OMEGA')
328 .br
329 \fBldots\fP (three dots on the base line)
330 .br
331 \fBdollar\fP (a dollar glyph)
332 .in
333
334 .LI
335 The following keywords have been extended.  Again, this isn't new but
336 hasn't been documented previously:
337
338 .in 2m
339 .ft B
340 col n { .\|.\|. }
341 .br
342 lcol n { .\|.\|. }
343 .br
344 rcol n { .\|.\|. }
345 .br
346 ccol n { .\|.\|. }
347 .br
348 pile n { .\|.\|. }
349 .br
350 lpile n { .\|.\|. }
351 .br
352 rpile n { .\|.\|. }
353 .br
354 cpile n { .\|.\|. }
355 .ft P
356 (set vertical spacing between rows to\~N)
357 .ULE
358 .
359 .
360 .SH 2
361 grohtml
362
363 .ULS
364 .LI
365 This device driver has been raised to beta stage; its set of tags should
366 be stable now.
367
368 .LI
369 New command line option `\-s' to set the base point size.
370
371 .LI
372 New command line option `\-S' to set the split level while generating
373 multiple files.
374 .ULE
375 .
376 .
377 .SH 2
378 grotty
379
380 .ULS
381 .LI
382 Experimental support for zero-width and double-width characters.
383 .ULE
384 .
385 .
386 .SH 2
387 gxditview
388
389 .ULS
390 .LI
391 On platforms which have the X\~Window System this program is now built and
392 installed automatically.
393 .ULE
394 .
395 .
396 .SH 2
397 xtotroff
398
399 .ULS
400 .LI
401 This program to create font definition files for xditview isn't new but
402 hasn't been installed previously.
403 .ULE
404 .
405 .
406 .SH 2
407 groffer
408
409 .ULS
410 .LI
411 A security problem (reported as CAN-2004-0969) has been fixed.
412 .ULE
413 .
414 .
415 .SH 2
416 gdiffmk
417
418 .ULS
419 .LI
420 A new script contributed by Mike Bianchi.
421 It compares two groff, nroff, or troff documents and creates an output with
422 added margin characters (using `.mc') to indicate the differences.
423 .ULE
424 .
425 .
426 .SH 2
427 pdfroff
428
429 .ULS
430 .LI
431 A new wrapper script contributed by Keith Marshall to easily create PDF
432 documents with groff.
433 .ULE
434 .
435 .
436 .SH 2
437 macro packages
438
439 .ULS
440 .LI
441 ms.tmac
442
443 .ULS
444 .LI
445 Support for fractional point sizes: A value for the `PS', `VS', `FPS',
446 and `VPS' register larger than or equal to 1000 is always divided by 1000.
447 For example, `.nr\~PS\~10250' sets the document's font size to 10.25 points.
448
449 .LI
450 The `Ds' and `De' macros provided in ms since groff version 1.19 have
451 been removed; the equivalent `DS' and `DE' macros should be used instead.
452 X11 documents which actually use `Ds' and `De' always load a
453 specific macro file from the X11 distribution (`macros.t') which
454 provides proper definitions for the two macros.
455
456 .LI
457 The following registers have been added for improving layout control:
458
459 .IP PORPHANS
460 Defines number of lines following `LP', `PP', `QP', `IP' or `XP' which
461 must be kept together, before any automatic page break.
462
463 .IP HORPHANS
464 Sets number of lines of following paragraph which must be kept with a
465 heading, defined by `NH' or `SH', before any automatic page break.
466
467 .IP GROWPS
468 Sets the first level of heading (set with `NH') which will keep the
469 same point size as body text.
470
471 .IP PSINCR
472 Sets the point size increment for each level of heading (set with
473 `NH'), below the threshold level set by `GROWPS'; e.g., if
474 \en[PS]\~=\~10, \en[GROWPS]\~=\~3 and \en[PSINCR]\~=\~2.0p, then `.NH\~1'
475 will produce 14pt headings, `.NH\~2' will produce 12pt, and all other levels
476 will remain at 10pt (because \en[PS]\~=\~10).
477
478 .LI
479 The `SH' macro now accepts a numeric argument, to make heading size
480 match that of `NH' with same argument value when the `GROWPS'/`PSINCR'
481 feature is enabled.
482 .ULE
483
484 Please refer to the documentation of the ms package for other, minor
485 improvements.
486
487 .LI
488 me.tmac
489
490 The section type set with the `++' request is available in the `_M'
491 register.
492 This isn't new but hasn't been documented before.
493
494 .LI
495 www.tmac
496
497 The `HR' macro no longer causes an empty line for non-HTML devices.
498
499 A new macro `HEAD' has been added to directly add data to the
500 <head>...</head> block.
501
502 New macros `OLS' and `OLE' to start and end an ordered list.
503
504 New macros `DLS' and `DLE' to start and end a definition list.
505 .ULE
506 .
507 .
508 .SH 2
509 pdfmark
510
511 .ULS
512 .LI
513 A new macro package contributed by Keith Marshall which implements PDF
514 marks.
515 This is in alpha stage currently.
516 .ULE
517 .
518 .
519 .SH 2
520 miscellaneous
521
522 .ULS
523 .LI
524 Two new keywords to the DESC file have been added which are needed for
525 grohtml: `image_generator' and `unscaled_charwidths'.
526 The former gives the name of the program which creates PNG images,
527 and the latter makes troff always use unscaled character widths.
528 .ULE
529 .
530 .
531 .SH
532 NEWS VERSION 1.19.1
533 .
534 .SH 2
535 groff
536
537 .ULS
538 .LI
539 The argument of the command line option `\-I' is now also passed to troff
540 and grops, specifying a directory to search for files on the command line,
541 files named in `so' and `psbb' requests, and files named in \eX'ps:\~file'
542 and \eX'ps:\~import' escapes.
543
544 .LI
545 If option `\-V' is used more than once, the commands will be both printed
546 on standard error and run.
547 .ULE
548 .
549 .
550 .SH 2
551 troff
552
553 .ULS
554 .LI
555 Two new read-only, string-valued registers `.m' and `.M' return the
556 name of the current drawing and background color, respectively.
557
558 .LI
559 New read-only register `.U' which is set to\~1 if in safer mode and set
560 to\~0 if in unsafe mode.
561
562 .LI
563 An input encoding file for \%latin-5 (a.k.a.\& ISO \%8859-9) has been
564 added.
565 Example use:
566
567 .in 2m
568 .ft C
569 groff \-Tdvi \-mlatin5 my_file > my_file.dvi
570 .ft R
571 .in
572
573 Note that some output devices don't support all glyphs of this encoding.
574
575 .LI
576 If the `return' request is called with an argument, it exits twice,
577 namely the current macro and the macro one level higher.
578 This is used to define a wrapper macro for `return' in trace.tmac.
579
580 .LI
581 For completeness, two new requests have been added: `dei1' and `ami1'.
582 They are equivalent to `dei' and `ami', respectively, but the macros
583 are executed with compatibility mode off (similar to `de1' and `am1').
584
585 .LI
586 New command line option `\-I' to specify a directory for files (both
587 those on the command line and those named in `psbb' requests).
588 This is also handled by the groff wrapper program.
589
590 .LI
591 Since version 1.19 you can say `.vs\~0'.
592 Older versions emit a warning and convert this to `.vs\~\en[.V]'.
593
594 This hasn't been documented properly.
595 Note that `.vs\~0' isn't saved in a diversion since it doesn't result
596 in vertical motion.
597 .ULE
598 .
599 .
600 .SH 2
601 pic
602
603 .ULS
604 .LI
605 Dashed and dotted ellipses have been implemented.
606 .ULE
607 .
608 .
609 .SH 2
610 tbl
611
612 .ULS
613 .LI
614 New key character `x' to make tbl call a user-defined macro on a table
615 cell.
616 Patch by
617 .MTO hj.oertel@\:surfeu.de "Heinz-J\[:u]rgen Oertel" .
618 .ULE
619 .
620 .
621 .SH 2
622 grap2graph
623
624 .ULS
625 .LI
626 A new script contributed by
627 .MTO esr@\:thyrsus.com "Eric S. Raymond" .
628 It converts a grap diagram into a cropped image.
629 Since it uses gs and the PNM library, virtually all graphics formats
630 are available for output.
631 [Note that the grap program itself isn't part of the groff package;
632 see the file MORE.STUFF how to obtain grap.]
633 .ULE
634 .
635 .
636 .SH 2
637 grohtml
638
639 .ULS
640 .LI
641 New option `\-j' to emit output splitted into multiple files.
642 .ULE
643 .
644 .
645 .SH 2
646 grops
647
648 .ULS
649 .LI
650 New command line option `\-I' to specify a directory to search for files
651 on the command line and files named in \eX'ps:\~import' and \eX'ps:\~file'
652 escapes.
653 This is also handled by the groff wrapper program.
654
655 .LI
656 The default value for the `broken' keyword in the DESC file is now\~0.
657 .ULE
658 .
659 .
660 .SH 2
661 grolj4
662
663 .ULS
664 .LI
665 A new man page `lj4_font(5)' documents how fonts are accessed with
666 grolj4.
667
668 .LI
669 The built-in fonts for LJ4 and newer PCL\~5 devices have been completely
670 revised, mainly to access as much glyphs as possible.
671 The provided metric files should be compatible with recent PCL\~5 printers
672 also.
673 Additionally, font description files have been added for the Arial and
674 Times New Roman family, the MS symbol, and Wingdings fonts.
675 .ULE
676 .
677 .
678 .SH 2
679 afmtodit
680
681 .ULS
682 .LI
683 New option `\-x' to prevent use of built-in Adobe Glyph List.
684 .ULE
685 .
686 .
687 .SH 2
688 hpftodit
689
690 .ULS
691 .LI
692 Completely revised to handle HP TrueType metric files also.
693 See the hpftodit manual page for more details.
694 .ULE
695 .
696 .
697 .SH 2
698 groffer
699
700 .ULS
701 .LI
702 This version is a rewrite of groffer in many parts, but it is kept in
703 the old single script style.
704
705 .ULS
706 .LI
707 New options: \-\-text (\-\-mode\~text), \-\-tty-viewer, \-\-X (\-\-mode\~X),
708 \-\-X-viewer, \-\-html (\-\-mode\~html), \-\-html-view, \-\-apropos-data,
709 \-\-apropos-devel, \-\-apropos-progs.
710
711 .LI
712 New documentation file README_SH.
713
714 .LI
715 Enhancement of the configuration files and the `apropos' handling.
716 .ULE
717 .ULE
718 .
719 .
720 .SH 2
721 macro packages
722
723 .ULS
724 .LI
725 www.tmac: New macro `JOBNAME' to split output into multiple files.
726
727 .LI
728 In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY
729 section.
730 .ULE
731 .
732 .
733 .SH
734 NEWS VERSION 1.19
735 .
736 .SH 2
737 troff
738
739 .ULS
740 .LI
741 Input encoding files for \%latin-9 (a.k.a.\& \%latin-0 and ISO \%8859-15)
742 and \%latin-2 (ISO \%8859-2) have been added.
743 Example use:
744
745 .in 2m
746 .ft C
747 groff -Tdvi -mlatin9 my_file > my_file.dvi
748 .ft P
749 .in
750
751 You still need proper fonts with the necessary glyphs.
752 Out of the box, the groff package supports \%latin-9 only for \-Tps,
753 \-Tdvi, and \-Tutf8, and \%latin-2 only for \-Tdvi and \-Tutf8.
754
755 .LI
756 Composite glyphs are now supported.
757 To do this, a subset of the Adobe Glyph List (AGL) Algorithm as described in
758 .URL http://partners.adobe.com/asn/tech/type/unicodegn.jsp \
759      http://partners.adobe.com/asn/tech/type/unicodegn.jsp
760 is used to construct glyph names based on Unicode character codes.
761 The existing groff glyph names are frozen; no glyph names which can't be
762 constructed algorithmically will be added in the future.
763
764 The \e[...] escape sequence has been extended to specify multiple glyph
765 components.
766 Example:
767
768 .in 2m
769 .ft C
770 \e[A ho]
771 .ft R
772 .in
773
774 this accesses a glyph with the name `u0041_0328'.
775
776 Some groff glyphs which are useful as composites map to `wrong' Unicode
777 code points.
778 For example, `ho' maps to U+02DB which is a spacing ogonek, whereas a
779 non-spacing ogonek U+0328 is needed for composite glyphs.
780 The new request
781
782 .in 2m
783 .ft C
784 \&.composite from to
785 .ft R
786 .in
787
788 will change the mapping while a composite glyph name is constructed.
789 To make \e[A\~ho] yield the expected result,
790
791 .in 2m
792 .ft C
793 \&.composite ho u0328
794 .ft R
795 .in
796
797 is needed.
798 [The new file `composite.tmac' loaded at start-up already
799 contains proper calls to `.composite'.]
800
801 Please refer to the info pages of groff and to the groff_char man page
802 for more details.
803
804 .LI
805 A new request `fschar' has been added to define font-specific fallback
806 characters.
807 They are searched after the list of fonts declared with the
808 `fspecial' request but before the list of fonts declared with `special'.
809
810 .LI
811 Fallback characters defined with `fschar' can be removed with the
812 new `rfschar' request.
813
814 .LI
815 A new request `schar' has been added to define global fallback
816 characters.
817 They are searched after the list of fonts declared with the
818 `special' request but before the already mounted special fonts.
819
820 .LI
821 In groff versions 1.18 and 1.18.1, \eD'f\~...'\& didn't move the current
822 point horizontally.
823 Despite of being silly, this change has been reverted for backwards
824 compatibility.
825 Consequently, the intermediate output command `Df' also moves the 
826 position horizontally again.
827
828 \eD'f\~...'\& is deprecated since it depends on the horizontal resolution
829 of the output device (given with the `hor' parameter in the DESC file).
830 Use the new \eD'Fg\~...'\& escape instead.
831
832 .LI
833 For orthogonality, new \eD subcommands to change the fill color are
834 available:
835
836 .in 2m
837 .ft C
838 \eD'Fr ...' \f[R](rgb)\f[]
839 .br
840 \eD'Fc ...' \f[R](cmy)\f[]
841 .br
842 \eD'Fg ...' \f[R](gray)\f[]
843 .br
844 \eD'Fk ...' \f[R](cmyk)\f[]
845 .br
846 \eD'Fd' \f[R](default color)\f[]
847 .ft R
848 .in
849
850 The arguments are the same as with the `defcolor' request.
851 The current position is \f[I]not\f[] changed.
852
853 .LI
854 The values set with \eH and \eS are now available in number registers
855 \en[.height] and \en[.slant], respectively.
856
857 .LI
858 The `.pe' number register isn't new but hasn't been documented before.
859 It is set to\~1 during a page ejection caused by the `bp' request.
860
861 .LI
862 The new glyph symbol `tno' is a textual variant of `no'.
863
864 .LI
865 The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
866 (Well, it is not really new since it has been previously supported by
867 grolj4.)
868 The mapping for both the dvi and lj4 symbol font has been
869 changed accordingly so that Greek small letter epsilon, `*e', has the
870 same glyph shape as with other devices.
871 .ULE
872 .
873 .
874 .SH 2
875 grops
876
877 .ULS
878 .LI
879 The font `freeeuro.pfa' has been added to provide various default glyph
880 shapes for `eu' and `Eu'.
881
882 .LI
883 It is now possible to access all glyphs in a Type\~1 font, not only 256
884 (provided the font file created by afmtodit has proper entries).
885 grops constructs additional encoding vectors on the fly if necessary.
886
887 .LI
888 The paper size is now emitted via the %%DocumentMedia and PageSize
889 mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
890 about the paper size.
891 The `broken' flag value\~16 omits this feature
892 (the used PostScript command `setpagedevice' is a LanguageLevel\~2
893 extension).
894 Patch by
895 .MTO egil@\:kvaleberg.no "Egil Kvaleberg" .
896
897 .LI
898 Non-slanted PostScript metrics have been changed again; they no longer
899 contain negative left italic correction values.
900 This assures correct spacing with eqn.
901 .ULE
902 .
903 .
904 .SH 2
905 grodvi
906
907 .ULS
908 .LI
909 The font cmtex10 has been added as the special font `SC' to the DVI fonts.
910 It is used as a font-specific special font for CW and CWI.
911
912 .LI
913 New options \-l and \-p to set landscape orientation and the paper size.
914 grodvi now emits a `papersize' special which is understood by DVI drivers
915 like dvips.
916
917 Consequently, the DESC file should contain a `papersize' keyword.
918
919 .LI
920 The glyph shapes for \e[*f] and \e[*e] have been exchanged with \e[+f] and
921 \e[+e], respectively, to be in sync with all other devices.
922
923 .LI
924 Glyphs \e[HE] and \e[DI] have been replaced with \e[u2662] and \e[u2661],
925 respectively, since the former two glyphs have a black (filled) shape
926 which grodvi doesn't provide by default (it never has actually).
927 .ULE
928 .
929 .
930 .SH 2
931 grolj4
932
933 .ULS
934 .LI
935 The glyphs \e[*e] and \e[+e] have been exchanged to be in sync with
936 all other devices.
937
938 .LI
939 The glyph \e[~=] is now called \e[|=].  Similar to other devices, \e[~=]
940 is now another name for glyph \e[~~].
941 .ULE
942 .
943 .
944 .SH 2
945 grotty
946
947 .ULS
948 .LI
949 New option `\-r'.
950 It is similar to the \-i option except it tells grotty to
951 use the `reverse video' attribute to render italic fonts.
952 .ULE
953 .
954 .
955 .SH 2
956 pic
957
958 .ULS
959 .LI
960 New command `figname' to set the name of a picture's output box in TeX
961 mode.
962 .ULE
963 .
964 .
965 .SH 2
966 refer
967
968 .ULS
969 .LI
970 The environment variable `REFER' to override the name of the default
971 database isn't new but hasn't been documented before.
972 .ULE
973 .
974 .
975 .SH 2
976 soelim
977
978 .ULS
979 .LI
980 New option `\-r' to avoid emission of `.lf' lines.
981
982 .LI
983 New option `\-t' to emit TeX comment lines (giving current file and the
984 line number) instead of `.lf' lines.
985 .ULE
986 .
987 .
988 .SH 2
989 afmtodit
990
991 .ULS
992 .LI
993 Unencoded glyphs in an AFM file are output also (since grops can now emit
994 multiple encoding vectors for a single font).
995
996 .LI
997 New option `\-m' to prevent negative left italic correction values.
998
999 .LI
1000 The mapping and encoding file together with file `DESC' are now searched
1001 in the default font directory also.
1002 Please refer to the man page of afmtodit for more details.
1003 .ULE
1004 .
1005 .
1006 .SH 2
1007 macro packages
1008
1009 .ULS
1010 .LI
1011 .MTO kollar@\:alltel.net "Larry Kollar"
1012 and others made the man macros more customizable.
1013
1014 .ULS
1015 .LI
1016 New command line options \-rFT, \-rIN, and \-rSN to set the vertical
1017 location of the footer line, the body text indentation, and the
1018 sub-subheading indentation.
1019
1020 .LI
1021 New command line option \-rHY (similar to the ms macros) to control
1022 hyphenation.
1023
1024 .LI
1025 New macros `.PT' and `.BT' to print the header and footer strings.
1026 They can be replaced with a customized version in `man.local'.
1027
1028 .LI
1029 The string `HF' now holds the typeface to print headings and
1030 subheadings.
1031
1032 .LI
1033 Similar to the ms macros, the LT register now defaults to LL if not
1034 explicitly specified on the command line.
1035 .ULE
1036
1037 .LI
1038 troff's start-up file `troffrc' now includes `papersize.tmac' to set
1039 the paper size with the command line option `-dpaper=<size>'.
1040
1041 Possible values for `<size>' are the same as the predefined `papersize'
1042 values in the DESC file (only lowercase; see the groff_font man page)
1043 except \%a7-d7.
1044 An appended `l' (ell) character denotes landscape orientation.
1045 Examples: `a4', `c3l', `letterl'.
1046
1047 Most output drivers need additional command line switches `\-p' and
1048 `\-l' to override the default paper length and orientation as set in
1049 the driver specific DESC file.
1050
1051 For example, use the following for PS output on A4 paper in landscape
1052 orientation:
1053
1054 .in 2m
1055 .ft C
1056 groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
1057 .ft R
1058 .in
1059 .ULE
1060 .
1061 .
1062 .SH
1063 NEWS VERSION 1.18.1
1064 .
1065 .SH 2
1066 troff
1067
1068 .ULS
1069 .LI
1070 The non-slanted PostScript font definition files have been regenerated to
1071 include left and right italic correction values.
1072 Applying those to a glyph (this is, prepending the glyph with `\e,' and
1073 appending `\e/' to the glyph) sets the glyph width to the real value given
1074 by the horizontal bounding box values.
1075 Without those escapes, the advance width for the particular glyph is used
1076 (which can differ considerably).
1077
1078 Most users will neither need this feature nor notice a difference in
1079 existing documents (provided \e, and \e/ is used as advertised, namely for
1080 italic fonts only); its main goal is to improve image generation with
1081 grohtml.
1082
1083 This is an experimental change, and feedback is welcome.
1084 .ULE
1085 .
1086 .SH 2
1087 tbl
1088
1089 .ULS
1090 .LI
1091 Added global option `nospaces' to ignore leading and trailing spaces in data
1092 items.
1093 .ULE
1094 .
1095 .SH 2
1096 grolbp
1097
1098 .ULS
1099 .LI
1100 The option \-w (\-\-linewidth) has been added (similar to other device
1101 drivers) to set the default line width.
1102 .ULE
1103 .
1104 .SH 2
1105 grn
1106
1107 .ULS
1108 .LI
1109 Support for b-spline and Bezier curves has been added.
1110 .ULE
1111 .
1112 .SH 2
1113 groffer
1114
1115 .ULS
1116 .LI
1117 New option \-\-shell to select the shell under wich groffer shall run.
1118 .ULE
1119 .
1120 .SH 2
1121 Macro Packages
1122
1123 .ULS
1124 .LI
1125 The string `Am' (producing an ampersand) has been added to mdoc for
1126 compatibility with NetBSD.
1127
1128 .LI
1129 `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit)
1130 instead.
1131
1132 .LI
1133 In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal
1134 and vertical movements; please refer to contrib/mom/NEWS for more
1135 details.
1136
1137 .LI
1138 New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers.
1139 .ULE
1140 .
1141 .SH 2
1142 Miscellaneous
1143
1144 .ULS
1145 .LI
1146 The `papersize' keyword in the DESC file now accepts multiple arguments.
1147 It is scanned from left to the right, and the first valid argument is used.
1148 This makes it possible to provide a fallback paper size.
1149
1150 Example:
1151
1152 .in 2m
1153 .ft C
1154 papersize /etc/papersize a4
1155 .ft P
1156 .in
1157
1158 .LI
1159 A local font directory has been prepended to the default font path; it
1160 defaults to /usr/local/share/groff/site-font.  Similar to the normal
1161 font searching process, files must be placed into a dev\f[I]XXX\f[]
1162 subdirectory, e.g.
1163
1164 .in 2m
1165 .ft C
1166 /usr/local/share/groff/site-font/devps/FOO
1167 .ft P
1168 .in
1169
1170 for a PostScript font definition file FOO.
1171 .ULE
1172 .
1173 .
1174 .SH
1175 NEWS VERSION 1.18
1176
1177 This section describes recent user-visible changes in groff.
1178 Bug fixes are not described.
1179 There are more details in the man pages.
1180
1181 .ad c
1182 \s[+5]\m[red]\
1183 Please read the changes below regarding
1184 .ie '\*[.T]'html' \
1185 .  URL #grotty grotty ,
1186 .el \
1187 .  nop grotty,
1188 groff's tty frontend.\
1189 \m[]\s[0]
1190 .br
1191 .ad n
1192 .
1193 .SH 2
1194 Troff
1195
1196 .ULS
1197 .LI
1198 Color support has been added to troff and pic (and to the device drivers
1199 grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will
1200 follow).
1201 A new function `defcolor' defines colors; the escape sequence `\em' sets the
1202 drawing color, the escape sequence `\eM' specifies the background color for
1203 closed objects created with \eD'.\|.\|.' commands.
1204 `\em[]' and `\eM[]' switch back to the previous color.
1205 `\em' and `\eM' correspond to the new troff output command sets starting
1206 with `m' and `DF'.
1207 The device-specific default color is called `default' and can't be
1208 redefined.
1209
1210 Use the `color' request to toggle the usage of colors (default is on); the
1211 read-only register `.color' is\~0 if colors are not active, and non-zero
1212 otherwise.
1213
1214 The old `Df' output command is mapped onto `DFg'; all color output
1215 commands don't change the current font position (consequently, `Df'
1216 doesn't either).
1217
1218 Outputting color can be disabled in troff and groff with the option\~\-c
1219 (it is always disabled in compatibility mode).
1220 See the section on grotty for the
1221 .ie '\*[.T]'html' \
1222 .  URL #GROFF_NO_SGR GROFF_NO_SGR
1223 .el \
1224 . nop GROFF_NO_SGR
1225 environment variable also.
1226
1227 For defining color components as fractions between 0 and\~1, a new scaling
1228 indicator `f' has been defined: 1f\~=\~65536u.
1229 For testing whether a color is defined (with .if and .ie), a new
1230 conditional operator `m' is available.
1231
1232 More details can be found in the groff_diff.7 manual page and in
1233 groff.texinfo.
1234
1235 .LI
1236 Similar to \em and \eM, \ef[] switches back to the previous font.
1237 \efP (and \ef[P]) is still valid for backwards compatibility.
1238
1239 .LI
1240 The new escape \eF is the same as `.fam'; \eF[] switches back to previous
1241 family -- \eF[P] selects family `P'.
1242
1243 .LI
1244 Two new glyph symbols are available: `eu' is the official Euro symbol;
1245 `Eu' is a font-specific glyph variant.
1246
1247 .LI
1248 The new glyph symbols `t+\-', `tdi', and `tmu' are textual variants of
1249 `+\-', `di', and `mu', respectively.
1250
1251 .LI
1252 Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has
1253 got the troff glyph name `mc'.
1254
1255 .LI
1256 \-Tutf8 is now available on EBCDIC hosts.
1257
1258 .LI
1259 Strings can take arguments, using this syntax: \e*[foo\~arg1\~arg2\~.\|.\|.].
1260 Example:
1261
1262 .in 2m
1263 .nf
1264 .ft C
1265 \&.ds xxx This is a \e\e$1 test.
1266 \e*[xxx nice]
1267 .ft P
1268 .fi
1269 .in
1270
1271 .LI
1272 It is now possible to have whitespace between the first and second dot (or
1273 the name of the ending macro) to end a macro definition.
1274 Example:
1275
1276 .in 2m
1277 .nf
1278 .ft C
1279 \&.de !
1280 \&..
1281 \&.
1282 \&.de foo
1283 \&.  nop Hello, I'm `foo'.
1284 \&.  nop I will now define `bar'.
1285 \&.  de bar !
1286 \&.    nop Hello, I'm `bar'.
1287 \&.  !
1288 \&..
1289 .ft P
1290 .fi
1291 .in
1292
1293 .LI
1294 `.fn' is a new string-valued register which returns the (internal) real
1295 font name; styles and families are properly concatenated.
1296
1297 .LI
1298 Three new read/write registers `seconds', `minutes', and `hours' contain
1299 the current time, set at start-up of troff.
1300 Use the `af' request to control their output format.
1301
1302 .LI
1303 The new request `fchar' can be used to provide fallback characters.
1304 It has the same syntax as the `char' request; the only difference is that
1305 a character defined with `.char' hides the glyph with the same name in the
1306 current font, whereas a character defined with `.fchar' is checked only if
1307 the particular glyph isn't found in the current font.
1308 This test happens before checking special fonts.
1309
1310 .LI
1311 In analogy to the `tmc' request, `.writec' is the same as `.write' but
1312 doesn't emit a final newline.
1313
1314 .LI
1315 The new request `itc' is a variant of `.it' for which a line interrupted
1316 with \ec counts as one input line.
1317
1318 .LI
1319 Two new requests `ds1' and `as1' which are similar to `ds' and `as' but
1320 with compatibility mode disabled during expansion of strings defined by
1321 them.
1322
1323 .LI
1324 The syntax of the `substring' request has been changed:
1325 The first character in a string now has index\~0, the last character
1326 has index\~\-1.
1327 Note that this is an incompatible change.
1328
1329 .LI
1330 To emit strings directly to the intermediate output, a new `output'
1331 request has been added; it is similar to `\e!' used at the top level.
1332
1333 .LI
1334 `.hpf' has been extended.
1335 It can now handle most TeX hyphenation pattern files without
1336 modification.
1337 To do that, the commands \epatterns, \ehyphenation, and \eendinput are
1338 recognized.
1339 Please refer to groff_diff.7 for more information.
1340
1341 .LI
1342 `hpfcode' is a new request to provide an input encoding mapping for the
1343 `hpf' request.
1344
1345 .LI
1346 The new request `hpfa' appends hyphenation patterns (`hpf' replaces
1347 already existing patterns).
1348
1349 .LI
1350 A new request `ami' (append macro indirect) has been added.
1351 The first and second parameter of `ami' are taken from string registers
1352 rather than directly; this very special request is needed to make
1353 `trace.tmac' independent from the escape character (which might even
1354 be disabled).
1355
1356 .LI
1357 The new request `sizes' is similar to the `sizes' command in DESC files.
1358 It expects the same syntax; the data must be on a single line, and the
1359 final `0' can be omitted.
1360
1361 .LI
1362 `trin' (translate input) is a new request which is similar to `tr' with
1363 the exception that the `asciify' request will use the character code (if
1364 any) before the character translation.
1365 Example:
1366
1367 .in 2m
1368 .nf
1369 .ft C
1370 \&.trin ax
1371 \&.di xxx
1372 a
1373 \&.br
1374 \&.di
1375 \&.xxx
1376 \&.trin aa
1377 \&.asciify xxx
1378 \&.xxx
1379 .ft P
1380 .fi
1381 .in
1382
1383 The result is `x\~a'.  Using `tr', the result would be `x\~x'.
1384
1385 .LI
1386 The request `pvs' isn't new, but hasn't been documented before.
1387 It adds vertical space after a line has been output.
1388 This makes it an alternative to the `ls' request to produce
1389 double-spaced documents.
1390 The read-only register `.pvs' holds the current amount of the
1391 post-vertical line space.
1392
1393 .LI
1394 For compatibility with plan 9's troff, multiple `pi' requests are
1395 supported:
1396
1397 .in 2m
1398 .nf
1399 .ft C
1400 \&.pi foo
1401 \&.pi bar
1402 .ft P
1403 .fi
1404 .in
1405
1406 is now equivalent to
1407
1408 .in 2m
1409 .ft C
1410 \&.pi foo | bar
1411 .ft P
1412 .in
1413
1414 .LI
1415 A new escape sequence `\eO' is available to disable and enable glyph
1416 output.
1417 Please see groff_diff.man and groff.texinfo for more details.
1418
1419 .LI
1420 The escapes `\e%', `\e&', `\e)', and `\e:' no longer cause an error in \eX;
1421 they are ignored now.
1422 Additionally `\e\ ' and `\e~' are converted to single space characters.
1423
1424 .LI
1425 The default tab distance in nroff mode is now 0.8i to be compatible
1426 with UNIX troff.
1427
1428 .LI
1429 Using the latin-1 input character 0xAD (soft hyphen) for the `shc'
1430 request was a bad idea.
1431 Instead, it is now translated to `\e%', and the default hyphenation
1432 character is again \e[hy].
1433 Note that the glyph \e[shc] is not useful for typographic purposes;
1434 it only exists to have glyph names for all latin-1 characters.
1435 .ULE
1436 .
1437 .SH 2
1438 Macro Packages
1439
1440 .ULS
1441 .LI
1442 .MTO df191@\:ncf.ca "Peter Schaffter"
1443 has contributed a new major macro package called `mom', mainly for
1444 non-scientific writers, which takes care of many typographic issues.
1445 It comes with a complete reference (in HTML format) and some examples.
1446 `mom' has been designed to format documents for PostScript output only.
1447
1448 .LI
1449 Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to
1450 the man macros for compatibility with older BSD releases.
1451
1452 .LI
1453 Both the man and mdoc macro packages now use the LL and LT registers for
1454 setting the line and title length, respectively (similar to those
1455 registers in the ms macro package).
1456 If not set on the command line or in a macro file loaded before the macro
1457 package itself, they default to 78n in nroff mode and 6.5i in troff mode.
1458
1459 .LI
1460 The `\-xwidth' specifier in the mdoc macro package has been removed.
1461 Its functionality is now integrated directly into `\-width'.
1462 Similarly, `\-column' has been extended to has this functionality also.
1463
1464 .LI
1465 A new macro `Ex' has been added to the mdoc macro package to document an
1466 exit status.
1467
1468 .LI
1469 `troff.man' has been split.  Differences to UNIX troff are now documented
1470 in the new man page `groff_diff.man'.
1471
1472 .LI
1473 The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is
1474 now automatically loaded for \-Tdvi), using a dvips special to load the EPS
1475 file.
1476
1477 .LI
1478 The trace.tmac package now traces calls to `am' also.
1479 Additionally, it works in compatibility mode.
1480
1481 .LI
1482 `troff.1' has been split.
1483 Differences to UNIX troff are now documented in the new man page
1484 `groff_diff.7'.
1485
1486 .LI
1487 `groff_mwww.7' has been renamed to `groff_www.7'.
1488 The file mwww.tmac has been removed.
1489
1490 .LI
1491 `groff_ms.7' has been completely rewritten.
1492 It now contains a complete reference to the ms macros.
1493
1494 .LI
1495 `groff_trace.7' documents the trace macro package.
1496
1497 .LI
1498 Changes in www.tmac
1499
1500 Note that HTML support is still in alpha change, so it is rather likely
1501 that both macro names and macro syntax will change.
1502 Some of the macros mentioned below aren't really new but haven't been
1503 documented properly before.
1504
1505 .ULS
1506 .LI
1507 The following macros have been renamed:
1508
1509 .in 2m
1510 .nf
1511 MAILTO -> MTO
1512 IMAGE  -> IMG
1513 LINE   -> HR
1514 .fi
1515 .in
1516
1517 .LI
1518 For consistency, the macros `URL', `FTL', and `MTO' now all have the
1519 address as the first parameter followed by the description.
1520
1521 .LI
1522 By default, grohtml generates links to all section headings at the top
1523 of the document.
1524 Use the new `LK' macro to specify a different place.
1525
1526 .LI
1527 For specifying the background color and a background image, use the
1528 new macros `BCL' and `BGIMG', respectively.
1529
1530 .LI
1531 The macro `NHR' has been added; it suppresses the generation of top and
1532 bottom rules which grohtml emits by default.
1533
1534 .LI
1535 The new macro `HX' determines the cut-off point for automatic link
1536 generation to headings.
1537
1538 .LI
1539 The image position parameter names in `IMG' have been changed to `\-L',
1540 `\-R', and `\-C'.
1541
1542 .LI
1543 New macro `PIMG' for inclusion of a PNG image (it will automatically
1544 convert it into an EPS file if not \-Thtml is used).
1545
1546 .LI
1547 New macro `MPIMG' for putting a PNG image into the left or right margin
1548 (it will automatically convert it into an EPS file if not \-Thtml is used).
1549
1550 .LI
1551 New macros `HnS', `HnE' to start and end a header line block.
1552
1553 .LI
1554 New macro `DC' to produce dropcap characters.
1555
1556 .LI
1557 New macro `HTL' to generate an HTML title line only but no H1 heading.
1558
1559 .LI
1560 New macros `ULS' and `ULE' to start and end an unordered list.
1561 The new macro `LI' inserts a list item.
1562 .ULE
1563 .ULE
1564 .
1565 .
1566 .SH 2
1567 groff
1568
1569 .ULS
1570 .LI
1571 The new command line `\-c' disables color output (which is always disabled
1572 in compatibility mode).
1573 .ULE
1574 .
1575 .
1576 .SH 2
1577 Nroff
1578
1579 .ULS
1580 .LI
1581 Two new command line options `\-c' and `\-C'; the former passes `\-c' to
1582 grotty (switching to the old output scheme); the latter passes `\-C' to
1583 groff (enabling compatibility mode).
1584 .ULE
1585 .
1586 .
1587 .SH 2
1588 pic
1589
1590 .ULS
1591 .LI
1592 New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
1593 `outlined'), and `shaded' are available.
1594 `outline' sets the color of the outline, `shaded' the fill color, and
1595 `color' sets both.
1596 Example:
1597
1598 .in 2m
1599 .ft C
1600 circle shaded "green" outline "black" ;
1601 .ft P
1602 .in
1603
1604 Filled arrows always use the outline color for filling.
1605
1606 Color support for TeX output is not implemented yet.
1607 .ULE
1608 .
1609 .
1610 .SH 2
1611 Pic2graph
1612
1613 .ULS
1614 .LI
1615 A new script contributed by
1616 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1617 It converts a PIC diagram into a cropped image.
1618 Since it uses gs and the PNM library, virtually all graphics formats
1619 are available for output.
1620 .ULE
1621 .
1622 .
1623 .SH 2
1624 Eqn2graph
1625
1626 .ULS
1627 .LI
1628 A new script contributed by
1629 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1630 It converts an EQN diagram into a cropped image.
1631 Since it uses gs and the PNM library, virtually all graphics formats
1632 are available for output.
1633 .ULE
1634 .
1635 .
1636 .SH 2
1637 Groffer
1638
1639 .ULS
1640 .LI
1641 A new script contributed by
1642 .MTO bwarken@mayn.de "Bernd Warken" .
1643 It displays groff files and man pages on X and tty, taking care of most
1644 parameters automatically.
1645 .ULE
1646 .
1647 .
1648 .SH 2
1649 Grog
1650
1651 .ULS
1652 .LI
1653 Documents using the mom macro package are recognized.
1654 .ULE
1655 .
1656 .
1657 .SH 2
1658 grops
1659
1660 .ULS
1661 .LI
1662 Color support has been added.
1663
1664 .LI
1665 A new option `\-p' is available to select the output paper size.
1666 It has the same syntax as the new `papersize' keyword in the DESC file.
1667 .ULE
1668 .
1669 .
1670 .SH 2
1671 Grodvi
1672
1673 .ULS
1674 .LI
1675 By default, font sizes are now available in the range 5\-10000pt, similar
1676 to PS fonts.
1677 If you want the old behaviour (i.e., font sizes at discrete values only),
1678 insert the following at the start of your document:
1679
1680 .in 2m
1681 .nf
1682 .ft C
1683 \&.if '\e*[.T]'dvi' \e
1684 \&.  sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \e
1685 \&         1728 1800 2000 2074 2200 2400 2488 2800 3600
1686 .ft P
1687 .fi
1688 .in
1689
1690 .LI
1691 A new font file HBI (using cmssbxo10; this is slanted sans serif bold
1692 extended) has been added.
1693
1694 .LI
1695 Two font families are now available: `T' and `H'.
1696
1697 .LI
1698 EC and TC fonts have been integrated.
1699 Use `\-mec' (calling the file ec.tmac) to switch to them.
1700 Those fonts give a much better coverage of the symbols defined by groff
1701 than the CM fonts.
1702
1703 Note that ec.tmac must be called before any language-specific files; it
1704 doesn't take care of hcode values.
1705
1706 .LI
1707 Color support has been added.
1708 For drawing commands, colors are translated to gray values currently.
1709 .ULE
1710 .
1711 .
1712 .TAG grotty
1713 .SH 2
1714 Grotty
1715
1716 .ULS
1717 .LI
1718 Color support has been added, using the SGR (ISO\~6429, sometimes called
1719 ANSI color) escape sequences.
1720
1721 .LI
1722 SGR escape sequences are now used by default for underlining and bold
1723 printing also, no longer using the backspace character trick.
1724 To revert to the old behaviour, use the `\-c' switch.
1725
1726 Note that you have to use the `\-R' option of `less' to make SGR escapes
1727 display correctly.
1728 On the other hand, terminal programs and consoles like `xterm' which
1729 support SGR sequences natively can directly display the output of grotty.
1730 Consequently, the options `\-b', `\-B', `\-u', and `\-U' work only in
1731 combination with `\-c' and are ignored silently otherwise.
1732
1733 For the `man' program, it may be necessary to add the `\-R' option of
1734 `less' to the $PAGER environment variable; alternatively, you can use
1735 `man's `\-P' option (or adapt its configuration file accordingly).
1736 See man(1) for more details.
1737
1738 .TAG GROFF_NO_SGR
1739 .LI
1740 If the environment variable GROFF_NO_SGR is set, SGR output is disabled,
1741 reverting to the old behaviour.
1742
1743 .LI
1744 A new special \eX'tty:\~sgr\~n' has been added; if n is non-zero or missing,
1745 enable SGR output (the default).
1746
1747 .LI
1748 If the new option `\-i' is used (only in SGR mode), grotty sends escape
1749 sequences to set the italic font attribute instead of the underline
1750 attribute for italic fonts.
1751 Note that many terminals don't have support for this (including xterm).
1752 .ULE
1753 .
1754 .
1755 .SH 2
1756 grohtml
1757
1758 .ULS
1759 .LI
1760 Color support for glyphs has been added.
1761
1762 .LI
1763 New option `\-h' to select the style of headings in HTML output.
1764
1765 .LI
1766 New option `\-b' to set the background colour to white.
1767
1768 .LI
1769 New options `\-a' and `\-g' to control the number of bits for anti-aliasing
1770 used for text and graphics, respectively.
1771 Default value is\~4; 0\~means no anti-aliasing.
1772
1773 .LI
1774 groff character/glyph entities now map onto HTML\~4 character entities.
1775 .ULE
1776 .
1777 .
1778 .SH 2
1779 Grolbp
1780
1781 .ULS
1782 .LI
1783 Valid paper sizes are now specified as with the new `papersize' keyword
1784 in the DESC file.
1785 Specifically, the old custom paper type format `custAAAxBBB' is no longer
1786 supported.
1787 .ULE
1788 .
1789 .
1790 .SH 2
1791 Miscellaneous
1792
1793 .ULS
1794 .LI
1795 A new manual page `ditroff.7' is available.
1796
1797 .LI
1798 The groff texinfo manual will now be installed, together with a bunch
1799 of examples.
1800
1801 .LI
1802 A new keyword `papersize' has been added to the DESC file format.
1803 Its argument is either
1804
1805 .ULS
1806 .LI
1807 a predefined paper format (e.g. `A4' or `letter')
1808
1809 .LI
1810 a file name pointing to a file which must contain a paper size
1811 specification in its first line (e.g. `/etc/papersize')
1812
1813 .LI
1814 a custom paper size definition like `35c,4i'
1815 .ULE
1816
1817 See groff_font(5) for more details.
1818 This keyword only affects the physical dimensions of the output medium;
1819 grops, grolj4, and grolbp use it currently.
1820 troff completely ignores it.
1821 .ULE
1822 .
1823 .HR
1824 .
1825 \s[-2]\f[I]This document was produced using
1826 .URL http://groff.ffii.org/ groff-\n[.x].\n[.y].\n[.Y] .
1827 .br
1828 The image at the top has been contributed by Imogen Mulley (born 1991),
1829 based on a similar picture found on the
1830 .URL http://www.gnu.org "GNU server" .
1831 .HR
1832 .\" EOF