hpftodit has been extended to handle TrueType metric files and
[s-roff.git] / doc / webpage.ms
blobac5fbdd102f3c830e682ce4207b3d623d3927895
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 .mso www.tmac
14 .de blm-macro
15 .  nr tmp \\n[.i]
16 .  LP
17 .  in \\n[tmp]u
19 .blm blm-macro
21 .HX 0
23 .defcolor mydarkred rgb 0.65f 0.1f 0.2f
24 .defcolor mydarkgreen rgb 0.1f 0.5f 0.2f
25 .defcolor mydarkblue rgb 0.1f 0.2f 0.6f
27 .ds GNU \m[mydarkred]G\m[]\m[mydarkgreen]N\m[]\m[mydarkblue]U\m[]
29 .HTL
30 .NHR
32 Home of Groff (GNU Troff).
34 .HTML-IMAGE-LEFT
35 .PSPIC -L gnu.eps 2i 2i
36 .ie r ps4html \
37 .  nop \v'-0.66i'\h'2.0i'\s[100]\*[GNU] Troff\s0
38 .el \
39 .  nop \v'-0.66i'\h'2.0i'\s[60]\*[GNU] Troff\s0
40 .HTML-IMAGE-END
42 .HnS 1
43 .HR
44 GNU Troff
45 .URL http://\:groff.ffii.org/ (Groff)
46 \[em] a
47 .URL http://\:www.gnu.org/ GNU
48 project.
49 Hosted by
50 .URL http://\:ffii.org/ FFII .
51 .HR
52 .HnE
53 .LK
55 .DC T HE mydarkred
56 groff (GNU Troff) software
57 is a typesetting package which reads plain text mixed with
58 formatting commands and produces formatted output.
59 Groff now supports HTML.
62 .SH
63 Download
65 The source code of the currently released versions of groff is
66 available at the 
67 .URL "ftp://\:groff.ffii.org/\:pub/\:groff/" "FFII host (Germany)" ,
68 .URL "ftp://\:ftp.gnu.org/\:gnu/\:groff/" "GNU host (USA)" ,
69 and its mirrors.
71 The USA site also contains more old, obsolete versions.
73 The most actual pre-release, development version is available from a
74 CVS repository, see below.
76 Development snapshots (produced twice a day from the CVS repository)
77 can be downloaded with FTP from
78 .URL "ftp://\:groff.ffii.org/\:pub/\:groff/devel" here .
80 For a special version of groff on the Microsoft operating systems, see
81 .URL "http://\:gnuwin32.sf.net/\:packages/\:groffl.htm" "Groff for Windows" .
83 GNU troff is released under the
84 .URL http://\:www.gnu.org/\:copyleft/\:gpl.html "GNU Copyright License" .
86 User issues lead:
87 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
88 .br
89 Technical issues lead:
90 .MTO wl@\:gnu.org "Werner Lemberg"
93 .SH
94 README
96 This is the GNU groff document formatting system.
97 The version number is given in the file VERSION.
99 Included in this release are implementations of troff, pic, eqn, tbl, refer,
100 the \-man macros and the \-ms macros, and drivers for PostScript, TeX dvi
101 format, HP LaserJet 4 printers, HTML format (still alpha), and
102 typewriter-like devices.
103 Also included is a modified version of the Berkeley \-me macros, an enhanced
104 version of the X11 xditview previewer, and an implementation of the \-mm
105 macros contributed by
106 .MTO jh@\:axis.se "J\[:o]rgen H\[:a]gg" .
108 See the file INSTALL for installation instructions.
109 You will require a C++ compiler.
111 The file NEWS describes recent user-visible changes to groff.
113 Groff is free software.
114 See the file COPYING for copying permission.
116 The file PROBLEMS describes various problems that have been encountered in
117 compiling, installing, and running groff.
119 For the moment, the documentation assumes that you are already familiar with
120 the Unix versions of troff, \-man, \-ms and the preprocessors.
122 The most recent released version of groff is always available by anonymous
123 ftp from ftp.gnu.org in the directory pub/\:gnu/\:groff.
125 A CVS repository is now available, containing the current development
126 version of groff.
127 You can access it with the commands
129 .in 2m
131 .ft C
132 export CVSROOT=:pserver:anoncvs@anoncvs.ffii.org:/var/cvs
133 cvs login
134 cvs -z9 co groff
135 .ft P
139 (if the prompt for the password appears, just press the enter key).
140 After a successful login you no longer need the first two commands; an
141 update of a checked out repository should be done with
143 .in 2m
144 .ft C
145 cvs -z9 update -dP
146 .ft P
149 Please read the info pages of cvs for further details.
151 Alternatively, you can download snapshots (which are updated twice a day)
152 from
153 .URL ftp://\:ftp.ffii.org/\:pub/\:groff/\:devel/\:groff-current.tar.gz here
154 or a diff file relative to the latest official groff release as:
156 .in 2m
157 .ft C
158 ftp://ftp.ffii.org/pub/groff/devel/groff-\[la]version\[ra]-current.diff.gz
159 .ft P
162 Assuming that groff-\[la]version\[ra].tar.gz and
163 groff-\[la]version\[ra]-current.diff.gz are in the same directory, do the
164 following to apply the diff file:
166 .in 2m
168 .ft C
169 tar xzvf groff-\[la]version\[ra].tar.gz
170 cd groff-\[la]version\[ra]
171 gunzip -c ../groff-\[la]version\[ra]-current.diff.gz | patch -p1
172 .ft P
176 Please report bugs using the form in the file BUG-REPORT; the idea of this
177 is to make sure that FSF has all the information it needs to fix the bug.
178 At the very least, read the BUG-REPORT form and make sure that you supply
179 all the information that it asks for.
180 Even if you are not sure that something is a bug, report it using
181 BUG-REPORT: this will enable us to determine whether it really is a bug or
182 not.
184 Three mailing lists are available:
186 .ULS
188 .MTO bug-groff@gnu.org bug-groff@gnu.org
189 for reporting bugs
192 .MTO groff@gnu.org groff@gnu.org
193 for general discussion of groff
196 .MTO groff-commit@ffii.org groff-commit@ffii.org
197 a read-only list showing logs of commitments to the CVS repository
198 .ULE
200 Note that groff@gnu.org is an alias for
201 .MTO groff@\:ffii.org groff@\:ffii.org ;
202 you must be subscribed to the `groff' list to send mails.
204 To subscribe, send e-mail to \[la]list\[ra]-request@\[la]domain\[ra]
205 (example:
206 .MTO groff-request@\:ffii.org groff-request@\:ffii.org )
207 with the word `subscribe' in either the
208 subject or body of the e-mail (don't include the quotes) or have a look
209 at the
210 .URL http://\:ffii.org/\:mailman/\:listinfo/\:groff/ \
211      "groff mailing list webpage" .
213 GNU groff was written by
214 .MTO jjc@\:jclark.com "James Clark" .
215 It is now maintained by
216 .MTO Ted.Harding@\:nessie.mcc.ac.uk "Ted Harding"
218 .MTO wl@\:gnu.org "Werner Lemberg" .
222 NEWS VERSION 1.19
224 .SH 2
225 troff
227 .ULS
229 Input encoding files for \%latin-9 (a.k.a.\& \%latin-0 and ISO \%8859-15)
230 and \%latin-2 (ISO \%8859-2) have been added.
231 Example use:
233 .in 2m
234 .ft C
235 groff -Tdvi -mlatin9 my_file > my_file.dvi
236 .ft P
239 You still need proper fonts with the necessary glyphs.
240 Out of the box, the groff package supports \%latin-9 only for \-Tps,
241 \-Tdvi, and \-Tutf8, and \%latin-2 only for \-Tdvi and \-Tutf8.
244 Composite glyphs are now supported.
245 To do this, a subset of the Adobe Glyph List (AGL) Algorithm as described in
246 .URL http://partners.adobe.com/asn/tech/type/unicodegn.jsp \
247      http://partners.adobe.com/asn/tech/type/unicodegn.jsp
248 is used to construct glyph names based on Unicode character codes.
249 The existing groff glyph names are frozen; no glyph names which can't be
250 constructed algorithmically will be added in the future.
252 The \e[...] escape sequence has been extended to specify multiple glyph
253 components.
254 Example:
256 .in 2m
257 .ft C
258 \e[A ho]
259 .ft R
262 this accesses a glyph with the name `u0041_0328'.
264 Some groff glyphs which are useful as composites map to `wrong' Unicode
265 code points.
266 For example, `ho' maps to U+02DB which is a spacing ogonek, whereas a
267 non-spacing ogonek U+0328 is needed for composite glyphs.
268 The new request
270 .in 2m
271 .ft C
272 \&.composite from to
273 .ft R
276 will change the mapping while a composite glyph name is constructed.
277 To make \e[A ho] yield the expected result,
279 .in 2m
280 .ft C
281 \&.composite ho u0328
282 .ft R
285 is needed.
286 [The new file `composite.tmac' loaded at start-up already
287 contains proper calls to `.composite'.]
289 Please refer to the info pages of groff and to the groff_char man page
290 for more details.
293 A new request `fschar' has been added to define font-specific fallback
294 characters.
295 They are searched after the list of fonts declared with the
296 `fspecial' request but before the list of fonts declared with `special'.
299 Fallback characters defined with `fschar' can be removed with the
300 new `rfschar' request.
303 A new request `schar' has been added to define global fallback
304 characters.
305 They are searched after the list of fonts declared with the
306 `special' request but before the already mounted special fonts.
309 In groff versions 1.18 and 1.18.1, \eD'f ...' didn't move the current
310 point horizontally.
311 Despite of being silly, this change has been reverted for backwards
312 compatibility.
313 Consequently, the intermediate output command `Df' also moves the 
314 position horizontally again.
316 \eD'f ...' is deprecated since it depends on the horizontal resolution of
317 the output device (given with the `hor' parameter in the DESC file).
318 Use the new \eD'Fg ...' escape instead.
321 For orthogonality, new \eD subcommands to change the fill color are
322 available:
324 .in 2m
325 .ft C
326 \eD'Fr ...' \f[R](rgb)\f[]
328 \eD'Fc ...' \f[R](cmy)\f[]
330 \eD'Fg ...' \f[R](gray)\f[]
332 \eD'Fk ...' \f[R](cmyk)\f[]
334 \eD'Fd' \f[R](default color)\f[]
335 .ft R
338 The arguments are the same as with the `defcolor' request.
339 The current position is \f[I]not\f[] changed.
342 The values set with \eH and \eS are now available in number registers
343 \en[.height] and \en[.slant], respectively.
346 The `.pe' number register isn't new but hasn't been documented before.
347 It is set to 1 during a page ejection caused by the `bp' request.
350 The new glyph symbol `tno' is a textual variant of `no'.
353 The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL.
354 (Well, it is not really new since it has been previously supported by
355 grolj4.)
356 The mapping for both the dvi and lj4 symbol font has been
357 changed accordingly so that Greek small letter epsilon, `*e', has the
358 same glyph shape as with other devices.
359 .ULE
362 .SH 2
363 grops
365 .ULS
367 The font `freeeuro.pfa' has been added to provide various default glyph
368 shapes for `eu' and `Eu'.
371 It is now possible to access all glyphs in a Type\~1 font, not only 256
372 (provided the font file created by afmtodit has proper entries).
373 grops constructs additional encoding vectors on the fly if necessary.
376 The paper size is now emitted via the %%DocumentMedia and PageSize
377 mechanisms so that it is no longer required to tell `gv' or `ps2pdf'
378 about the paper size.
379 The `broken' flag value\~16 omits this feature
380 (the used PostScript command `setpagedevice' is a LanguageLevel\~2
381 extension).
382 Patch by
383 .MTO egil@\:kvaleberg.no "Egil Kvaleberg" .
386 Non-slanted PostScript metrics have been changed again; they no longer
387 contain negative left italic correction values.
388 This assures correct spacing with eqn.
389 .ULE
392 .SH 2
393 grodvi
395 .ULS
397 The font cmtex10 has been added as the special font `SC' to the DVI fonts.
398 It is used as a font-specific special font for CW and CWI.
401 New options \-l and \-p to set landscape orientation and the paper size.
402 grodvi now emits a `papersize' special which is understood by DVI drivers
403 like dvips.
405 Consequently, the DESC file should contain a `papersize' keyword.
408 The glyph shapes for \e[*f] and \e[*e] have been exchanged with \e[+f] and
409 \e[+e], respectively, to be in sync with all other devices.
412 Glyphs \e[HE] and \e[DI] have been replaced with \e[u2662] and \e[u2661],
413 respectively, since the former two glyphs have a black (filled) shape
414 which grodvi doesn't provide by default (it never has actually).
415 .ULE
418 .SH 2
419 grolj4
421 .ULS
423 The glyphs \e[*e] and \e[+e] have been exchanged to be in sync with
424 all other devices.
427 The glyph \e[~=] is now called \e[|=].  Similar to other devices, \e[~=]
428 is now another name for glyph \e[~~].
429 .ULE
432 .SH 2
433 grotty
435 .ULS
437 New option `\-r'.
438 It is similar to the \-i option except it tells grotty to
439 use the `reverse video' attribute to render italic fonts.
440 .ULE
443 .SH 2
446 .ULS
448 New command `figname' to set the name of a picture's output box in TeX
449 mode.
450 .ULE
453 .SH 2
454 refer
456 .ULS
458 The environment variable `REFER' to override the name of the default
459 database isn't new but hasn't been documented before.
460 .ULE
463 .SH 2
464 soelim
466 .ULS
468 New option `\-r' to avoid emission of `.lf' lines.
471 New option `\-t' to emit TeX comment lines (giving current file and the
472 line number) instead of `.lf' lines.
473 .ULE
476 .SH 2
477 afmtodit
479 .ULS
481 Unencoded glyphs in an AFM file are output also (since grops can now emit
482 multiple encoding vectors for a single font).
485 New option `\-m' to prevent negative left italic correction values.
488 The mapping and encoding file together with file `DESC' are now searched
489 in the default font directory also.
490 Please refer to the man page of afmtodit for more details.
491 .ULE
494 .SH 2
495 macro packages
497 .ULS
499 .MTO kollar@\:alltel.net "Larry Kollar"
500 and others made the man macros more customizable.
502 .ULS
504 New command line options \-rFT, \-rIN, and \-rSN to set the vertical
505 location of the footer line, the body text indentation, and the
506 sub-subheading indentation.
509 New command line option \-rHY (similar to the ms macros) to control
510 hyphenation.
513 New macros `.PT' and `.BT' to print the header and footer strings.
514 They can be replaced with a customized version in `man.local'.
517 The string `HF' now holds the typeface to print headings and
518 subheadings.
521 Similar to the ms macros, the LT register now defaults to LL if not
522 explicitly specified on the command line.
523 .ULE
526 troff's start-up file `troffrc' now includes `papersize.tmac' to set
527 the paper size with the command line option `-dpaper=<size>'.
529 Possible values for `<size>' are the same as the predefined `papersize'
530 values in the DESC file (only lowercase; see the groff_font man page)
531 except \%a7-d7.
532 An appended `l' (ell) character denotes landscape orientation.
533 Examples: `a4', `c3l', `letterl'.
535 Most output drivers need additional command line switches `\-p' and
536 `\-l' to override the default paper length and orientation as set in
537 the driver specific DESC file.
539 For example, use the following for PS output on A4 paper in landscape
540 orientation:
542 .in 2m
543 .ft C
544 groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
545 .ft R
547 .ULE
551 NEWS VERSION 1.18.1
553 .SH 2
554 troff
556 .ULS
558 The non-slanted PostScript font definition files have been regenerated to
559 include left and right italic correction values.
560 Applying those to a glyph (this is, prepending the glyph with `\e,' and
561 appending `\e/' to the glyph) sets the glyph width to the real value given
562 by the horizontal bounding box values.
563 Without those escapes, the advance width for the particular glyph is used
564 (which can differ considerably).
566 Most users will neither need this feature nor notice a difference in
567 existing documents (provided \e, and \e/ is used as advertised, namely for
568 italic fonts only); its main goal is to improve image generation with
569 grohtml.
571 This is an experimental change, and feedback is welcome.
572 .ULE
574 .SH 2
577 .ULS
579 Added global option `nospaces' to ignore leading and trailing spaces in data
580 items.
581 .ULE
583 .SH 2
584 grolbp
586 .ULS
588 The option \-w (\-\-linewidth) has been added (similar to other device
589 drivers) to set the default line width.
590 .ULE
592 .SH 2
595 .ULS
597 Support for b-spline and Bezier curves has been added.
598 .ULE
600 .SH 2
601 groffer
603 .ULS
605 New option \-\-shell to select the shell under wich groffer shall run.
606 .ULE
608 .SH 2
609 Macro Packages
611 .ULS
613 The string `Am' (producing an ampersand) has been added to mdoc for
614 compatibility with NetBSD.
617 `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit)
618 instead.
621 In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal
622 and vertical movements; please refer to contrib/mom/NEWS for more
623 details.
626 New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers.
627 .ULE
629 .SH 2
630 Miscellaneous
632 .ULS
634 The `papersize' keyword in the DESC file now accepts multiple arguments.
635 It is scanned from left to the right, and the first valid argument is used.
636 This makes it possible to provide a fallback paper size.
638 Example:
640 .in 2m
641 .ft C
642 papersize /etc/papersize a4
643 .ft P
647 A local font directory has been prepended to the default font path; it
648 defaults to /usr/local/share/groff/site-font.  Similar to the normal
649 font searching process, files must be placed into a dev\f[I]XXX\f[]
650 subdirectory, e.g.
652 .in 2m
653 .ft C
654 /usr/local/share/groff/site-font/devps/FOO
655 .ft P
658 for a PostScript font definition file FOO.
659 .ULE
663 NEWS VERSION 1.18
665 This section describes recent user-visible changes in groff.
666 Bug fixes are not described.
667 There are more details in the man pages.
669 .ad c
670 \s[+5]\m[red]\
671 Please read the changes below regarding
672 .ie '\*[.T]'html' \
673 .  URL #grotty grotty ,
674 .el \
675 .  nop grotty,
676 groff's tty frontend.\
677 \m[]\s[0]
679 .ad n
681 .SH 2
682 Troff
684 .ULS
686 Color support has been added to troff and pic (and to the device drivers
687 grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will
688 follow).
689 A new function `defcolor' defines colors; the escape sequence `\em' sets the
690 drawing color, the escape sequence `\eM' specifies the background color for
691 closed objects created with \eD'.\|.\|.' commands.
692 `\em[]' and `\eM[]' switch back to the previous color.
693 `\em' and `\eM' correspond to the new troff output command sets starting
694 with `m' and `DF'.
695 The device-specific default color is called `default' and can't be
696 redefined.
698 Use the `color' request to toggle the usage of colors (default is on); the
699 read-only register `.color' is\~0 if colors are not active, and non-zero
700 otherwise.
702 The old `Df' output command is mapped onto `DFg'; all color output
703 commands don't change the current font position (consequently, `Df'
704 doesn't either).
706 Outputting color can be disabled in troff and groff with the option\~\-c
707 (it is always disabled in compatibility mode).
708 See the section on grotty for the
709 .ie '\*[.T]'html' \
710 .  URL #GROFF_NO_SGR GROFF_NO_SGR
711 .el \
712 . nop GROFF_NO_SGR
713 environment variable also.
715 For defining color components as fractions between 0 and\~1, a new scaling
716 indicator `f' has been defined: 1f\~=\~65536u.
717 For testing whether a color is defined (with .if and .ie), a new
718 conditional operator `m' is available.
720 More details can be found in the groff_diff.7 manual page and in
721 groff.texinfo.
724 Similar to \em and \eM, \ef[] switches back to the previous font.
725 \efP (and \ef[P]) is still valid for backwards compatibility.
728 The new escape \eF is the same as `.fam'; \eF[] switches back to previous
729 family -- \eF[P] selects family `P'.
732 Two new glyph symbols are available: `eu' is the official Euro symbol;
733 `Eu' is a font-specific glyph variant.
736 The new glyph symbols `t+\-', `tdi', and `tmu' are textual variants of
737 `+\-', `di', and `mu', respectively.
740 Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has
741 got the troff glyph name `mc'.
744 \-Tutf8 is now available on EBCDIC hosts.
747 Strings can take arguments, using this syntax: \e*[foo\~arg1\~arg2\~.\|.\|.].
748 Example:
750 .in 2m
752 .ft C
753 \&.ds xxx This is a \e\e$1 test.
754 \e*[xxx nice]
755 .ft P
760 It is now possible to have whitespace between the first and second dot (or
761 the name of the ending macro) to end a macro definition.
762 Example:
764 .in 2m
766 .ft C
767 \&.de !
768 \&..
770 \&.de foo
771 \&.  nop Hello, I'm `foo'.
772 \&.  nop I will now define `bar'.
773 \&.  de bar !
774 \&.    nop Hello, I'm `bar'.
775 \&.  !
776 \&..
777 .ft P
782 `.fn' is a new string-valued register which returns the (internal) real
783 font name; styles and families are properly concatenated.
786 Three new read/write registers `seconds', `minutes', and `hours' contain
787 the current time, set at start-up of troff.
788 Use the `af' request to control their output format.
791 The new request `fchar' can be used to provide fallback characters.
792 It has the same syntax as the `char' request; the only difference is that
793 a character defined with `.char' hides the glyph with the same name in the
794 current font, whereas a character defined with `.fchar' is checked only if
795 the particular glyph isn't found in the current font.
796 This test happens before checking special fonts.
799 In analogy to the `tmc' request, `.writec' is the same as `.write' but
800 doesn't emit a final newline.
803 The new request `itc' is a variant of `.it' for which a line interrupted
804 with \ec counts as one input line.
807 Two new requests `ds1' and `as1' which are similar to `ds' and `as' but
808 with compatibility mode disabled during expansion of strings defined by
809 them.
812 The syntax of the `substring' request has been changed:
813 The first character in a string now has index\~0, the last character
814 has index\~\-1.
815 Note that this is an incompatible change.
818 To emit strings directly to the intermediate output, a new `output'
819 request has been added; it is similar to `\e!' used at the top level.
822 `.hpf' has been extended.
823 It can now handle most TeX hyphenation pattern files without
824 modification.
825 To do that, the commands \epatterns, \ehyphenation, and \eendinput are
826 recognized.
827 Please refer to groff_diff.7 for more information.
830 `hpfcode' is a new request to provide an input encoding mapping for the
831 `hpf' request.
834 The new request `hpfa' appends hyphenation patterns (`hpf' replaces
835 already existing patterns).
838 A new request `ami' (append macro indirect) has been added.
839 The first and second parameter of `ami' are taken from string registers
840 rather than directly; this very special request is needed to make
841 `trace.tmac' independent from the escape character (which might even
842 be disabled).
845 The new request `sizes' is similar to the `sizes' command in DESC files.
846 It expects the same syntax; the data must be on a single line, and the
847 final `0' can be omitted.
850 `trin' (translate input) is a new request which is similar to `tr' with
851 the exception that the `asciify' request will use the character code (if
852 any) before the character translation.
853 Example:
855 .in 2m
857 .ft C
858 \&.trin ax
859 \&.di xxx
861 \&.br
862 \&.di
863 \&.xxx
864 \&.trin aa
865 \&.asciify xxx
866 \&.xxx
867 .ft P
871 The result is `x\~a'.  Using `tr', the result would be `x\~x'.
874 The request `pvs' isn't new, but hasn't been documented before.
875 It adds vertical space after a line has been output.
876 This makes it an alternative to the `ls' request to produce
877 double-spaced documents.
878 The read-only register `.pvs' holds the current amount of the
879 post-vertical line space.
882 For compatibility with plan 9's troff, multiple `pi' requests are
883 supported:
885 .in 2m
887 .ft C
888 \&.pi foo
889 \&.pi bar
890 .ft P
894 is now equivalent to
896 .in 2m
897 .ft C
898 \&.pi foo | bar
899 .ft P
903 A new escape sequence `\eO' is available to disable and enable glyph
904 output.
905 Please see groff_diff.man and groff.texinfo for more details.
908 The escapes `\e%', `\e&', `\e)', and `\e:' no longer cause an error in \eX;
909 they are ignored now.
910 Additionally `\e\ ' and `\e~' are converted to single space characters.
913 The default tab distance in nroff mode is now 0.8i to be compatible
914 with UNIX troff.
917 Using the latin-1 input character 0xAD (soft hyphen) for the `shc'
918 request was a bad idea.
919 Instead, it is now translated to `\e%', and the default hyphenation
920 character is again \e[hy].
921 Note that the glyph \e[shc] is not useful for typographic purposes;
922 it only exists to have glyph names for all latin-1 characters.
923 .ULE
925 .SH 2
926 Macro Packages
928 .ULS
930 .MTO df191@\:ncf.ca "Peter Schaffter"
931 has contributed a new major macro package called `mom', mainly for
932 non-scientific writers, which takes care of many typographic issues.
933 It comes with a complete reference (in HTML format) and some examples.
934 `mom' has been designed to format documents for PostScript output only.
937 Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to
938 the man macros for compatibility with older BSD releases.
941 Both the man and mdoc macro packages now use the LL and LT registers for
942 setting the line and title length, respectively (similar to those
943 registers in the ms macro package).
944 If not set on the command line or in a macro file loaded before the macro
945 package itself, they default to 78n in nroff mode and 6.5i in troff mode.
948 The `\-xwidth' specifier in the mdoc macro package has been removed.
949 Its functionality is now integrated directly into `\-width'.
950 Similarly, `\-column' has been extended to has this functionality also.
953 A new macro `Ex' has been added to the mdoc macro package to document an
954 exit status.
957 `troff.man' has been split.  Differences to UNIX troff are now documented
958 in the new man page `groff_diff.man'.
961 The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is
962 now automatically loaded for \-Tdvi), using a dvips special to load the EPS
963 file.
966 The trace.tmac package now traces calls to `am' also.
967 Additionally, it works in compatibility mode.
970 `troff.1' has been split.
971 Differences to UNIX troff are now documented in the new man page
972 `groff_diff.7'.
975 `groff_mwww.7' has been renamed to `groff_www.7'.
976 The file mwww.tmac has been removed.
979 `groff_ms.7' has been completely rewritten.
980 It now contains a complete reference to the ms macros.
983 `groff_trace.7' documents the trace macro package.
986 Changes in www.tmac
988 Note that HTML support is still in alpha change, so it is rather likely
989 that both macro names and macro syntax will change.
990 Some of the macros mentioned below aren't really new but haven't been
991 documented properly before.
993 .ULS
995 The following macros have been renamed:
997 .in 2m
999 MAILTO -> MTO
1000 IMAGE  -> IMG
1001 LINE   -> HR
1006 For consistency, the macros `URL', `FTL', and `MTO' now all have the
1007 address as the first parameter followed by the description.
1010 By default, grohtml generates links to all section headings at the top
1011 of the document.
1012 Use the new `LK' macro to specify a different place.
1015 For specifying the background color and a background image, use the
1016 new macros `BCL' and `BGIMG', respectively.
1019 The macro `NHR' has been added; it suppresses the generation of top and
1020 bottom rules which grohtml emits by default.
1023 The new macro `HX' determines the cut-off point for automatic link
1024 generation to headings.
1027 The image position parameter names in `IMG' have been changed to `\-L',
1028 `\-R', and `\-C'.
1031 New macro `PIMG' for inclusion of a PNG image (it will automatically
1032 convert it into an EPS file if not \-Thtml is used).
1035 New macro `MPIMG' for putting a PNG image into the left or right margin
1036 (it will automatically convert it into an EPS file if not \-Thtml is used).
1039 New macros `HnS', `HnE' to start and end a header line block.
1042 New macro `DC' to produce dropcap characters.
1045 New macro `HTL' to generate an HTML title line only but no H1 heading.
1048 New macros `ULS' and `ULE' to start and end an unordered list.
1049 The new macro `LI' inserts a list item.
1050 .ULE
1051 .ULE
1054 .SH 2
1055 groff
1057 .ULS
1059 The new command line `\-c' disables color output (which is always disabled
1060 in compatibility mode).
1061 .ULE
1064 .SH 2
1065 Nroff
1067 .ULS
1069 Two new command line options `\-c' and `\-C'; the former passes `\-c' to
1070 grotty (switching to the old output scheme); the latter passes `\-C' to
1071 groff (enabling compatibility mode).
1072 .ULE
1075 .SH 2
1078 .ULS
1080 New keywords `color' (or `colour', `colored', `coloured'), `outline' (or
1081 `outlined'), and `shaded' are available.
1082 `outline' sets the color of the outline, `shaded' the fill color, and
1083 `color' sets both.
1084 Example:
1086 .in 2m
1087 .ft C
1088 circle shaded "green" outline "black" ;
1089 .ft P
1092 Filled arrows always use the outline color for filling.
1094 Color support for TeX output is not implemented yet.
1095 .ULE
1098 .SH 2
1099 Pic2graph
1101 .ULS
1103 A new script contributed by
1104 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1105 It converts a PIC diagram into a cropped image.
1106 Since it uses gs and the PNM library, virtually all graphics formats
1107 are available for output.
1108 .ULE
1111 .SH 2
1112 Eqn2graph
1114 .ULS
1116 A new script contributed by
1117 .MTO esr@\:thyrsus.com "Eric S.\~Raymond" .
1118 It converts an EQN diagram into a cropped image.
1119 Since it uses gs and the PNM library, virtually all graphics formats
1120 are available for output.
1121 .ULE
1124 .SH 2
1125 Groffer
1127 .ULS
1129 A new script contributed by
1130 .MTO bwarken@mayn.de "Bernd Warken" .
1131 It displays groff files and man pages on X and tty, taking care of most
1132 parameters automatically.
1133 .ULE
1136 .SH 2
1137 Grog
1139 .ULS
1141 Documents using the mom macro package are recognized.
1142 .ULE
1145 .SH 2
1146 grops
1148 .ULS
1150 Color support has been added.
1153 A new option `\-p' is available to select the output paper size.
1154 It has the same syntax as the new `papersize' keyword in the DESC file.
1155 .ULE
1158 .SH 2
1159 Grodvi
1161 .ULS
1163 By default, font sizes are now available in the range 5\-10000pt, similar
1164 to PS fonts.
1165 If you want the old behaviour (i.e., font sizes at discrete values only),
1166 insert the following at the start of your document:
1168 .in 2m
1170 .ft C
1171 \&.if '\e*[.T]'dvi' \e
1172 \&.  sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \e
1173 \&         1728 1800 2000 2074 2200 2400 2488 2800 3600
1174 .ft P
1179 A new font file HBI (using cmssbxo10; this is slanted sans serif bold
1180 extended) has been added.
1183 Two font families are now available: `T' and `H'.
1186 EC and TC fonts have been integrated.
1187 Use `\-mec' (calling the file ec.tmac) to switch to them.
1188 Those fonts give a much better coverage of the symbols defined by groff
1189 than the CM fonts.
1191 Note that ec.tmac must be called before any language-specific files; it
1192 doesn't take care of hcode values.
1195 Color support has been added.
1196 For drawing commands, colors are translated to gray values currently.
1197 .ULE
1200 .TAG grotty
1201 .SH 2
1202 Grotty
1204 .ULS
1206 Color support has been added, using the SGR (ISO\~6429, sometimes called
1207 ANSI color) escape sequences.
1210 SGR escape sequences are now used by default for underlining and bold
1211 printing also, no longer using the backspace character trick.
1212 To revert to the old behaviour, use the `\-c' switch.
1214 Note that you have to use the `\-R' option of `less' to make SGR escapes
1215 display correctly.
1216 On the other hand, terminal programs and consoles like `xterm' which
1217 support SGR sequences natively can directly display the output of grotty.
1218 Consequently, the options `\-b', `\-B', `\-u', and `\-U' work only in
1219 combination with `\-c' and are ignored silently otherwise.
1221 For the `man' program, it may be necessary to add the `\-R' option of
1222 `less' to the $PAGER environment variable; alternatively, you can use
1223 `man's `\-P' option (or adapt its configuration file accordingly).
1224 See man(1) for more details.
1226 .TAG GROFF_NO_SGR
1228 If the environment variable GROFF_NO_SGR is set, SGR output is disabled,
1229 reverting to the old behaviour.
1232 A new special \eX'tty:\~sgr\~n' has been added; if n is non-zero or missing,
1233 enable SGR output (the default).
1236 If the new option `\-i' is used (only in SGR mode), grotty sends escape
1237 sequences to set the italic font attribute instead of the underline
1238 attribute for italic fonts.
1239 Note that many terminals don't have support for this (including xterm).
1240 .ULE
1243 .SH 2
1244 grohtml
1246 .ULS
1248 Color support for glyphs has been added.
1251 New option `\-h' to select the style of headings in HTML output.
1254 New option `\-b' to set the background colour to white.
1257 New options `\-a' and `\-g' to control the number of bits for anti-aliasing
1258 used for text and graphics, respectively.
1259 Default value is\~4; 0\~means no anti-aliasing.
1262 groff character/glyph entities now map onto HTML\~4 character entities.
1263 .ULE
1266 .SH 2
1267 Grolbp
1269 .ULS
1271 Valid paper sizes are now specified as with the new `papersize' keyword
1272 in the DESC file.
1273 Specifically, the old custom paper type format `custAAAxBBB' is no longer
1274 supported.
1275 .ULE
1278 .SH 2
1279 Miscellaneous
1281 .ULS
1283 A new manual page `ditroff.7' is available.
1286 The groff texinfo manual will now be installed, together with a bunch
1287 of examples.
1290 A new keyword `papersize' has been added to the DESC file format.
1291 Its argument is either
1293 .ULS
1295 a predefined paper format (e.g. `A4' or `letter')
1298 a file name pointing to a file which must contain a paper size
1299 specification in its first line (e.g. `/etc/papersize')
1302 a custom paper size definition like `35c,4i'
1303 .ULE
1305 See groff_font(5) for more details.
1306 This keyword only affects the physical dimensions of the output medium;
1307 grops, grolj4, and grolbp use it currently.
1308 troff completely ignores it.
1309 .ULE
1313 \s[-2]\f[I]This document was produced using
1314 .URL http://groff.ffii.org/ groff-\n[.x].\n[.y].\n[.Y] .
1316 The image at the top has been contributed by Imogen Mulley (born 1991),
1317 based on a similar picture found on the
1318 .URL http://www.gnu.org "GNU server" .
1320 .\" EOF