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