home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / groff / CHANGES < prev    next >
Encoding:
Text File  |  1991-04-30  |  10.5 KB  |  293 lines

  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.
  293.