Commit | Line | Data |
---|---|---|
7a3c88b2 C |
1 | This file describes recent user-visible changes in groff. Bug fixes |
2 | are not described. There are more details in the man pages. | |
3 | ||
4 | VERSION 1.01 | |
5 | ============ | |
6 | ||
7 | The groff command now understands the gtroff `-a' and `-i' options. | |
8 | ||
9 | With the `m' and `n' scale indicators, the scale factor is rounded | |
10 | horizontally before being applied. This makes (almost) no difference | |
11 | for devices with `hor' equal to 1, but it makes groff with -Tascii or | |
12 | -Tlatin1 behave more like nroff in its treatment of these scale | |
13 | indicators. Accordingly tmac.tty now calls the `nroff' request so | |
14 | that the `n' condition will be true. | |
15 | ||
16 | The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) | |
17 | have been made to work at least somewhat with -C. In particular the | |
18 | special characters defined by these macros now work with -C. | |
19 | ||
20 | groff -Tdvi -p will now pass pic the -x flag; this will enable filling | |
21 | of arrowheads and boxes, provided that your dvi driver supports the | |
22 | latest version of the tpic specials. | |
23 | ||
24 | Eqn | |
25 | --- | |
26 | ||
27 | There is a new `-N' option that tells eqn not to allow newlines in | |
28 | delimiters. This allows eqn to recover better from missing closing | |
29 | delimiters. The groff command will pass on a `-N' option to eqn. | |
30 | ||
31 | Grops | |
32 | ----- | |
33 | ||
34 | You can now use psfig with grops. See the file ps/psfig.diff. I do | |
35 | not recommend using psfig for new documents. | |
36 | ||
37 | The command \X'ps: file F' is similar to \X'ps: exec ...' except that | |
38 | the PostScript code is read from the file F instead of being contained | |
39 | within the \X command. This was added to support psfig. | |
40 | ||
41 | Grodvi | |
42 | ------ | |
43 | ||
44 | There are font files HB and HI corresponding to cmsssbx10 and cmssi10. | |
45 | ||
46 | Macros | |
47 | ------ | |
48 | ||
49 | The groff -me macros now work with the -C option. As a result, they | |
50 | may also work with Unix nroff/troff. | |
51 | ||
52 | In -me, the $r and $R number registers now contain the line spacing as | |
53 | a percentage of the pointsize expressed in units (normally about 120). | |
54 | The previous definition was useless with low resolution devices such | |
55 | as X75 and X100. | |
56 | ||
57 | VERSION 1.00 | |
58 | ============ | |
59 | ||
60 | A -ms-like macro-package is now included. | |
61 | ||
62 | The name for the Icelandic lowercase eth character has been changed | |
63 | from \(-d to \(Sd. | |
64 | ||
65 | Troff | |
66 | ----- | |
67 | ||
68 | There is a new request `nroff', which makes the `n' built-in condition | |
69 | true and the `t' built-in condition false; also a new request `troff' | |
70 | which undoes the effect of the `nroff' request. This is intended only | |
71 | for backward compatibility: it is usually better to test \n(.H or | |
72 | \n(.V or to use the `c' built-in condition. | |
73 | ||
74 | The \R escape sequence has been deleted. Use \E instead. | |
75 | ||
76 | There are `break' and `continue' requests for use with the `while' | |
77 | request. | |
78 | ||
79 | There is a request `hym' that can ensure that when the current | |
80 | adjustment mode is not `b' a line will not be hyphenated if it is no | |
81 | more than a given amount short, and a request `hys' that can ensure | |
82 | that when the current adjustment mode is `b' a line will not be | |
83 | hyphenated if it can be justified by adding no more than a given | |
84 | amount of extra space to each word space. | |
85 | ||
86 | There is a request `rj' similar to `ce' that right justifies lines. | |
87 | ||
88 | A warning of type `space' will be given when a call is made to an | |
89 | undefined request or macro with a name longer than two characters, and | |
90 | the first two characters of the name make a name that is defined. | |
91 | This is intended to find places where a space has been omitted been a | |
92 | request or macro and its argument. This type of warning is enabled by | |
93 | default. | |
94 | ||
95 | Pic | |
96 | --- | |
97 | ||
98 | A comma is permitted between the arguments to the `reset' command. | |
99 | ||
100 | For use with TeX, there is a new `-c' option that makes gpic treat | |
101 | lines beginning with `.' in a way that is more compatible with tpic | |
102 | (but ugly). | |
103 | ||
104 | Eqn | |
105 | --- | |
106 | ||
107 | It is no longer necessary to add `space 0' at the beginning of | |
108 | complicated equations inside pictures. | |
109 | ||
110 | `prime' is now treated as an ordinary character, as in Unix eqn. The | |
111 | previous behaviour of `prime' as an operator can now be obtained using | |
112 | `opprime'. | |
113 | ||
114 | Xditview | |
115 | -------- | |
116 | ||
117 | There are two new devices X75-12 and X100-12 which are the same as X75 | |
118 | and X100 except that they are optimized for documents that use mostly | |
119 | 12 point text. | |
120 | ||
121 | VERSION 0.6 | |
122 | =========== | |
123 | ||
124 | The installation process has been refined to make it easy for you to | |
125 | share groff with someone who has the same type of machine as you but | |
126 | does not have a C++ compiler. See the end of the INSTALL file for | |
127 | details. | |
128 | ||
129 | There is a man page for the tfmtodit program which explains how to use | |
130 | your own fonts with groff -Tdvi. | |
131 | ||
132 | There is a man page for afmtodit which explains how to use your own | |
133 | PostScript fonts with groff -Tps. | |
134 | ||
135 | The \N escape sequence is now fully supported. It can now be used to | |
136 | access any character in a font by its output code, even if it doesn't | |
137 | have a groff name. This is made possible by a convention in the font | |
138 | files that a character name of `---' refers to an unnamed character. | |
139 | The drivers now all support the `N' command required for this. The font | |
140 | description files have been updated to include unnamed characters. | |
141 | ||
142 | The `x' command in font description files has been removed: instead | |
143 | any unknown commands are automatically made available to the drivers. | |
144 | If you constructed your own font files with an earlier version of | |
145 | tfmtodit or afmtodit, you must construct them again using the current | |
146 | version. | |
147 | ||
148 | Characters between 0200 and 0237 octal are no longer legal input | |
149 | characters. Note that these are not used in ISO 8859. | |
150 | ||
151 | A command called `grog' has been added, similar to the `doctype' | |
152 | command described in Kernighan and Pike. | |
153 | ||
154 | Groff | |
155 | ----- | |
156 | ||
157 | The groff command has some new options: -V prints the pipeline | |
158 | instead of executing it; -P passes an argument to the postprocessor, | |
159 | -L passes an argument to the spooler. | |
160 | ||
161 | There is a C++ implementation of the groff command. This handles some | |
162 | things slightly better than the shell script. In particular, it can | |
163 | correctly handle arguments containing characters that have a special | |
164 | meaning to the shell; it can give an error message when child | |
165 | processes other than the last in the pipeline terminate abnormally; | |
166 | its exit status can take account of the exit statuses of all its child | |
167 | processes; it is a little more efficient; when geqn is used, it | |
168 | searches for the eqnchar file in the same way that font metric files | |
169 | are searched for, rather than expecting to find it in one particular | |
170 | directory. | |
171 | ||
172 | Gtroff | |
173 | ------ | |
174 | ||
175 | There is font translation feature: For example, you can tell gtroff to | |
176 | use font `HR' whenever font `H' is requested with the line | |
177 | .ftr H HR | |
178 | This would be useful for a document that uses `H' to refer to | |
179 | Helvetica. | |
180 | ||
181 | There are some new number registers: `.kern' contains the current kern | |
182 | mode, `.lg' the current ligature mode, `.x' the major version number, | |
183 | `.y' the minor version number, `.ce' the number of lines to be | |
184 | centered in the current environment, `.trunc' the amount of vertical | |
185 | space truncated by the most recently sprung vertical position trap, | |
186 | `.ne' the amount of vertical space needed in the last `ne' request | |
187 | that caused a vertical position trap to be sprung. | |
188 | ||
189 | The `cf' request now behaves sensibly in a diversion. If used in a | |
190 | diversion, it will now arrange for the file to be copied to the output | |
191 | when the diversion is reread. | |
192 | ||
193 | There is a new request `trf' (transparent file) similar to `cf', but | |
194 | more like `\!'. | |
195 | ||
196 | There is a new escape sequence `\Y[xxx]', roughly equivalent to | |
197 | `\X'\*[xxx]'', except that the contents of string or macro xxx are not | |
198 | interpreted, and xxx may contain newlines. This requires an output | |
199 | format extension; the drivers have been modified to understand this. | |
200 | Grops has also been modified to cope with newlines in the arguments to | |
201 | \X commands; grops has a new \X command mdef, which is like def except | |
202 | that it has a first argument giving the number of definitions. | |
203 | ||
204 | There is a new warning category `escape' which warns about unknown | |
205 | escape sequences. | |
206 | ||
207 | The `fp' request now takes an optional third argument giving the external | |
208 | name of the font. | |
209 | ||
210 | The `\_' character is now automatically translated to `\(ul' as in troff. | |
211 | ||
212 | The environment variable `GROFF_HYPHEN' gives the name of the file | |
213 | containing the hyphenation patterns. | |
214 | ||
215 | There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. | |
216 | ||
217 | Characters ", ', ), ], *, \(dg are now initially transparent for the purposes | |
218 | of end of sentence recognition. | |
219 | ||
220 | There is an anti-recusion feature in the `char' request, so you can | |
221 | say `.char \(bu \s+2\(bu\s-2'. | |
222 | ||
223 | The limit on the number of font positions has been removed. | |
224 | Accordingly `\n[.fp]' never returns 0. | |
225 | ||
226 | The restriction on the number of numbered environments has been removed. | |
227 | ||
228 | There is a new escape sequence `\E' that makes it possible to | |
229 | guarantee that an escape sequence won't get interpreted in copy-mode. | |
230 | The `\R' escape sequence is accordingly now deprecated. | |
231 | ||
232 | Gpic | |
233 | ---- | |
234 | ||
235 | Arguments of the form `X anything X' (in the `copy thru', `sh', `for', | |
236 | `if' and `define' constructs) can now be of the form `{ anything }'. | |
237 | ||
238 | If the `linethick' variable is negative (as it now is initially), | |
239 | lines will be drawn with a thickness proportional to the current point | |
240 | size. | |
241 | ||
242 | The `rand' function now takes no arguments and returns a number between | |
243 | 0 and 1. The old syntax is still supported. | |
244 | ||
245 | `^' can be used in expressions to indicate exponentiation. | |
246 | ||
247 | In the `for' construct the argument to the by clause can be prefixed | |
248 | by `*' to indicate that the increment is multiplicative. | |
249 | ||
250 | A bare expression may be used as an attribute. If the current | |
251 | direction is `dir', then an attribute `expr' is equivalent to | |
252 | `dir expr' | |
253 | ||
254 | There is a `sprintf' construct that allows numbers to be formatted and used | |
255 | wherever a quoted string can be used. | |
256 | ||
257 | The height of a text object without an explicit height attribute is | |
258 | the number of text strings associated with the object times the value | |
259 | of the `textht' variable. | |
260 | ||
261 | The maximum height and width of a picture is controlled by the | |
262 | `maxpswid' and `maxpsht' variables. | |
263 | ||
264 | Gtbl | |
265 | ---- | |
266 | ||
267 | Gtbl can now handle gracefully the situation where the `ce' request | |
268 | has been applied to a table. | |
269 | ||
270 | Geqn | |
271 | ---- | |
272 | ||
273 | The `ifdef' primitive has been generalized. | |
274 | ||
275 | A tilde accent can be put underneath a box using `utilde'. This | |
276 | defined using a general `uaccent' primitive. | |
277 | ||
278 | Grops | |
279 | ----- | |
280 | ||
281 | There is a new PostScript font downloading scheme which handles font | |
282 | downloading for imported illustrations. Previously, the name of the | |
283 | file containing the font was given in the `x download' line in the | |
284 | groff font metric file. Now, there is a `download' file which says | |
285 | for each PostScript font name which file contains that font. Grops | |
286 | can also now handle inter-font dependencies, where one downloadable | |
287 | font depends on some other (possibly downloadable) font. | |
288 | ||
289 | The `T' font has been removed. The characters it used to provide are | |
290 | now provided by `char' definitions in tmac.ps. TSymbol.ps has also | |
291 | been removed, and the tweaks it provided are now provided by `char' | |
292 | definitions. |