Commit | Line | Data |
---|---|---|
fe0b4a4e 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.08 | |
5 | ============ | |
6 | ||
7 | Troff | |
8 | ----- | |
9 | ||
10 | The escape sequence \V[xxx] will interpolate the value of the | |
11 | environment variable xxx. | |
12 | ||
13 | Tbl | |
14 | --- | |
15 | ||
16 | The decimalpoint option can be used to specify the character to be | |
17 | recognized as the decimal point character in place of the default | |
18 | period. | |
19 | ||
20 | VERSION 1.07 | |
21 | ============ | |
22 | ||
23 | Groff | |
24 | ----- | |
25 | ||
26 | The environment variable GROFF_COMMAND_PREFIX can be used to control | |
27 | whether groff looks for `gtroff' or `troff' (similarily for the | |
28 | preprocessors.) | |
29 | ||
30 | Troff | |
31 | ----- | |
32 | ||
33 | Multilingual hyphenation is supported by new `hpf' and `hla' requests, | |
34 | and by a `\n[.hla]' number register. The -H option has been removed. | |
35 | Files of hyphenation patterns can have comments. | |
36 | ||
37 | When a font cannot be found, troff gives a warning (of type `font', | |
38 | enabled by default) instead of an error. | |
39 | ||
40 | There's a new request `trnt' that's like `tr' except that it doesn't | |
41 | apply to text transparently throughput into a diversion with \!. | |
42 | ||
43 | Tbl | |
44 | --- | |
45 | ||
46 | There is a `nokeep' option which tells tbl not to use diversions to | |
47 | try to keep the table on one page. | |
48 | ||
49 | Eqn | |
50 | --- | |
51 | ||
52 | Setting the parameter `nroff' to a non-zero value causes `ndefine' to | |
53 | behave like `define' and `tdefine' to be ignored. This is done by | |
54 | eqnrc when the current device is ascii or latin1. There's a `neqn' | |
55 | script that just does `eqn -Tascii'. | |
56 | ||
57 | Grotty | |
58 | ------ | |
59 | ||
60 | grotty uses whatever page length was specified using the `pl' request | |
61 | rather than using the paperlength command in the DESC file. The | |
62 | paperwidth command in the DESC file is also ignored. | |
63 | ||
64 | VERSION 1.06 | |
65 | ============ | |
66 | ||
67 | The programs in groff that have Unix counterparts can now be installed | |
68 | without a leading `g' prefix. See the `g' variable in the Makefile. | |
69 | ||
70 | The g?nroff script simulates the nroff command using groff. | |
71 | ||
72 | New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, | |
73 | \(an. See groff_char(7). | |
74 | ||
75 | ^L is now a legal input character. | |
76 | ||
77 | Groff | |
78 | ----- | |
79 | ||
80 | The Xps pseudo-device has disappeared. Instead there is a new -X | |
81 | option that tells groff to use gxditview instead of the usual | |
82 | postprocessor. (So instead of -TXps, use -XTps or just -X if your | |
83 | default device is ps.) | |
84 | ||
85 | The postprocessor to be used for a particular device is now specified | |
86 | by a `postpro' command in the DESC file rather than being compiled | |
87 | into groff. Similarily the command to be used for printing (with the | |
88 | -l option) is now specified by a `print' command in the DESC file. | |
89 | ||
90 | The groff command no longer specifies eqnchar as an input file for | |
91 | eqn. Instead eqn automatically loads a file `eqnrc'. The groff | |
92 | command no longer passes the -D option to eqn. Instead eqnrc sets the | |
93 | draw_lines parameter. | |
94 | ||
95 | The groff command no longer tells troff to load a device-specific | |
96 | macro file. This is handled instead by the `troffrc' file, which is | |
97 | always loaded by troff. | |
98 | ||
99 | The shell script version of groff has been removed. | |
100 | ||
101 | Troff | |
102 | ----- | |
103 | ||
104 | The `rchar' request removes a character definition established with `char'. | |
105 | ||
106 | Compatibility mode is disabled and the escape character is set to `\' | |
107 | while a character definition is being processed. | |
108 | ||
109 | The `\#' escape sequence is like `\%' except that the terminating | |
110 | newline is ignored. | |
111 | ||
112 | The `shc' request tells troff which character to insert (instead of | |
113 | the default \(hy) when a word is hyphenated at a line break. | |
114 | ||
115 | A font name of 0 (zero) in the DESC file will cause no font to be | |
116 | mounted on the corresponding font position. This is useful for | |
117 | arranging that special fonts are mounted on positions on which users | |
118 | are not likely explicitly to mount fonts. All groff devices now avoid | |
119 | initially mounting fonts on positions 5-9. | |
120 | ||
121 | The `do' request allows a single request or macro to be interpreted | |
122 | with compatibility mode disabled. | |
123 | ||
124 | troff automatically loads a file `troffrc' before any other input file. | |
125 | This can be prevented with the -R option. This file is responsible | |
126 | for loading the device-specific macros. | |
127 | ||
128 | Pic | |
129 | --- | |
130 | ||
131 | The -x option has been removed and a -n option has been added. By | |
132 | default, pic now assumes that the postprocessor supports groff | |
133 | extensions. The -n option tells pic to generate output that works | |
134 | with ditroff drivers. The -z option now applies only to TeX mode. | |
135 | ||
136 | The -p option has been removed. Instead if the -n option is not | |
137 | specified, pic generates output that uses \X'ps: ...' if the \n(0p | |
138 | register is non-zero and tmac.ps sets this register to 1. | |
139 | ||
140 | In places where you could 1st or 5th you can now say `i'th or `i+1'th | |
141 | (the quotes are required). | |
142 | ||
143 | Eqn | |
144 | --- | |
145 | ||
146 | Eqn now automatically reads a file `eqnrc' from the macro directory. | |
147 | This performs the same role that the eqnchar files used to. This can | |
148 | be prevented by the -R option. | |
149 | ||
150 | Setting the draw_lines parameter to a non-zero value causes lines to | |
151 | be drawn using \D rather than \l. The -D option is now obsolete. | |
152 | ||
153 | `uparrow', `downarrow' and `updownarrow' can be used with `left' and | |
154 | `right'. | |
155 | ||
156 | The amount of extra space added before and after lines containing | |
157 | equations can be controlled using the `body_height' and `body_depth' | |
158 | parameters. | |
159 | ||
160 | Grops | |
161 | ----- | |
162 | ||
163 | Font description files have been regenerated from newer AFM files. | |
164 | You can get access to the additional characters present in the text | |
165 | fonts in newer PostScript printers by using -mpsnew. | |
166 | ||
167 | The default value of the -b option is specified by a `broken' command | |
168 | in the DESC file. | |
169 | ||
170 | With the -g option, grops will generate PostScript code that guesses | |
171 | the page height. This allows documents to be printed on both letter | |
172 | (8.5x11) and A4 paper without change. | |
173 | ||
174 | Grodvi | |
175 | ------ | |
176 | ||
177 | ISO Latin-1 characters are available with -Tdvi. Format groff_char(7) | |
178 | with groff -Tdvi for more information. | |
179 | ||
180 | Grotty | |
181 | ------ | |
182 | ||
183 | The -mtty-char macros contain additional character definitions for | |
184 | use with grotty. | |
185 | ||
186 | Macros | |
187 | ------ | |
188 | ||
189 | In previous releases the groff -me macros treated the $r and $R number | |
190 | registers in a way that was incompatible with the BSD -me macros. The | |
191 | reason for this was that the approach used by the BSD -me macros does | |
192 | not work with low resolution devices such as -TX75 and -TX100. | |
193 | However, this caused problems with existing -me documents. In this | |
194 | release, the vertical spacing is controlled by the $v and $V registers | |
195 | which have the same meaning as $r and $R in earlier groff releases. | |
196 | In addition, if the $r or $R register is set to a value that would be | |
197 | correct for for the BSD -me macros and a low resolution device is not | |
198 | being used, then an appropriate value for the $v or $V register will | |
199 | be derived from the $r or $R register. | |
200 | ||
201 | The groff -me macros work with -C and (I think) with Unix troff. | |
202 | ||
203 | For backward compatibility with BSD -me, the \*{ and \*} strings are | |
204 | also available as \*[ and \*]. Of course, \*[ will only be useable | |
205 | with -C. | |
206 | ||
207 | The \*T string has been deleted. Use \*(Tm instead. | |
208 | ||
209 | Xditview | |
210 | -------- | |
211 | ||
212 | The `n', Space and Return keys are bound to the Next Page action. The | |
213 | `p', BackSpace and Delete keys are bound to the Previous Page action. | |
214 | The `q' key is bound to the Quit action. | |
215 | ||
216 | The `r' key is bound to a rerasterize action that reruns groff, and | |
217 | redisplays the current page. | |
218 | ||
219 | VERSION 1.05 | |
220 | ============ | |
221 | ||
222 | Pic | |
223 | --- | |
224 | ||
225 | There is a alternative assignment operator `:=' which interacts | |
226 | differently with blocks. | |
227 | ||
228 | There is a new command `command', which allows the values of variables | |
229 | to be passed through to troff or TeX. | |
230 | ||
231 | The `print' command now accepts multiple arguments. | |
232 | ||
233 | String comparison expressions (using `==' or `!=') are allowed in more | |
234 | contexts. | |
235 | ||
236 | Grotty | |
237 | ------ | |
238 | ||
239 | Horizontal and vertical lines drawn with \D'l ...' will be rendered | |
240 | using -, | and + characters. This is intended to give reasonable | |
241 | results with boxed tables. It won't work well with pic. | |
242 | ||
243 | Macros | |
244 | ------ | |
245 | ||
246 | The -mdoc macros have been upgraded to the version in the second | |
247 | Berkeley networking release. This version is not completely | |
248 | compatible with earlier versions; the old version is still available | |
249 | as -mdoc.old. The grog script has been enhanced so that it can | |
250 | usually determine whether a document requires the old or new versions. | |
251 | ||
252 | With -TX75, -TX100 and -TXps, the PSPIC macro will produce a box | |
253 | around where the picture would appear with -Tps. | |
254 | ||
255 | VERSION 1.04 | |
256 | ============ | |
257 | ||
258 | An implementation of the -mm macros is included. | |
259 | ||
260 | The directory in which temporary files are created can be controlled | |
261 | by setting the GROFF_TMPDIR or TMPDIR environment variables. | |
262 | ||
263 | Pic | |
264 | --- | |
265 | ||
266 | Some MS-DOS support (see pic/make-dos-dist). | |
267 | ||
268 | Grops | |
269 | ----- | |
270 | ||
271 | There are two new \X commands (\X'ps: invis' and \X'ps: endinvis') | |
272 | which make it possible to have substitute characters that are | |
273 | displayed when previewing with -TXps but ignored when printing with | |
274 | grops. | |
275 | ||
276 | Xditview | |
277 | -------- | |
278 | ||
279 | Support for scalable fonts. | |
280 | ||
281 | VERSION 1.03 | |
282 | ============ | |
283 | ||
284 | No changes other than bug fixes. | |
285 | ||
286 | VERSION 1.02 | |
287 | ============ | |
288 | ||
289 | There is an implementation of refer and associated programs. groff -R | |
290 | preprocesses with grefer; no mechanism is provided for passing | |
291 | arguments to grefer because most grefer options have equivalent | |
292 | commands which can be included in the file. grog also supports refer. | |
293 | ||
294 | There is an alternative perl implementation of the grog script. | |
295 | ||
296 | The code field in lines in the charset section of font description | |
297 | files is now allowed to contain an arbitrary integer (previously it | |
298 | was required to lie between 0 and 255). Currently grops and grodvi | |
299 | use only the low order 8 bits of the value. Grodvi will use the | |
300 | complete value; however, this is unlikely to be useful with | |
301 | traditional TeX tools (.tfm files only allow 8 bit character codes.) | |
302 | ||
303 | Left and right double quotes can be obtained with \(lq and \(rq | |
304 | respectively. | |
305 | ||
306 | There is a new program called pfbtops which translates PostScript | |
307 | fonts in pfb format to ASCII. | |
308 | ||
309 | A slightly modified version of the Berkeley tmac.doc is included. | |
310 | ||
311 | Troff | |
312 | ----- | |
313 | ||
314 | In long escape names the closing ] is now required to be at the same | |
315 | input level as the opening [. | |
316 | ||
317 | The \A'S' escape sequence returns 1 or 0 according as S is or is not | |
318 | suitable for use as a name. | |
319 | ||
320 | \~ produces an unbreakable space that can be stretched when the line | |
321 | is adjusted. | |
322 | ||
323 | The `mso' request is like the `so' request except that it searches for | |
324 | the file in the same directories in which tmac.X is searched for when | |
325 | the -mX option is given. | |
326 | ||
327 | The escape sequence `\R' is similar to the `nr' request. | |
328 | ||
329 | Eqn | |
330 | --- | |
331 | ||
332 | A new `special' primitive allows you to add new types of unary | |
333 | constructs by writing a troff macro. | |
334 | ||
335 | Pic | |
336 | --- | |
337 | ||
338 | The implementation no longer uses gperf. | |
339 | ||
340 | Grops | |
341 | ----- | |
342 | ||
343 | The compile-time -DBROKEN_SPOOLER option has been replaced by a | |
344 | BROKEN_SPOOLER_FLAGS option. This allows more precise control over | |
345 | how grops should workaround broken spoolers and previewers. There is | |
346 | a new -b option that can change this at run-time. | |
347 | ||
348 | Grops now generates PostScript that complies with version 3.0 of the | |
349 | Document Structuring Convention. | |
350 | ||
351 | The resource management component of grops (the part that deals with | |
352 | imported documents and downloadable fonts) has been rewritten and now | |
353 | supports version 3.0 of the Document Structuring Conventions. The | |
354 | %%DocumentFonts comment is no longer supported; you must use the | |
355 | %%Document{Needed,Supplied}{Fonts,Resources} comments instead | |
356 | (or as well.) | |
357 | ||
358 | tmac.psatk contains some macros that support the mechanism used by the | |
359 | Andrew Toolkit for including PostScript graphics in troff documents. | |
360 | ||
361 | Xditview | |
362 | -------- | |
363 | ||
364 | Parts of xditview have been rewritten so that it can be used with the | |
365 | output of gtroff -Tps. groff -TXps will run gtroff -Tps with | |
366 | gxditview. | |
367 | ||
368 | There is a new menu entry `Print' which brings up a dialog box for | |
369 | specifying a command with which the file being previewed should be | |
370 | printed. | |
371 | ||
372 | Xditview now uses imake. | |
373 | ||
374 | VERSION 1.01 | |
375 | ============ | |
376 | ||
377 | The groff command now understands the gtroff `-a' and `-i' options. | |
378 | ||
379 | With the `m' and `n' scale indicators, the scale factor is rounded | |
380 | horizontally before being applied. This makes (almost) no difference | |
381 | for devices with `hor' equal to 1, but it makes groff with -Tascii or | |
382 | -Tlatin1 behave more like nroff in its treatment of these scale | |
383 | indicators. Accordingly tmac.tty now calls the `nroff' request so | |
384 | that the `n' condition will be true. | |
385 | ||
386 | The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) | |
387 | have been made to work at least somewhat with -C. In particular the | |
388 | special characters defined by these macros now work with -C. | |
389 | ||
390 | groff -Tdvi -p will now pass pic the -x flag; this will enable filling | |
391 | of arrowheads and boxes, provided that your dvi driver supports the | |
392 | latest version of the tpic specials. | |
393 | ||
394 | Eqn | |
395 | --- | |
396 | ||
397 | There is a new `-N' option that tells eqn not to allow newlines in | |
398 | delimiters. This allows eqn to recover better from missing closing | |
399 | delimiters. The groff command will pass on a `-N' option to eqn. | |
400 | ||
401 | Grops | |
402 | ----- | |
403 | ||
404 | You can now use psfig with grops. See the file ps/psfig.diff. I do | |
405 | not recommend using psfig for new documents. | |
406 | ||
407 | The command \X'ps: file F' is similar to \X'ps: exec ...' except that | |
408 | the PostScript code is read from the file F instead of being contained | |
409 | within the \X command. This was added to support psfig. | |
410 | ||
411 | Grodvi | |
412 | ------ | |
413 | ||
414 | There are font files HB and HI corresponding to cmsssbx10 and cmssi10. | |
415 | ||
416 | Macros | |
417 | ------ | |
418 | ||
419 | The groff -me macros now work with the -C option. As a result, they | |
420 | may also work with Unix nroff/troff. | |
421 | ||
422 | In -me, the $r and $R number registers now contain the line spacing as | |
423 | a percentage of the pointsize expressed in units (normally about 120). | |
424 | The previous definition was useless with low resolution devices such | |
425 | as X75 and X100. | |
426 | ||
427 | VERSION 1.00 | |
428 | ============ | |
429 | ||
430 | A -ms-like macro-package is now included. | |
431 | ||
432 | The name for the Icelandic lowercase eth character has been changed | |
433 | from \(-d to \(Sd. | |
434 | ||
435 | Troff | |
436 | ----- | |
437 | ||
438 | There is a new request `nroff', which makes the `n' built-in condition | |
439 | true and the `t' built-in condition false; also a new request `troff' | |
440 | which undoes the effect of the `nroff' request. This is intended only | |
441 | for backward compatibility: it is usually better to test \n(.H or | |
442 | \n(.V or to use the `c' built-in condition. | |
443 | ||
444 | The \R escape sequence has been deleted. Use \E instead. | |
445 | ||
446 | There are `break' and `continue' requests for use with the `while' | |
447 | request. | |
448 | ||
449 | There is a request `hym' that can ensure that when the current | |
450 | adjustment mode is not `b' a line will not be hyphenated if it is no | |
451 | more than a given amount short, and a request `hys' that can ensure | |
452 | that when the current adjustment mode is `b' a line will not be | |
453 | hyphenated if it can be justified by adding no more than a given | |
454 | amount of extra space to each word space. | |
455 | ||
456 | There is a request `rj' similar to `ce' that right justifies lines. | |
457 | ||
458 | A warning of type `space' will be given when a call is made to an | |
459 | undefined request or macro with a name longer than two characters, and | |
460 | the first two characters of the name make a name that is defined. | |
461 | This is intended to find places where a space has been omitted been a | |
462 | request or macro and its argument. This type of warning is enabled by | |
463 | default. | |
464 | ||
465 | Pic | |
466 | --- | |
467 | ||
468 | A comma is permitted between the arguments to the `reset' command. | |
469 | ||
470 | For use with TeX, there is a new `-c' option that makes gpic treat | |
471 | lines beginning with `.' in a way that is more compatible with tpic | |
472 | (but ugly). | |
473 | ||
474 | Eqn | |
475 | --- | |
476 | ||
477 | It is no longer necessary to add `space 0' at the beginning of | |
478 | complicated equations inside pictures. | |
479 | ||
480 | `prime' is now treated as an ordinary character, as in Unix eqn. The | |
481 | previous behaviour of `prime' as an operator can now be obtained using | |
482 | `opprime'. | |
483 | ||
484 | Xditview | |
485 | -------- | |
486 | ||
487 | There are two new devices X75-12 and X100-12 which are the same as X75 | |
488 | and X100 except that they are optimized for documents that use mostly | |
489 | 12 point text. | |
490 | ||
491 | VERSION 0.6 | |
492 | =========== | |
493 | ||
494 | The installation process has been refined to make it easy for you to | |
495 | share groff with someone who has the same type of machine as you but | |
496 | does not have a C++ compiler. See the end of the INSTALL file for | |
497 | details. | |
498 | ||
499 | There is a man page for the tfmtodit program which explains how to use | |
500 | your own fonts with groff -Tdvi. | |
501 | ||
502 | There is a man page for afmtodit which explains how to use your own | |
503 | PostScript fonts with groff -Tps. | |
504 | ||
505 | The \N escape sequence is now fully supported. It can now be used to | |
506 | access any character in a font by its output code, even if it doesn't | |
507 | have a groff name. This is made possible by a convention in the font | |
508 | files that a character name of `---' refers to an unnamed character. | |
509 | The drivers now all support the `N' command required for this. The font | |
510 | description files have been updated to include unnamed characters. | |
511 | ||
512 | The `x' command in font description files has been removed: instead | |
513 | any unknown commands are automatically made available to the drivers. | |
514 | If you constructed your own font files with an earlier version of | |
515 | tfmtodit or afmtodit, you must construct them again using the current | |
516 | version. | |
517 | ||
518 | Characters between 0200 and 0237 octal are no longer legal input | |
519 | characters. Note that these are not used in ISO 8859. | |
520 | ||
521 | A command called `grog' has been added, similar to the `doctype' | |
522 | command described in Kernighan and Pike. | |
523 | ||
524 | Groff | |
525 | ----- | |
526 | ||
527 | The groff command has some new options: -V prints the pipeline | |
528 | instead of executing it; -P passes an argument to the postprocessor, | |
529 | -L passes an argument to the spooler. | |
530 | ||
531 | There is a C++ implementation of the groff command. This handles some | |
532 | things slightly better than the shell script. In particular, it can | |
533 | correctly handle arguments containing characters that have a special | |
534 | meaning to the shell; it can give an error message when child | |
535 | processes other than the last in the pipeline terminate abnormally; | |
536 | its exit status can take account of the exit statuses of all its child | |
537 | processes; it is a little more efficient; when geqn is used, it | |
538 | searches for the eqnchar file in the same way that font metric files | |
539 | are searched for, rather than expecting to find it in one particular | |
540 | directory. | |
541 | ||
542 | Gtroff | |
543 | ------ | |
544 | ||
545 | There is font translation feature: For example, you can tell gtroff to | |
546 | use font `HR' whenever font `H' is requested with the line | |
547 | .ftr H HR | |
548 | This would be useful for a document that uses `H' to refer to | |
549 | Helvetica. | |
550 | ||
551 | There are some new number registers: `.kern' contains the current kern | |
552 | mode, `.lg' the current ligature mode, `.x' the major version number, | |
553 | `.y' the minor version number, `.ce' the number of lines to be | |
554 | centered in the current environment, `.trunc' the amount of vertical | |
555 | space truncated by the most recently sprung vertical position trap, | |
556 | `.ne' the amount of vertical space needed in the last `ne' request | |
557 | that caused a vertical position trap to be sprung. | |
558 | ||
559 | The `cf' request now behaves sensibly in a diversion. If used in a | |
560 | diversion, it will now arrange for the file to be copied to the output | |
561 | when the diversion is reread. | |
562 | ||
563 | There is a new request `trf' (transparent file) similar to `cf', but | |
564 | more like `\!'. | |
565 | ||
566 | There is a new escape sequence `\Y[xxx]', roughly equivalent to | |
567 | `\X'\*[xxx]'', except that the contents of string or macro xxx are not | |
568 | interpreted, and xxx may contain newlines. This requires an output | |
569 | format extension; the drivers have been modified to understand this. | |
570 | Grops has also been modified to cope with newlines in the arguments to | |
571 | \X commands; grops has a new \X command mdef, which is like def except | |
572 | that it has a first argument giving the number of definitions. | |
573 | ||
574 | There is a new warning category `escape' which warns about unknown | |
575 | escape sequences. | |
576 | ||
577 | The `fp' request now takes an optional third argument giving the external | |
578 | name of the font. | |
579 | ||
580 | The `\_' character is now automatically translated to `\(ul' as in troff. | |
581 | ||
582 | The environment variable `GROFF_HYPHEN' gives the name of the file | |
583 | containing the hyphenation patterns. | |
584 | ||
585 | There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. | |
586 | ||
587 | Characters ", ', ), ], *, \(dg are now initially transparent for the purposes | |
588 | of end of sentence recognition. | |
589 | ||
590 | There is an anti-recusion feature in the `char' request, so you can | |
591 | say `.char \(bu \s+2\(bu\s-2'. | |
592 | ||
593 | The limit on the number of font positions has been removed. | |
594 | Accordingly `\n[.fp]' never returns 0. | |
595 | ||
596 | The restriction on the number of numbered environments has been removed. | |
597 | ||
598 | There is a new escape sequence `\E' that makes it possible to | |
599 | guarantee that an escape sequence won't get interpreted in copy-mode. | |
600 | The `\R' escape sequence is accordingly now deprecated. | |
601 | ||
602 | Gpic | |
603 | ---- | |
604 | ||
605 | Arguments of the form `X anything X' (in the `copy thru', `sh', `for', | |
606 | `if' and `define' constructs) can now be of the form `{ anything }'. | |
607 | ||
608 | If the `linethick' variable is negative (as it now is initially), | |
609 | lines will be drawn with a thickness proportional to the current point | |
610 | size. | |
611 | ||
612 | The `rand' function now takes no arguments and returns a number between | |
613 | 0 and 1. The old syntax is still supported. | |
614 | ||
615 | `^' can be used in expressions to indicate exponentiation. | |
616 | ||
617 | In the `for' construct the argument to the by clause can be prefixed | |
618 | by `*' to indicate that the increment is multiplicative. | |
619 | ||
620 | A bare expression may be used as an attribute. If the current | |
621 | direction is `dir', then an attribute `expr' is equivalent to | |
622 | `dir expr' | |
623 | ||
624 | There is a `sprintf' construct that allows numbers to be formatted and used | |
625 | wherever a quoted string can be used. | |
626 | ||
627 | The height of a text object without an explicit height attribute is | |
628 | the number of text strings associated with the object times the value | |
629 | of the `textht' variable. | |
630 | ||
631 | The maximum height and width of a picture is controlled by the | |
632 | `maxpswid' and `maxpsht' variables. | |
633 | ||
634 | Gtbl | |
635 | ---- | |
636 | ||
637 | Gtbl can now handle gracefully the situation where the `ce' request | |
638 | has been applied to a table. | |
639 | ||
640 | Geqn | |
641 | ---- | |
642 | ||
643 | The `ifdef' primitive has been generalized. | |
644 | ||
645 | A tilde accent can be put underneath a box using `utilde'. This | |
646 | defined using a general `uaccent' primitive. | |
647 | ||
648 | Grops | |
649 | ----- | |
650 | ||
651 | There is a new PostScript font downloading scheme which handles font | |
652 | downloading for imported illustrations. Previously, the name of the | |
653 | file containing the font was given in the `x download' line in the | |
654 | groff font metric file. Now, there is a `download' file which says | |
655 | for each PostScript font name which file contains that font. Grops | |
656 | can also now handle inter-font dependencies, where one downloadable | |
657 | font depends on some other (possibly downloadable) font. | |
658 | ||
659 | The `T' font has been removed. The characters it used to provide are | |
660 | now provided by `char' definitions in tmac.ps. TSymbol.ps has also | |
661 | been removed, and the tweaks it provided are now provided by `char' | |
662 | definitions. |