diff options
Diffstat (limited to 'contrib/groff/NEWS')
-rw-r--r-- | contrib/groff/NEWS | 2307 |
1 files changed, 0 insertions, 2307 deletions
diff --git a/contrib/groff/NEWS b/contrib/groff/NEWS deleted file mode 100644 index 0272def4b2e9..000000000000 --- a/contrib/groff/NEWS +++ /dev/null @@ -1,2307 +0,0 @@ -This file describes recent user-visible changes in groff. Bug fixes are not -described. There are more details in the man and info pages. - -VERSION 1.19.2 -============== - -Troff ------ - -o Analogously to the .ft and \f pair, two new requests `gcolor' and - `fcolor' (which pair with \m and \M, respectively) have been added to - set the glyph and background colours. - -o A new read-only, string-valued register `.sty' returns the name of the - current style. - -o Two new conditional operators `F <name>' and `S <name>' have been added. - `F' is true if a font <name> exists. `S' is true if a style <name> has - been registered. - -o Cyrillic characters have been added to the `utf8' and `html' output - devices. - -Pic ---- - -o The `by' argument in a `for' loop can now be negative if it is additive. - For the multiplicative case, it must be greater than zero. - -Eqn ---- - -o The following keywords aren't new but haven't been documented previously: - - undef NAME (to undefine a macro) - copy "FILE" (a synonym for `include') - space n (to modify the vertical spacing before and after - an equation) - -o The following macros aren't new but haven't been documented previously: - - Alpha, ..., Omega (the same as `ALPHA', ..., `OMEGA') - ldots (three dots on the base line) - dollar (a dollar glyph) - -o The following keywords have been extended. Again, this isn't new but - hasn't been documented previously: - - col n { ... } - lcol n { ... } - rcol n { ... } - ccol n { ... } - pile n { ... } - lpile n { ... } - rpile n { ... } - cpile n { ... } (set vertical spacing between rows to N) - -Grohtml -------- - -o This device driver has been raised to beta stage; its set of tags should - be stable now. - -o New command line option `-s' to set the base point size. - -o New command line option `-S' to set the split level while generating - multiple files. - -Grotty ------- - -o Experimental support for zero-width and double-width characters. - -Gxditview ---------- - -o On platforms which have the X Window System this program is now built and - installed automatically. - -Xtotroff --------- - -o This program to create font definition files for xditview isn't new but - hasn't been installed previously. - -Groffer -------- - -o A security problem (reported as CAN-2004-0969) has been fixed. - -Gdiffmk -------- - -o A new script contributed by Mike Bianchi. It compares two groff, nroff, - or troff documents and creates an output with added margin characters - (using `.mc') to indicate the differences. - -Pdfroff -------- - -o A new wrapper script contributed by Keith Marshall to easily create PDF - documents with groff. - -Macro packages --------------- - -o ms.tmac - - . Support for fractional point sizes: A value for the `PS', `VS', `FPS', - and `VPS' register larger than or equal to 1000 is always divided by - 1000. For example, `.nr PS 10250' sets the document's font size to - 10.25 points. - - . The `Ds' and `De' macros provided in ms since groff version 1.19 have - been removed; the equivalent `DS' and `DE' macros should be used - instead. X11 documents which actually use `Ds' and `De' always load a - specific macro file from the X11 distribution (`macros.t') which - provides proper definitions for the two macros. - - . The following registers have been added for improving layout control: - - PORPHANS - Defines number of lines following `LP', `PP', `QP', `IP' or `XP' which - must be kept together, before any automatic page break. - - HORPHANS - Sets number of lines of following paragraph which must be kept with a - heading, defined by `NH' or `SH', before any automatic page break. - - GROWPS - Sets the first level of heading (set with `NH') which will keep the - same point size as body text. - - PSINCR - Sets the point size increment for each level of heading (set with - `NH'), below the threshold level set by `GROWPS'; e.g., if - \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p, then `.NH 1' will - produce 14pt headings, `.NH 2' will produce 12pt, and all other levels - will remain at 10pt (because \n[PS] = 10). - - . The `SH' macro now accepts a numeric argument, to make heading size - match that of `NH' with same argument value when the `GROWPS'/`PSINCR' - feature is enabled. - - Please refer to the documentation of the ms package for other, minor - improvements. - -o me.tmac - - The section type set with the `++' request is available in the `_M' - register. This isn't new but hasn't been documented before. - -o www.tmac - - The `HR' macro no longer causes an empty line for non-HTML devices. - - A new macro `HEAD' has been added to directly add data to the - <head>...</head> block. - - New macros `OLS' and `OLE' to start and end an ordered list. - - New macros `DLS' and `DLE' to start and end a definition list. - -Pdfmark -------- - -o A new macro package contributed by Keith Marshall which implements PDF - marks. This is in alpha stage currently. - -Miscellaneous -------------- - -o Two new keywords to the DESC file have been added which are needed for - grohtml: `image_generator' and `unscaled_charwidths'. The former gives - the name of the program which creates PNG images, and the latter makes - troff always use unscaled character widths. - - -VERSION 1.19.1 -============== - -Groff ------ - -o The argument of the command line option `-I' is now also passed to troff - and grops, specifying a directory to search for files on the command line, - files named in `so' and `psbb' requests, and files named in \X'ps: file' - and \X'ps: import' escapes. - -o If option `-V' is used more than once, the commands will be both printed - on standard error and run. - -Troff ------ - -o Two new read-only, string-valued registers `.m' and `.M' return the - name of the current drawing and background color, respectively. - -o New read-only register `.U' which is set to 1 if in safer mode and set - to 0 if in unsafe mode. - -o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added. - Example use: - - groff -Tdvi -mlatin5 my_file > my_file.dvi - - Note that some output devices don't support all glyphs of this encoding. - -o If the `return' request is called with an argument, it exits twice, - namely the current macro and the macro one level higher. This is - used to define a wrapper macro for `return' in trace.tmac. - -o For completeness, two new requests have been added: `dei1' and `ami1'. - They are equivalent to `dei' and `ami', respectively, but the macros - are executed with compatibility mode off (similar to `de1' and `am1'). - -o New command line option `-I' to specify a directory for files (both - those on the command line and those named in `psbb' requests). This is - also handled by the groff wrapper program. - -o Since version 1.19 you can say `.vs 0'. Older versions emit a warning - and convert this to `.vs \n[.V]'. - - This hasn't been documented properly. Note that `.vs 0' isn't saved in a - diversion since it doesn't result in vertical motion. - -Pic -___ - -o Dashed and dotted ellipses have been implemented. - -Tbl ---- - -o New key character `x' to make tbl call a user-defined macro on a table - cell. Patch by Heinz-Jürgen Oertel <hj.oertel@surfeu.de>. - -Grap2graph ----------- - -o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It - converts a grap diagram into a cropped image. Since it uses gs and the - PNM library, virtually all graphics formats are available for output. - [Note that the grap program itself isn't part of the groff package; - see the file MORE.STUFF how to obtain grap.] - -Grohtml -------- - -o New option `-j' to emit output splitted into multiple files. - -Grops ------ - -o New command line option `-I' to specify a directory to search for files - on the command line and files named in \X'ps: import' and \X'ps: file' - escapes. This is also handled by the groff wrapper program. - -o The default value for the `broken' keyword in the DESC file is now 0. - -Grolj4 ------- - -o A new man page `lj4_font(5)' documents how fonts are accessed with - grolj4. - -o The built-in fonts for LJ4 and newer PCL 5 devices have been completely - revised, mainly to access as much glyphs as possible. The provided - metric files should be compatible with recent PCL 5 printers also. - Additionally, font description files have been added for the Arial and - Times New Roman family, the MS symbol, and Wingdings fonts. - -Afmtodit --------- - -o New option `-x' to prevent use of built-in Adobe Glyph List. - -Hpftodit --------- - -o Completely revised to handle HP TrueType metric files also. See the - hpftodit manual page for more details. - -Groffer -------- - -o This version is a rewrite of groffer in many parts, but it is kept in - the old single script style. - - New options: --text, --mode text, --tty-viewer, --X, --mode X, - --X-viewer, --html, --mode html, --html-view, --apropos-data, - --apropos-devel, --apropos-progs. - - New documentation file: README_SH. - - Enhancement of the configuration files and the `apropos' handling. - -Macro Packages --------------- - -o www.tmac: New macro `JOBNAME' to split output into multiple files. - -o In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY - section. - - -VERSION 1.19 -============ - -Troff ------ - -o Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and - latin-2 (ISO 8859-2) have been added. Example use: - - groff -Tdvi -mlatin9 my_file > my_file.dvi - - You still need proper fonts with the necessary glyphs. Out of the box, - the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8, - and latin-2 only for -Tdvi and -Tutf8. - -o Composite glyphs are now supported. To do this, a subset of the Adobe - Glyph List (AGL) Algorithm as described in - - http://partners.adobe.com/asn/tech/type/unicodegn.jsp - - is used to construct glyph names based on Unicode character codes. The - existing groff glyph names are frozen; no glyph names which can't be - constructed algorithmically will be added in the future. - - The \[...] escape sequence has been extended to specify multiple glyph - components. Example: - - \[A ho] - - this accesses a glyph with the name `u0041_0328'. - - Some groff glyphs which are useful as composites map to `wrong' Unicode - code points. For example, `ho' maps to U+02DB which is a spacing - ogonek, whereas a non-spacing ogonek U+0328 is needed for composite - glyphs. The new request - - .composite from to - - will change the mapping while a composite glyph name is constructed. - To make \[A ho] yield the expected result, - - .composite ho u0328 - - is needed. [The new file `composite.tmac' loaded at start-up already - contains proper calls to `.composite'.] - - Please refer to the info pages of groff and to the groff_char man page - for more details. - -o A new request `fschar' has been added to define font-specific fallback - characters. They are searched after the list of fonts declared with the - `fspecial' request but before the list of fonts declared with `special'. - -o Fallback characters defined with `fschar' can be removed with the - new `rfschar' request. - -o A new request `schar' has been added to define global fallback - characters. They are searched after the list of fonts declared with the - `special' request but before the already mounted special fonts. - -o In groff versions 1.18 and 1.18.1, \D'f ...' didn't move the current - point horizontally. Despite of being silly, this change has been - reverted for backwards compatibility. Consequently, the intermediate - output command `Df' also moves the position horizontally again. - - \D'f ...' is deprecated since it depends on the horizontal resolution of - the output device (given with the `hor' parameter in the DESC file). - Use the new \D'Fg ...' escape instead. - -o For orthogonality, new \D subcommands to change the fill color are - available: - - \D'Fr ...' (rgb) - \D'Fc ...' (cmy) - \D'Fg ...' (gray) - \D'Fk ...' (cmyk) - \D'Fd' (default color) - - The arguments are the same as with the `defcolor' request. The current - position is *not* changed. - -o The values set with \H and \S are now available in number registers - \n[.height] and \n[.slant], respectively. - -o The `.pe' number register isn't new but hasn't been documented before. - It is set to 1 during a page ejection caused by the `bp' request. - -o The new glyph symbol `tno' is a textual variant of `no'. - -o The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL. - (Well, it is not really new since it has been previously supported by - grolj4.) The mapping for both the dvi and lj4 symbol font has been - changed accordingly so that Greek small letter epsilon, `*e', has the - same glyph shape as with other devices. - -Grops ------ - -o The font `freeeuro.pfa' has been added to provide various default glyph - shapes for `eu' and `Eu'. - -o It is now possible to access all glyphs in a Type 1 font, not only 256 - (provided the font file created by afmtodit has proper entries). grops - constructs additional encoding vectors on the fly if necessary. - -o The paper size is now emitted via the %%DocumentMedia and PageSize - mechanisms so that it is no longer required to tell `gv' or `ps2pdf' - about the paper size. The `broken' flag value 16 omits this feature - (the used PostScript command `setpagedevice' is a LanguageLevel 2 - extension) -- if you intend to further process grops output to get an - encapsulated PS (EPS) file you must also use this option. - - Patch by Egil Kvaleberg <egil@kvaleberg.no>. - -o Non-slanted PostScript metrics have been changed again; they no longer - contain negative left italic correction values. This assures correct - spacing with eqn. - -Grodvi ------- - -o The font cmtex10 has been added as the special font `SC' to the DVI fonts. - It is used as a font-specific special font for CW and CWI. - -o New options -l and -p to set landscape orientation and the paper size. - grodvi now emits a `papersize' special which is understood by DVI drivers - like dvips. - - Consequently, the DESC file should contain a `papersize' keyword. - -o The glyph shapes for \[*f] and \[*e] have been exchanged with \[+f] and - \[+e], respectively, to be in sync with all other devices. - -o Glyphs \[HE] and \[DI] have been replaced with \[u2662] and \[u2661], - respectively, since the former two glyphs have a black (filled) shape - which grodvi doesn't provide by default (it never has actually). - -Grolj4 ------- - -o The glyphs \[*e] and \[+e] have been exchanged to be in sync with - all other devices. - -o The glyph \[~=] is now called \[|=]. Similar to other devices, \[~=] - is now another name for glyph \[~~]. - -Grotty ------- - -o New option `-r'. It is similar to the -i option except it tells grotty to - use the `reverse video' attribute to render italic fonts. - -Pic ---- - -o New command `figname' to set the name of a picture's output box in TeX - mode. - -Refer ------ - -o The environment variable `REFER' to override the name of the default - database isn't new but hasn't been documented before. - -Soelim ------- - -o New option `-r' to avoid emission of `.lf' lines. - -o New option `-t' to emit TeX comment lines (giving current file and the - line number) instead of `.lf' lines. - -Afmtodit --------- - -o Unencoded glyphs in an AFM file are output also (since grops can now emit - multiple encoding vectors for a single font). - -o New option `-m' to prevent negative left italic correction values. - -o The mapping and encoding file together with file `DESC' are now searched - in the default font directory also. Please refer to the man page of - afmtodit for more details. - -Macro Packages --------------- - -o Larry Kollar <kollar@alltel.net> and others made the man macros more - customizable. - - . New command line options -rFT, -rIN, and -rSN to set the vertical - location of the footer line, the body text indentation, and the - sub-subheading indentation. - - . New command line option -rHY (similar to the ms macros) to control - hyphenation. - - . New macros `.PT' and `.BT' to print the header and footer strings. - They can be replaced with a customized version in `man.local'. - - . The string `HF' now holds the typeface to print headings and - subheadings. - - . Similar to the ms macros, the LT register now defaults to LL if not - explicitly specified on the command line. - -o troff's start-up file `troffrc' now includes `papersize.tmac' to set - the paper size with the command line option `-dpaper=<size>'. - - Possible values for `<size>' are the same as the predefined `papersize' - values in the DESC file (only lowercase; see the groff_font man page) - except a7-d7. An appended `l' (ell) character denotes landscape - orientation. Examples: `a4', `c3l', `letterl'. - - Most output drivers need additional command line switches `-p' and - `-l' to override the default paper length and orientation as set in - the driver specific DESC file. - - For example, use the following for PS output on A4 paper in landscape - orientation: - - groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps - - -VERSION 1.18.1 -============== - -Troff ------ - -o The non-slanted PostScript font definition files have been regenerated to - include left and right italic correction values. Applying those to a - glyph (this is, prepending the glyph with `\,' and appending `\/' to the - glyph) sets the glyph width to the real value given by the horizontal - bounding box values. Without those escapes, the advance width for the - particular glyph is used (which can differ considerably). - - Most users will neither need this feature nor notice a difference in - existing documents (provided \, and \/ is used as advertised, namely for - italic fonts only); its main goal is to improve image generation with - grohtml. - - This is an experimental change, and feedback is welcome. - -Tbl ---- - -o Added global option `nospaces' to ignore leading and trailing spaces in - data items. - -Grolbp ------- - -o The option -w (--linewidth) has been added (similar to other device - drivers) to set the default line width. - -Grn ---- - -o Support for b-spline and Bezier curves has been added. - -Groffer -------- - -o New option `--shell' to select the shell under which groffer shall run. - -Macro Packages --------------- - -o The string `Am' (producing an ampersand) has been added to mdoc for - compatibility with NetBSD. - -o `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit) - instead. - -o In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal - and vertical movements; please refer to contrib/mom/NEWS for more - details. - -o New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers. - -Miscellaneous -------------- - -o The `papersize' keyword in the DESC file now accepts multiple arguments. - It is scanned from left to the right, and the first valid argument is - used. This makes it possible to provide a fallback paper size. - - Example: - - papersize /etc/papersize a4 - -o A local font directory has been prepended to the default font path; it - defaults to /usr/local/share/groff/site-font. Similar to the normal - font searching process, files must be placed into a devXXX subdirectory, - e.g. - - /usr/local/share/groff/site-font/devps/FOO - - for a PostScript font definition file FOO. - - -VERSION 1.18 -============ - -*************************************************************************** -* * -* PLEASE READ THE CHANGES BELOW REGARDING GROTTY, GROFF'S TTY FRONTEND. * -* * -*************************************************************************** - -Troff ------ - -o Color support has been added to troff and pic (and to the device drivers - grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will - follow). A new function `defcolor' defines colors; the escape sequence - `\m' sets the drawing color, the escape sequence `\M' specifies the - background color for closed objects created with \D'...' commands. - `\m[]' and `\M[]' switch back to the previous color. `\m' and `\M' - correspond to the new troff output command sets starting with `m' and - `DF'. The device-specific default color is called `default' and can't be - redefined. - - Use the `color' request to toggle the usage of colors (default is on); the - read-only register `.color' is 0 if colors are not active, and non-zero - otherwise. - - The old `Df' output command is mapped onto `DFg'; all color output - commands don't change the current font position (consequently, `Df' - doesn't either). - - Outputting color can be disabled in troff and groff with the option -c - (it is always disabled in compatibility mode). See the section on grotty - for the GROFF_NO_SGR environment variable also. - - For defining color components as fractions between 0 and 1, a new scaling - indicator `f' has been introduced: 1f = 65536u. For testing whether a - color is defined (with .if and .ie), a new conditional operator `m' is - available. - - More details can be found in the groff_diff.7 manual page and in - groff.texinfo. - -o Similar to \m and \M, \f[] switches back to the previous font. \fP - (and \f[P]) is still valid for backwards compatibility. - -o The new escape \F is the same as `.fam'; \F[] switches back to previous - family -- \F[P] selects family `P'. - -o Two new glyph symbols are available: `eu' is the official Euro symbol; - `Eu' is a font-specific glyph variant. - -o The new glyph symbols `t+-', `tdi', and `tmu' are textual variants of - `+-', `di', and `mu', respectively. - -o Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has - got the troff glyph name `mc'. - -o -Tutf8 is now available on EBCDIC hosts. - -o Strings can take arguments, using this syntax: \*[foo arg1 arg2 ...]. - Example: - - .ds xxx This is a \\$1 test. - \*[xxx nice] - -o It is now possible to have whitespace between the first and second dot (or - the name of the ending macro) to end a macro definition. Example: - - .de ! - .. - . - .de foo - . nop Hello, I'm `foo'. - . nop I will now define `bar'. - . de bar ! - . nop Hello, I'm `bar'. - . ! - .. - -o `.fn' is a new string-valued register which returns the (internal) real - font name; styles and families are properly concatenated. - -o Three new read/write registers `seconds', `minutes', and `hours' contain - the current time, set at start-up of troff. Use the `af' request to - control their output format. - -o The new request `fchar' can be used to provide fallback characters. It - has the same syntax as the `char' request; the only difference is that a - character defined with `.char' hides the glyph with the same name in the - current font, whereas a character defined with `.fchar' is checked only if - the particular glyph isn't found in the current font. This test happens - before checking special fonts. - -o In analogy to the `tmc' request, `.writec' is the same as `.write' but - doesn't emit a final newline. - -o The new request `itc' is a variant of `.it' for which a line interrupted - with \c counts as one input line. - -o Two new requests `ds1' and `as1' which are similar to `ds' and `as' but - with compatibility mode disabled during expansion of strings defined by - them. - -o The syntax of the `substring' request has been changed: The first - character in a string now has index 0, the last character has index -1. - Note that this is an incompatible change. - -o To emit strings directly to the intermediate output, a new `output' - request has been added; it is similar to `\!' used at the top level. - -o `.hpf' has been extended. It can now handle most TeX hyphenation - pattern files without modification. To do that, the commands \patterns, - \hyphenation, and \endinput are recognized. Please refer to groff_diff.7 - for more information. - -o `hpfcode' is a new request to provide an input encoding mapping for the - `hpf' request. - -o The new request `hpfa' appends hyphenation patterns (`hpf' replaces - already existing patterns). - -o A new request `ami' (append macro indirect) has been added. The first and - second parameter of `ami' are taken from string registers rather than - directly; this very special request is needed to make `trace.tmac' - independent from the escape character (which might even be disabled). - -o The new request `sizes' is similar to the `sizes' command in DESC files. - It expects the same syntax; the data must be on a single line, and the - final `0' can be omitted. - -o `trin' (translate input) is a new request which is similar to `tr' with - the exception that the `asciify' request will use the character code (if - any) before the character translation. Example: - - .trin ax - .di xxx - a - .br - .di - .xxx - .trin aa - .asciify xxx - .xxx - - The result is `x a'. Using `tr', the result would be `x x'. - -o The request `pvs' isn't new, but hasn't been documented before. It - adds vertical space after a line has been output. This makes it an - alternative to the `ls' request to produce double-spaced documents. - The read-only register `.pvs' holds the current amount of the - post-vertical line space. - -o For compatibility with plan 9's troff, multiple `pi' requests are - supported: - - .pi foo - .pi bar - - is now equivalent to - - .pi foo | bar - -o A new escape sequence `\O' is available to disable and enable glyph - output. Please see groff_diff.7 and groff.texinfo for more details. - -o The escapes `\%', `\&', `\)', and `\:' no longer cause an error in \X; - they are ignored now. Additionally `\ ' and `\~' are converted to - single space characters. - -o The default tab distance in nroff mode is now 0.8i to be compatible - with UNIX troff. - -o Using the latin-1 input character 0xAD (soft hyphen) for the `shc' - request was a bad idea. Instead, it is now translated to `\%', and - the default hyphenation character is again \[hy]. Note that the glyph - \[shc] is not useful for typographic purposes; it only exists to have - glyph names for all latin-1 characters. - -Macro Packages --------------- - -o Peter Schaffter <df191@ncf.ca> has contributed a new major macro package - called `mom', mainly for non-scientific writers, which takes care of - many typographic issues. It comes with a complete reference (in HTML - format) and some examples. `mom' has been designed to format documents - for PostScript output only. - -o Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to - the man macros for compatibility with older BSD releases. - -o Both the man and mdoc macro packages now use the LL and LT registers for - setting the line and title length, respectively (similar to those - registers in the ms macro package). If not set on the command line or - in a macro file loaded before the macro package itself, they default to - 78n in nroff mode and 6.5i in troff mode. - -o The `-xwidth' specifier in the mdoc macro package has been removed. Its - functionality is now integrated directly into `-width'. Similarly, - `-column' has been extended to provide this functionality also. - -o A new macro `Ex' has been added to the mdoc macro package to document an - exit status. - -o The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is - now automatically loaded for -Tdvi), using a dvips special to load the EPS - file. - -o The trace.tmac package now traces calls to `am' also. Additionally, it - works in compatibility mode. - -o `troff.1' has been split. Differences to UNIX troff are now documented - in the new man page `groff_diff.7'. - -o `groff_mwww.7' has been renamed to `groff_www.7'. The file mwww.tmac - has been removed. - -o `groff_ms.7' has been completely rewritten. It now contains a complete - reference to the ms macros. - -o `groff_trace.7' documents the trace macro package. - -o Changes in www.tmac: - - Note that HTML support is still in alpha change, so it is rather likely - that both macro names and macro syntax will change. Some of the macros - mentioned below aren't really new but haven't been documented properly - before. - - The following macros have been renamed: - - MAILTO -> MTO - IMAGE -> IMG - LINE -> HR - - For consistency, the macros `URL', `FTL', and `MTO' now all have the - address as the first parameter followed by the description. - - By default, grohtml generates links to all section headings at the top - of the document. Use the new `LK' macro to specify a different place. - - For specifying the background color and a background image, use the - new macros `BCL' and `BGIMG', respectively. - - The macro `NHR' has been added; it suppresses the generation of top and - bottom rules which grohtml emits by default. - - The new macro `HX' determines the cut-off point for automatic link - generation to headings. - - The image position parameter names in `IMG' have been changed to `-L', - `-R', and `-C'. - - New macro `PIMG' for inclusion of a PNG image (it will automatically - convert it into an EPS file if not -Thtml is used). - - New macro `MPIMG' for putting a PNG image into the left or right margin - (it will automatically convert it into an EPS file if not - -Thtml is used). - - New macros `HnS', `HnE' to start and end a header line block. - - New macro `DC' to produce dropcap characters. - - New macro `HTL' to generate an HTML title line only but no H1 heading. - - New macros `ULS' and `ULE' to start and end an unordered list. The new - macro `LI' inserts a list item. - -Groff ------ - -o The new command line option `-c' disables color output (which is always - disabled in compatibility mode). - -Nroff ------ - -o Two new command line options `-c' and `-C'; the former passes `-c' to - grotty (switching to the old output scheme); the latter passes `-C' to - groff (enabling compatibility mode). - -Pic ---- - -o New keywords `color' (or `colour', `colored', `coloured'), `outline' (or - `outlined'), and `shaded' are available. `outline' sets the color of the - outline, `shaded' the fill color, and `color' sets both. Example: - - circle shaded "green" outline "black" ; - - Filled arrows always use the outline color for filling. - - Color support for TeX output is not implemented yet. - -Pic2graph ---------- - -o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It - converts a PIC diagram into a cropped image. Since it uses gs and the PNM - library, virtually all graphics formats are available for output. - -Eqn2graph ---------- - -o A new script contributed by Eric S. Raymond <esr@thyrsus.com>. It - converts an EQN diagram into a cropped image. Since it uses gs and the PNM - library, virtually all graphics formats are available for output. - -Groffer -------- - -o A new script contributed by Bernd Warken <bwarken@mayn.de>. It displays - groff files and man pages on X and tty, taking care of most parameters - automatically. - -Grog ----- - -o Documents using the mom macro package are recognized. - -Grops ------ - -o Color support has been added. - -o A new option `-p' is available to select the output paper size. It has - the same syntax as the new `papersize' keyword in the DESC file. - -Grodvi ------- - -o By default, font sizes are now available in the range 5-10000pt, similar - to PS fonts. If you want the old behaviour (i.e., font sizes at discrete - values only), insert the following at the start of your document: - - .if '\*[.T]'dvi' \ - . sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \ - 1728 1800 2000 2074 2200 2400 2488 2800 3600 - -o A new font file HBI (using cmssbxo10; this is slanted sans serif bold - extended) has been added. - -o Two font families are now available: `T' and `H'. - -o EC and TC fonts have been integrated. Use `-mec' (calling the file - ec.tmac) to switch to them. Those fonts give a much better coverage of - the symbols defined by groff than the CM fonts. - - Note that ec.tmac must be called before any language-specific files; it - doesn't take care of hcode values. - -o Color support has been added. For drawing commands, colors are translated - to gray values currently. - -Grotty ------- - -o Color support has been added, using the SGR (ISO 6429, sometimes called - ANSI color) escape sequences. - -o SGR escape sequences are now used by default for underlining and bold - printing also, no longer using the backspace character trick. To revert - to the old behaviour, use the `-c' switch. - - Note that you have to use the `-R' option of `less' to make SGR escapes - display correctly. On the other hand, terminal programs and consoles like - `xterm' which support SGR sequences natively can directly display the - output of grotty. Consequently, the options `-b', `-B', `-u', and `-U' - work only in combination with `-c' and are ignored silently otherwise. - - For the `man' program, it may be necessary to add the `-R' option of - `less' to the $PAGER environment variable; alternatively, you can use - `man's `-P' option (or adapt its configuration file accordingly). See - man(1) for more details. - -o If the environment variable GROFF_NO_SGR is set, SGR output is disabled, - reverting to the old behaviour. - -o A new special \X'tty: sgr n' has been added; if n is non-zero or missing, - enable SGR output (the default). - -o If the new option `-i' is used (only in SGR mode), grotty sends escape - sequences to set the italic font attribute instead of the underline - attribute for italic fonts. Note that many terminals don't have support - for this (including xterm). - -Grohtml -------- - -o Color support for glyphs has been added. - -o New option `-h' to select the style of headings in HTML output. - -o New option `-b' to set the background colour to white. - -o New options `-a' and `-g' to control the number of bits for anti-aliasing - used for text and graphics, respectively. Default value is 4; 0 means - no anti-aliasing. - -o groff character/glyph entities now map onto HTML 4 character entities. - -Grolbp ------- - -o Valid paper sizes are now specified as with the new `papersize' keyword - in the DESC file. Specifically, the old custom paper type format - `custAAAxBBB' is no longer supported. - -Miscellaneous -------------- - -o A new manual page `ditroff.7' is available. - -o The groff texinfo manual will now be installed, together with a bunch - of examples. - -o A new keyword `papersize' has been added to the DESC file format. Its - argument is either - - . a predefined paper format (e.g. `A4' or `letter') - - . a file name pointing to a file which must contain a paper size - specification in its first line (e.g. `/etc/papersize') - - . a custom paper size definition like `35c,4i' - - See groff_font(5) for more details. This keyword only affects the - physical dimensions of the output medium; grops, grolj4, and grolbp use it - currently. troff completely ignores it. - -VERSION 1.17.2 -============== - -This is major bug-fixing release which should replace 1.17.1. - -Troff ------ - -o The `IMAGE' macro in www.tmac has changed: Now the optional 2nd parameter - gives the horizontal image location (left, centered, or right), and the - optional 3rd and 4th parameter the image dimensions. - -VERSION 1.17.1 -============== - -This is mainly a bug-fixing release. - -Troff ------ - -o Two new requests `de1' and `am1' which are similar to `de' and `am' but - with compatibility mode disabled during expansion of macros defined by - them. - -o Added request `brp'. This is the same as `\p'. - -o Similar to other versions of troff, the `ns' request now works in all - diversions, not only in the top-level one. - -o New read-only number register `.ns'. Returns 1 if in no-space mode, - 0 otherwise. - -Nroff ------ - -o Options -p (pic) and -t (tbl) added. - -o The environment variable GROFF_BIN_PATH is now checked before PATH for - finding groff. - -Grohtml -------- - -o New option `-D dir' to specify a directory in which all images are placed. - -o New option `-I stem' to specify an image name stame. If not given, - `grohtml-XXX' is used (`XXX' is the process ID). - -VERSION 1.17 -============ - -Groff ------ - -o `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The - old behaviour has been changed to overcome problems with platforms which - have an 8+3 file name limit, and platforms which have other versions of - troff installed also. Additionally, all macro files have been renamed - using the latter scheme to avoid 8+3 name clashes. - -o The new environment variable GROFF_BIN_PATH is checked for programs groff - is calling (preprocessors, troff, and output devices) before PATH. If not - set, it defaults to the directory where the groff binary is located. - Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH - to find the groff binary but passes both the GROFF_BIN_PATH and PATH - environment variables to groff. - -Troff ------ - -o The mdoc package has been completely rewritten, using the full power of - GNU troff to remove limitations of Unix troff (which is no longer - supported). Most important changes are: - - . No argument limit - . Almost all macros are parsed and callable (if it makes sense) - . `.Lb': prints library names - . `.Nm <punctuation>' now works as expected; `.Nm "" <punctuation>' has - been withdrawn - . Updated `.St' command - . `.Fx': prints FreeBSD - . `.Ox': prints OpenBSD - . `.Bsx': prints BSD/OS - . `.Brq', `.Bro', `.Brc': brace enclosure macros - . `.Bd -centered': center lines - . `.Bl -xwidth <string>': interpret <string> and use the resulting width - . Support for double-sided printing (-rD1 command line switch) - . Support for 11pt and 12pt document sizes (-rS11, -rS12 command line - switches) - - `groff_mdoc.7' replaces `groff_mdoc.samples.7'; it now completely - documents the mdoc package. - - Great care has been taken to assure backwards compatibility. If you - encounter any abnormal results, please report them to bug-groff@gnu.org. - -o A new command line option for the `man' macros (similar to the `mdoc' - package) has been implemented: `-rcR=1' (now the default in nroff mode) - produces one single, very long page instead of multiple pages. `-rcR=0' - deactivates it. - -o The `return' request has been added to return immediately from a macro. - -o A new request `nop' (no operation) has been added which is similar to - `if 1'. For example, - - .if t \{\ - Hallo! - .\} - - can now be written as - - .if t \{\ - . nop Hallo! - .\} - -o `box' and `boxa' are two new requests which behave similarly to `di' and - `da' but don't include a partially filled line (which is restored after - ending the diversion). - -o The `asciify' request has been extended to `unformat' space characters - and some other escape sequences also. - - `\ ' is no longer unformatted as a space but remains an unpaddable, - unbreakable space character. - -o The new `unformat' request is similar to `asciify' but only handles space - characters and tabs specially if the diversion is reread, retaining font - information. This makes it possible to reformat diversions; for example - the following - - .ll 3i - . - a01 a02 a03 a04 a05 a06 a07 a08 a09 a10. - . - .box box1 - .ev 1 - .nf - \f[B]b01 b02 b03 b04 b05 b06 b07 b08 b09 b10.\f[P] - .br - .ev - .box - . - c01 c02 c03 c04 c05 c06 c07 c08 c09 c10. - . - .unformat box1 - .box1 - - gives - - a01 a02 a03 a04 a05 a06 a07 - a08 a09 a10. c01 c02 c03 c04 - c05 c06 c07 c08 c09 c10. b01 - b02 b03 b04 b05 b06 b07 b08 - b09 b10. - - Without the `unformat' request, space characters are converted to word - space nodes which are no longer stretchable, and the result would be - - a01 a02 a03 a04 a05 a06 a07 - a08 a09 a10. c01 c02 c03 c04 - c05 c06 c07 c08 c09 c10. b01 - b02 b03 b04 b05 b06 b07 b08 - b09 b10. - -o The new request `linetabs' controls the `line-tabs' mode. In line-tabs - mode, tab distances are computed relative to the (current) output line. - Otherwise they are taken relative to the input line. For example, the - following - - .ds x a\t\c - .ds y b\t\c - .ds z c - .ta 1i 3i - \*x - \*y - \*z - - yields - - a b c - - In line-tabs mode, the same code gives - - a b c - - The new read-only number register `.linetabs' returns 1 if in line-tabs - mode, and 0 otherwise. - -o Two new requests `tm1' and `tmc' have been added to improve writing - messages to the terminal. `tm1' is similar to `tm' but allows leading - whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline. - -o For compatibility with sqtroff, the request `output' has been added. - The behaviour is similar to `\!' at the top-level, that is, it directly - inserts its argument into the intermediate output format. The syntax - is similar to .tm1, allowing leading whitespace. - -o The new `spreadwarn' request will make troff warn if spaces in an output - line are widened by a given limit or more. - -o Use `warnscale' to change the scaling indicator troff will use for - warning messages. - -o A new request `dei' (define indirect) has been added. The first and - second parameter of `dei' are taken from string registers rather than - directly; this very special request is needed to make `trace.tmac' - independent from the escape character (which might even be disabled). - -o It is now possible to save and restore the escape character with two new - requests `ecs' and `ecr'. - -o The new escape sequence \B'...' is an analogon to `\A': If the string - within the delimiters is a valid numeric expression, return character `1', - and `0' otherwise. - -o The new escape sequence `\:' inserts a zero-width break point. This is - similar to `\%' but without a soft hyphen character. - -o The `tr' request can now map characters onto `\~'. - -o Calling the `fam' request without an argument switches back to the - previous font family. - -o The new read-only register `.int' is set to a positive value if the last - output line is interrupted (i.e., if the input line contains `\c'). - -o The `writem' request is not new, but hasn't been documented before. This - is similar to `write' but instead of a string the contents of a given - macro or string is written to a stream. - -o The read/write number register `hp' to get/set the current horizontal - position relative to the input line isn't new but hasn't been documented - properly before. - -o `\X' and `\Y' are now transparent for end-of-sentence recognition. - -o The `cu' request in nroff mode now works as documented (i.e., it - underlines spaces also). - -Grog ----- - -o The grog script now works in non-compatibility mode also (which is the - default). As usual, use the `-C' option to activate compatibility mode. - -Grops ------ - -o A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has - been added to select a different prologue file. - -o The effect of the former `-mpsnew' option to access more Type 1 characters - is now the default and no longer available. To get the old behaviour - (i.e., emulation of some glyphs by composition) use `-mpsold'. - -Miscellaneous -------------- - -o For security reasons the following changes have been done: - - . The tmac.safer file has been replaced with a built-in solution; .open, - .opena, .pso, .sy, and .pi are completely disabled in safer mode (which - is the default); to enable these requests the `-U' command line flag - must be used. - - . Files specified with the .mso request or given with the `-m' command - line option, and hyphenation patterns loaded with `.hpf' are no longer - searched in the current directory by default (besides the usual tmac - path). Instead, the home directory is used. To add the current - directory, either use the `-U' or `-M' command line option or set the - GROFF_TMAC_PATH environment variable to an appropriate value. - - . troffrc, troffrc-end, and eqnrc are neither searched in the current nor - in the home directory (even if -U is given). Use -M or GROFF_TMAC_PATH - to change that. - - . Similarly, the current directory is no longer part of the font path. - Use the `-F' command line option or the GROFF_FONT_PATH environment - variable if you really need the current directory. - -o groff now installs its data files into /usr/local/share/groff/<version> by - default, following the GNU standard. Additionally, a local tmac directory - (by default /usr/local/share/groff/site-tmac) is scanned before the - standard tmac directory. Wrapper files for system-specific macro packages - (if necessary) are put into /usr/local/lib/groff/site-tmac; this directory - is searched before the local tmac directory. - -o All programs now have option `-v' to show the version number; they exit - immediately afterwards, following the GNU standards. Additionally, - `--version' and `--help' have been added, doing the obvious actions. - -VERSION 1.16.1 -============== - -Bug fixes only; no user-visible changes. - -VERSION 1.16 -============ - -Groff ------ - -The anachronism of calling the man macro package with `-man' has been fixed; -now you can say `-m man' also. The same is true for `ms', `me', `markup', -`mandoc', and `mdoc'. - -A new switch `-g' for calling `grn' is available. - -A new switch `-G' for calling `grap' is available. - -EBCDIC support for tty devices has been added. On such hosts, IBM code page -1047 is available with -Tcp1047 instead of -Tascii and -Tlatin1 (and, for -the moment, -Tutf8). Note that non-tty devices are not yet supported (but -installed). - -Troff ------ - -A new command line option to the `man' macros is available: `-rSxx' (with -`xx' either 10, 11, or 12) to set the base document font size to `xx' -points. Additionally, `.SH' now produces larger headings than `.SS'. - -To solve a problem with the .PSPIC macro which needs the `-U' switch of -troff to access an external program (psbb), a new request .psbb is now -available to get the bounding box of a PostScript image file. The values -(in PostScript units) are returned in the new read-only number registers -`llx', `lly', `urx', and `ury'. Consequently, .PSPIC has been adapted to -use the new request, and the psbb program has been removed. - -A new predefined writable number register, `year', has been added. It -contains the current year. - -A new read-only register, `.Y', has been added. It contains the revision -number of the groff package. - -`\fP' now behaves as expected in situations like the following where the -font `foo' is undefined: - - .B bold text - normal text \f[foo]bar\fP normal text - -Previously, the text after \fP appeared as bold. - -The `substring' request is not new, but hasn't been documented before. - -The predefined `.T' string register (which holds the current output device) -is not new, but hasn't been documented before. - -A new request `length' computes the length of a string and returns it in -a number register. - -The macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace' -(a debugging aid) are now installed also. - -A new resource file, `troffrc-end', is now available. It is invoked after -all user-specified macros. Currently used by the html device to include -tmac.html; thus no need for users to specify -mhtml anymore. - -The soft hyphen character now has a glyph name: `shc'. - -The latin-1 character 173 (PS name `periodcentered') has got the troff glyph -name `pc' and is no longer intermixed with the symbol character `md' (PS -name `mathdot'). - -ASCII character 34 (PS name `quotedbl') has got the troff glyph name `dq' -(which is an alias to character `"'). - -ASCII character 39 (PS name `quoteright') has got the troff glyph name `cq' -(which is an alias to character "'"). - -Some additions to the font description files have been implemented for -better support of HTML output: - - The new format of lines in the `charset' subsection of font description - files is - - name metrics type code [entity_name] [-- comment] - - Currently, only the font description files in devhtml use the optional - entity_name string to define glyph entities in HTML. Everything after the - entity_name field is ignored; in case this field isn't used, two hyphen - characters are now necessary to start a comment. - - Two new requests are available in DESC files (currently used only with - grohtml): - - use_charnames_in_special - This command indicates that troff should encode named characters - inside special commands. - - pass_filenames - requests that troff tells the driver the source file name being - processed. This is achieved by another tcommand: `F filename'. - -Grotty ------- - -Bruno Haible <haible@clisp.cons.org> contributed support for UTF8 output. - -Grohtml -------- - -Added .LINE macro to tmac.arkup. - -The obsolete `.LINK' macro has been removed. - -.URL, .FTP, and .MAILTO macros now accept an optional third argument which -will be immediately appended to the second argument (to be used with -punctuation, for example). - -Grodvi ------- - -The font size 11pt has been changed to 10.95pt (as used in LaTeX 2e). - -A new font file CWI (using cmitt10; this is typewriter italic) has been -added. - -Grolbp ------- - -A new driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser -printers). This code has been contributed by Francisco Andres Verdu -<pandres@dragonet.es>. - -Grn ---- - -A new preprocessor to process gremlin pictures. It is based on the -original Berkeley implementation of grn, written by David Slattengren -and Barry Roitblat, and has been adapted to groff by Daniel Senderowicz -<daniel@synchrods.com> and Werner Lemberg <wl@gnu.org>. - -Pic ---- - -Added the `srand' command to set the seed for a new sequence of -pseudo-random numbers to be returned by `rand'. - -Gxditview ---------- - -Simplified installation: The Imakefile will now be configured (by groff's -configure script). - -Documentation -------------- - -Three new man pages are available: groff_tmac.5 (documenting how troff macros -are accessed and where they are found), groff.7 (a short reference of the GNU -roff language), and roff.7 (a general survey on GNU troff). - -Miscellaneous -------------- - -A partial port to win32 (for use with Microsoft Visual C++ 6.0) is now part -of the distribution. It has been contributed by Blake McBride -<blake@florida-software.com>. - -More information about programs, macros, documentation, etc., which is -related to groff has been collected in the file `MORE.STUFF'. - -VERSION 1.13, 1.14, 1.15 -======================== - -Bug fixes only; no user-visible changes. - -VERSION 1.12 -============ - -Finally, there are new maintainers for groff. Mailing lists and a CVS -repository are available also. See the file README for details. Not all -reported bugs could be fixed, so please send mails again if something is -still not working. - -Most of the installation problems should have vanished now (most -notably the $(tmac_wrap) bug). - -There is now a man page called groff_man.7 which documents the basics of the --man macros. It has been originally written by Susan G. Kleinmann -<sgk@debian.org>. - -A (still incomplete) groff reference manual in texinfo format originally -contributed by Trent A. Fisher <trent@gnurd.portland.or.us>. - -me.man and msafer.man have been renamed to groff_me.man -resp. groff_msafer.man for consistency. - -Default strings for macros in doc-common resp. tmac.an no longer contain the -word `UNIX'. - -groff should now be Y2k safe (fixes contributed by Paul Eggert -<eggert@twinsun.com>). - -Following the GNU standards, groff will now use the prefix `/usr/local/' as -the default instead of replacing an existent groff binary. - -groff, troff, nroff, and pic now support the -U flag to activate unsafe -behaviour (without -msafer); the -S flag for using the -msafer macros is now -the default. - -Grohtml -------- - -This is a new output device for producing HTML output contributed by Gaius -Mulley <gaius@glam.ac.uk>. It is still very alpha but has been included -into the distribution so that a lot of people have a chance to test it. Bug -reports are highly welcome. - -Grolj4 ------- - -Duplex printing support has been contributed by Jeffrey Copeland -<jeff@opennt.com>. - -Soelim ------- - -Added -I option for defining include paths (patch contributed by Peter -Miller <peterm@jna.com.au>). - -Gxditview ---------- - -Fallback resources added (patch contributed by Larry Jones -<larry.jones@sdrc.com>). - -Will now support 8 gray levels. - -mm --- - -New version 1.32 (contributed by Joergen Haegg <jh@axis.com>). - -VERSION 1.11 -============ - -Complete documentation for pic is now in the file doc/pic.ms. It was -contributed by Eric S. Raymond, <esr@thyrsus.com>, who is emphatically -*not* volunteering to take over groff as he is way overworked with -half a dozen other projects. - -VERSION 1.10 -============ - -The directory where data files are installed has been changed from -/usr/local/lib/groff to /usr/local/share/groff to comply with the -latest GNU coding standards. - -By default groff programs with Unix equivalents are installed with a -"g" prefix unless there is an existing (non-groff) troff installation. - -A new approach is used to make system macro packages available to -groff. Instead of simply including /usr/lib/tmac in the list of -directories searched by groff, the installation process creates for -each system macro package a wrapper macro package in the groff macro -directory that references the system macro package. The groff macro -packages are now installed with a leading "g" prefix if there is a -system version of the same macro package, and otherwise without the -"g" prefix, with the exception that the groff version of -me which is -always installed as -me. - -There is a new device, lj4, for the HP LaserJet 4 (and PCL5 -compatibles). - -Groff ------ - -groff has a -S option that prevents the use of unsafe features in pic -and troff. This uses a new -S option of pic and the -msafer macros -for troff. - -Troff ------ - -The `blm' request specifies a macro to be invoked when a blank line is -encountered. - -Pic ---- - -A -S (safer) option disables the sh command. - -Grops ------ - -The -m option enables manual feed. - -VERSION 1.09 -============ - -\(rn will now produce a character that has the traditional metrics, -and will form corners with \(ul and \(br. This means that it will not -align properly with \(sr. Instead there's a new character -\[radicalex] which aligns with \(sr; this is used by eqn for doing -square roots. - -Troff ------ - -The `pso' request allows you to read from the standard output of a -command. - -Grops ------ - -The PSPIC macro has options to allow the horizontal alignment of the -graphic to be specified. - -VERSION 1.08 -============ - -Troff ------ - -The escape sequence \V[xxx] will interpolate the value of the -environment variable xxx. - -Tbl ---- - -The decimalpoint option can be used to specify the character to be -recognized as the decimal point character in place of the default -period. - -VERSION 1.07 -============ - -Groff ------ - -The environment variable GROFF_COMMAND_PREFIX can be used to control -whether groff looks for `gtroff' or `troff' (similarily for the -preprocessors.) - -Troff ------ - -Multilingual hyphenation is supported by new `hpf' and `hla' requests, -and by a `\n[.hla]' number register. The -H option has been removed. -Files of hyphenation patterns can have comments. - -When a font cannot be found, troff gives a warning (of type `font', -enabled by default) instead of an error. - -There's a new request `trnt' that's like `tr' except that it doesn't -apply to text transparently throughput into a diversion with \!. - -Tbl ---- - -There is a `nokeep' option which tells tbl not to use diversions to -try to keep the table on one page. - -Eqn ---- - -Setting the parameter `nroff' to a non-zero value causes `ndefine' to -behave like `define' and `tdefine' to be ignored. This is done by -eqnrc when the current device is ascii or latin1. There's a `neqn' -script that just does `eqn -Tascii'. - -Grotty ------- - -grotty uses whatever page length was specified using the `pl' request -rather than using the paperlength command in the DESC file. The -paperwidth command in the DESC file is also ignored. - -VERSION 1.06 -============ - -The programs in groff that have Unix counterparts can now be installed -without a leading `g' prefix. See the `g' variable in the Makefile. - -The g?nroff script simulates the nroff command using groff. - -New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, -\(an. See groff_char(7). - -^L is now a legal input character. - -Groff ------ - -The Xps pseudo-device has disappeared. Instead there is a new -X -option that tells groff to use gxditview instead of the usual -postprocessor. (So instead of -TXps, use -XTps or just -X if your -default device is ps.) - -The postprocessor to be used for a particular device is now specified -by a `postpro' command in the DESC file rather than being compiled -into groff. Similarly the command to be used for printing (with the --l option) is now specified by a `print' command in the DESC file. - -The groff command no longer specifies eqnchar as an input file for -eqn. Instead eqn automatically loads a file `eqnrc'. The groff -command no longer passes the -D option to eqn. Instead eqnrc sets the -draw_lines parameter. - -The groff command no longer tells troff to load a device-specific -macro file. This is handled instead by the `troffrc' file, which is -always loaded by troff. - -The shell script version of groff has been removed. - -Troff ------ - -The `rchar' request removes a character definition established with `char'. - -Compatibility mode is disabled and the escape character is set to `\' -while a character definition is being processed. - -The `\#' escape sequence is like `\"' except that the terminating -newline is ignored. - -The `shc' request tells troff which character to insert (instead of -the default \(hy) when a word is hyphenated at a line break. - -A font name of 0 (zero) in the DESC file will cause no font to be -mounted on the corresponding font position. This is useful for -arranging that special fonts are mounted on positions on which users -are not likely explicitly to mount fonts. All groff devices now avoid -initially mounting fonts on positions 5-9. - -The `do' request allows a single request or macro to be interpreted -with compatibility mode disabled. - -troff automatically loads a file `troffrc' before any other input file. -This can be prevented with the -R option. This file is responsible -for loading the device-specific macros. - -Pic ---- - -The -x option has been removed and a -n option has been added. By -default, pic now assumes that the postprocessor supports groff -extensions. The -n option tells pic to generate output that works -with ditroff drivers. The -z option now applies only to TeX mode. - -The -p option has been removed. Instead if the -n option is not -specified, pic generates output that uses \X'ps: ...' if the \n(0p -register is non-zero and tmac.ps sets this register to 1. - -In places where you could 1st or 5th you can now say `i'th or `i+1'th -(the quotes are required). - -Eqn ---- - -Eqn now automatically reads a file `eqnrc' from the macro directory. -This performs the same role that the eqnchar files used to. This can -be prevented by the -R option. - -Setting the draw_lines parameter to a non-zero value causes lines to -be drawn using \D rather than \l. The -D option is now obsolete. - -`uparrow', `downarrow' and `updownarrow' can be used with `left' and -`right'. - -The amount of extra space added before and after lines containing -equations can be controlled using the `body_height' and `body_depth' -parameters. - -Grops ------ - -Font description files have been regenerated from newer AFM files. -You can get access to the additional characters present in the text -fonts in newer PostScript printers by using -mpsnew. - -The default value of the -b option is specified by a `broken' command -in the DESC file. - -With the -g option, grops will generate PostScript code that guesses -the page height. This allows documents to be printed on both letter -(8.5x11) and A4 paper without change. - -Grodvi ------- - -ISO Latin-1 characters are available with -Tdvi. Format groff_char(7) -with groff -Tdvi for more information. - -Grotty ------- - -The -mtty-char macros contain additional character definitions for -use with grotty. - -Macros ------- - -In previous releases the groff -me macros treated the $r and $R number -registers in a way that was incompatible with the BSD -me macros. The -reason for this was that the approach used by the BSD -me macros does -not work with low resolution devices such as -TX75 and -TX100. -However, this caused problems with existing -me documents. In this -release, the vertical spacing is controlled by the $v and $V registers -which have the same meaning as $r and $R in earlier groff releases. -In addition, if the $r or $R register is set to a value that would be -correct for for the BSD -me macros and a low resolution device is not -being used, then an appropriate value for the $v or $V register will -be derived from the $r or $R register. - -The groff -me macros work with -C and (I think) with Unix troff. - -For backward compatibility with BSD -me, the \*{ and \*} strings are -also available as \*[ and \*]. Of course, \*[ will only be usable -with -C. - -The \*T string has been deleted. Use \*(Tm instead. - -Xditview --------- - -The `n', Space and Return keys are bound to the Next Page action. The -`p', BackSpace and Delete keys are bound to the Previous Page action. -The `q' key is bound to the Quit action. - -The `r' key is bound to a rerasterize action that reruns groff, and -redisplays the current page. - -VERSION 1.05 -============ - -Pic ---- - -There is a alternative assignment operator `:=' which interacts -differently with blocks. - -There is a new command `command', which allows the values of variables -to be passed through to troff or TeX. - -The `print' command now accepts multiple arguments. - -String comparison expressions (using `==' or `!=') are allowed in more -contexts. - -Grotty ------- - -Horizontal and vertical lines drawn with \D'l ...' will be rendered -using -, | and + characters. This is intended to give reasonable -results with boxed tables. It won't work well with pic. - -Macros ------- - -The -mdoc macros have been upgraded to the version in the second -Berkeley networking release. This version is not completely -compatible with earlier versions; the old version is still available -as -mdoc.old. The grog script has been enhanced so that it can -usually determine whether a document requires the old or new versions. - -With -TX75, -TX100 and -TXps, the PSPIC macro will produce a box -around where the picture would appear with -Tps. - -VERSION 1.04 -============ - -An implementation of the -mm macros is included. - -The directory in which temporary files are created can be controlled -by setting the GROFF_TMPDIR or TMPDIR environment variables. - -Pic ---- - -Some MS-DOS support (see pic/make-dos-dist). - -Grops ------ - -There are two new \X commands (\X'ps: invis' and \X'ps: endinvis') -which make it possible to have substitute characters that are -displayed when previewing with -TXps but ignored when printing with -grops. - -Xditview --------- - -Support for scalable fonts. - -VERSION 1.03 -============ - -No changes other than bug fixes. - -VERSION 1.02 -============ - -There is an implementation of refer and associated programs. groff -R -preprocesses with grefer; no mechanism is provided for passing -arguments to grefer because most grefer options have equivalent -commands which can be included in the file. grog also supports refer. - -There is an alternative perl implementation of the grog script. - -The code field in lines in the charset section of font description -files is now allowed to contain an arbitrary integer (previously it -was required to lie between 0 and 255). Currently grops and grodvi -use only the low order 8 bits of the value. Grodvi will use the -complete value; however, this is unlikely to be useful with -traditional TeX tools (.tfm files only allow 8 bit character codes.) - -Left and right double quotes can be obtained with \(lq and \(rq -respectively. - -There is a new program called pfbtops which translates PostScript -fonts in pfb format to ASCII. - -A slightly modified version of the Berkeley tmac.doc is included. - -Troff ------ - -In long escape names the closing ] is now required to be at the same -input level as the opening [. - -The \A'S' escape sequence returns 1 or 0 according as S is or is not -suitable for use as a name. - -\~ produces an unbreakable space that can be stretched when the line -is adjusted. - -The `mso' request is like the `so' request except that it searches for -the file in the same directories in which tmac.X is searched for when -the -mX option is given. - -The escape sequence `\R' is similar to the `nr' request. - -Eqn ---- - -A new `special' primitive allows you to add new types of unary -constructs by writing a troff macro. - -Pic ---- - -The implementation no longer uses gperf. - -Grops ------ - -The compile-time -DBROKEN_SPOOLER option has been replaced by a -BROKEN_SPOOLER_FLAGS option. This allows more precise control over -how grops should workaround broken spoolers and previewers. There is -a new -b option that can change this at run-time. - -Grops now generates PostScript that complies with version 3.0 of the -Document Structuring Convention. - -The resource management component of grops (the part that deals with -imported documents and downloadable fonts) has been rewritten and now -supports version 3.0 of the Document Structuring Conventions. The -%%DocumentFonts comment is no longer supported; you must use the -%%Document{Needed,Supplied}{Fonts,Resources} comments instead -(or as well.) - -tmac.psatk contains some macros that support the mechanism used by the -Andrew Toolkit for including PostScript graphics in troff documents. - -Xditview --------- - -Parts of xditview have been rewritten so that it can be used with the -output of gtroff -Tps. groff -TXps will run gtroff -Tps with -gxditview. - -There is a new menu entry `Print' which brings up a dialog box for -specifying a command with which the file being previewed should be -printed. - -Xditview now uses imake. - -VERSION 1.01 -============ - -The groff command now understands the gtroff `-a' and `-i' options. - -With the `m' and `n' scale indicators, the scale factor is rounded -horizontally before being applied. This makes (almost) no difference -for devices with `hor' equal to 1, but it makes groff with -Tascii or --Tlatin1 behave more like nroff in its treatment of these scale -indicators. Accordingly tmac.tty now calls the `nroff' request so -that the `n' condition will be true. - -The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) -have been made to work at least somewhat with -C. In particular the -special characters defined by these macros now work with -C. - -groff -Tdvi -p will now pass pic the -x flag; this will enable filling -of arrowheads and boxes, provided that your dvi driver supports the -latest version of the tpic specials. - -Eqn ---- - -There is a new `-N' option that tells eqn not to allow newlines in -delimiters. This allows eqn to recover better from missing closing -delimiters. The groff command will pass on a `-N' option to eqn. - -Grops ------ - -You can now use psfig with grops. See the file ps/psfig.diff. I do -not recommend using psfig for new documents. - -The command \X'ps: file F' is similar to \X'ps: exec ...' except that -the PostScript code is read from the file F instead of being contained -within the \X command. This was added to support psfig. - -Grodvi ------- - -There are font files HB and HI corresponding to cmsssbx10 and cmssi10. - -Macros ------- - -The groff -me macros now work with the -C option. As a result, they -may also work with Unix nroff/troff. - -In -me, the $r and $R number registers now contain the line spacing as -a percentage of the pointsize expressed in units (normally about 120). -The previous definition was useless with low resolution devices such -as X75 and X100. - -VERSION 1.00 -============ - -A -ms-like macro-package is now included. - -The name for the Icelandic lowercase eth character has been changed -from \(-d to \(Sd. - -Troff ------ - -There is a new request `nroff', which makes the `n' built-in condition -true and the `t' built-in condition false; also a new request `troff' -which undoes the effect of the `nroff' request. This is intended only -for backward compatibility: it is usually better to test \n(.H or -\n(.V or to use the `c' built-in condition. - -The \R escape sequence has been deleted. Use \E instead. - -There are `break' and `continue' requests for use with the `while' -request. - -There is a request `hym' that can ensure that when the current -adjustment mode is not `b' a line will not be hyphenated if it is no -more than a given amount short, and a request `hys' that can ensure -that when the current adjustment mode is `b' a line will not be -hyphenated if it can be justified by adding no more than a given -amount of extra space to each word space. - -There is a request `rj' similar to `ce' that right justifies lines. - -A warning of type `space' will be given when a call is made to an -undefined request or macro with a name longer than two characters, and -the first two characters of the name make a name that is defined. -This is intended to find places where a space has been omitted been a -request or macro and its argument. This type of warning is enabled by -default. - -Pic ---- - -A comma is permitted between the arguments to the `reset' command. - -For use with TeX, there is a new `-c' option that makes gpic treat -lines beginning with `.' in a way that is more compatible with tpic -(but ugly). - -Eqn ---- - -It is no longer necessary to add `space 0' at the beginning of -complicated equations inside pictures. - -`prime' is now treated as an ordinary character, as in Unix eqn. The -previous behaviour of `prime' as an operator can now be obtained using -`opprime'. - -Xditview --------- - -There are two new devices X75-12 and X100-12 which are the same as X75 -and X100 except that they are optimized for documents that use mostly -12 point text. - -VERSION 0.6 -=========== - -The installation process has been refined to make it easy for you to -share groff with someone who has the same type of machine as you but -does not have a C++ compiler. See the end of the INSTALL file for -details. - -There is a man page for the tfmtodit program which explains how to use -your own fonts with groff -Tdvi. - -There is a man page for afmtodit which explains how to use your own -PostScript fonts with groff -Tps. - -The \N escape sequence is now fully supported. It can now be used to -access any character in a font by its output code, even if it doesn't -have a groff name. This is made possible by a convention in the font -files that a character name of `---' refers to an unnamed character. -The drivers now all support the `N' command required for this. The font -description files have been updated to include unnamed characters. - -The `x' command in font description files has been removed: instead -any unknown commands are automatically made available to the drivers. -If you constructed your own font files with an earlier version of -tfmtodit or afmtodit, you must construct them again using the current -version. - -Characters between 0200 and 0237 octal are no longer legal input -characters. Note that these are not used in ISO 8859. - -A command called `grog' has been added, similar to the `doctype' -command described in Kernighan and Pike. - -Groff ------ - -The groff command has some new options: -V prints the pipeline -instead of executing it; -P passes an argument to the postprocessor, --L passes an argument to the spooler. - -There is a C++ implementation of the groff command. This handles some -things slightly better than the shell script. In particular, it can -correctly handle arguments containing characters that have a special -meaning to the shell; it can give an error message when child -processes other than the last in the pipeline terminate abnormally; -its exit status can take account of the exit statuses of all its child -processes; it is a little more efficient; when geqn is used, it -searches for the eqnchar file in the same way that font metric files -are searched for, rather than expecting to find it in one particular -directory. - -Gtroff ------- - -There is font translation feature: For example, you can tell gtroff to -use font `HR' whenever font `H' is requested with the line - .ftr H HR -This would be useful for a document that uses `H' to refer to -Helvetica. - -There are some new number registers: `.kern' contains the current kern -mode, `.lg' the current ligature mode, `.x' the major version number, -`.y' the minor version number, `.ce' the number of lines to be -centered in the current environment, `.trunc' the amount of vertical -space truncated by the most recently sprung vertical position trap, -`.ne' the amount of vertical space needed in the last `ne' request -that caused a vertical position trap to be sprung. - -The `cf' request now behaves sensibly in a diversion. If used in a -diversion, it will now arrange for the file to be copied to the output -when the diversion is reread. - -There is a new request `trf' (transparent file) similar to `cf', but -more like `\!'. - -There is a new escape sequence `\Y[xxx]', roughly equivalent to -`\X'\*[xxx]'', except that the contents of string or macro xxx are not -interpreted, and xxx may contain newlines. This requires an output -format extension; the drivers have been modified to understand this. -Grops has also been modified to cope with newlines in the arguments to -\X commands; grops has a new \X command mdef, which is like def except -that it has a first argument giving the number of definitions. - -There is a new warning category `escape' which warns about unknown -escape sequences. - -The `fp' request now takes an optional third argument giving the external -name of the font. - -The `\_' character is now automatically translated to `\(ul' as in troff. - -The environment variable `GROFF_HYPHEN' gives the name of the file -containing the hyphenation patterns. - -There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. - -Characters ", ', ), ], *, \(dg are now initially transparent for the purposes -of end of sentence recognition. - -There is an anti-recursion feature in the `char' request, so you can -say `.char \(bu \s+2\(bu\s-2'. - -The limit on the number of font positions has been removed. -Accordingly `\n[.fp]' never returns 0. - -The restriction on the number of numbered environments has been removed. - -There is a new escape sequence `\E' that makes it possible to -guarantee that an escape sequence won't get interpreted in copy-mode. -The `\R' escape sequence is accordingly now deprecated. - -Gpic ----- - -Arguments of the form `X anything X' (in the `copy thru', `sh', `for', -`if' and `define' constructs) can now be of the form `{ anything }'. - -If the `linethick' variable is negative (as it now is initially), -lines will be drawn with a thickness proportional to the current point -size. - -The `rand' function now takes no arguments and returns a number between -0 and 1. The old syntax is still supported. - -`^' can be used in expressions to indicate exponentiation. - -In the `for' construct the argument to the by clause can be prefixed -by `*' to indicate that the increment is multiplicative. - -A bare expression may be used as an attribute. If the current -direction is `dir', then an attribute `expr' is equivalent to -`dir expr' - -There is a `sprintf' construct that allows numbers to be formatted and used -wherever a quoted string can be used. - -The height of a text object without an explicit height attribute is -the number of text strings associated with the object times the value -of the `textht' variable. - -The maximum height and width of a picture is controlled by the -`maxpswid' and `maxpsht' variables. - -Gtbl ----- - -Gtbl can now handle gracefully the situation where the `ce' request -has been applied to a table. - -Geqn ----- - -The `ifdef' primitive has been generalized. - -A tilde accent can be put underneath a box using `utilde'. This -defined using a general `uaccent' primitive. - -Grops ------ - -There is a new PostScript font downloading scheme which handles font -downloading for imported illustrations. Previously, the name of the -file containing the font was given in the `x download' line in the -groff font metric file. Now, there is a `download' file which says -for each PostScript font name which file contains that font. Grops -can also now handle inter-font dependencies, where one downloadable -font depends on some other (possibly downloadable) font. - -The `T' font has been removed. The characters it used to provide are -now provided by `char' definitions in tmac.ps. TSymbol.ps has also -been removed, and the tweaks it provided are now provided by `char' -definitions. |