From 8f2be6e859572c0ee4118f87e9090d1aed1bcd87 Mon Sep 17 00:00:00 2001 From: Steffen Nurpmeso Date: Sat, 6 Sep 2014 15:53:30 +0200 Subject: [PATCH] INSTALL, NEWS, README, TODO: adapt 1 (as stubs) --- INSTALL | 128 +--- NEWS | 2629 +-------------------------------------------------------------- README | 142 +--- TODO | 125 ++- 4 files changed, 146 insertions(+), 2878 deletions(-) rewrite INSTALL (99%) rewrite NEWS (99%) rewrite README (99%) rewrite TODO (89%) diff --git a/INSTALL b/INSTALL dissimilarity index 99% index 3a069b2a..65ead746 100644 --- a/INSTALL +++ b/INSTALL @@ -1,124 +1,4 @@ - Copyright 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2006 - Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - -This file contains information that supplements the generic -installation instructions in file `INSTALL.gen'. - - -Normal Installation -=================== - -The simplest way to compile groff is: - - 1. `cd' to the directory containing groff's source code and type - `./configure' to configure groff for your system. If you are - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile groff. - - 3. Type `sudo make install' to install the groff programs and any - data files and documentation. `make install' is the only step for - which you need `root' access; this is done by `sudo'. - - 4. You can remove the groff binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile groff for - a different kind of computer), type `make distclean'. - - -External Installation -===================== - -It is also possible to perform the whole installation process outside -of the source code directory. In this case a whole external build -directory structure is created without changing any parts of the source -code tree. This is useful if the source code is read-only or if -several different installations, such as for multiple architectures, -should be constructed. - -As an example we assume that the source code of the `groff' code is in -`/usr/local/src/groff', and that the build process should be done -within the directory `/home/my/groff.compile'. - - 0. Create `/home/my/groff.compile' and change to that directory. - - 1. Call `/usr/local/src/groff/configure' in that directory to - configure groff for your system. If you are using `csh' on an old - version of System V, you might need to type `sh - /usr/local/src/groff/configure' instead. - - 2. Type `make' to compile groff in that directory. - - 3. Type `sudo make install' to install the groff programs and any - data files and documentation. - - 4. You can remove the groff binaries and object files from the - build directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. - - -Special Platforms -================= - -For instructions how to build groff with DJGPP tools for MS-DOS and -MS-Windows, see the file arch/djgpp/README. - -For instructions how to build groff with the MinGW tools for -MS-Windows, see the file README.MinGW. - - -Miscellaneous -============= - -groff is written in C++, so you need a C++ compiler. The C++ source -files use a suffix of `.cpp', so your C++ compiler must be able to -handle this. If you don't already have a C++ compiler, we suggest gcc -2.7.1 or later (gcc version 2 includes GNU C++ as well as GNU C). From -gcc 2.5, it is no longer necessary to install libg++: the C++ header -files needed by groff are created by the gcc installation process. To -override configure's choice of C++ compiler, you can set the CXX -environment variable. - -If you have a library that provides a faster malloc than your system's -usual malloc, it is good idea to include it in LIBS. For example, -using the malloc that comes with GNU Emacs version 20 can give a -worthwhile (and sometimes spectacular) performance improvement. - -If you want A4 or letter paper format and the configure script produces -an incorrect guess, say - - PAGE=xxx ./configure - -where `xxx' should be either `A4' or `letter'. Note that this only -affects the paper selection of some device drivers like grops (which -can be still overridden on the command line). For compatibility with -ditroff, the default page length in gtroff is always 11 inches. The -page length can be changed with the `pl' request. - -When you have built groff but not installed yet, you can use the -test-groff script to try groff out on one of the man pages. (Use the -.n files not the .man files.) The test-groff script sets up environment -variables to allow groff to run without being installed. For example, -you could do - - ./test-groff -man -Tascii src/roff/groff/groff.n | less - -to display the groff(1) man page with the `less' pager. - -To get a DVI, PDF, or HTML version of the groff texinfo manual, say -`make groff.dvi', `make groff.pdf', or `make groff.html', respectively, -in the `doc' subdirectory (after configuring the groff package). Note -that you need texinfo version 4.8 as a prerequisite. - -If you have problems, read the PROBLEMS file. If this doesn't help -send a bug report using the form in the file BUG-REPORT. +I n s t a l l i n g S - r o f f +================================ + +# s-ts-mode diff --git a/NEWS b/NEWS dissimilarity index 99% index 2466284e..15796ae6 100644 --- a/NEWS +++ b/NEWS @@ -1,2594 +1,35 @@ - Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009 - Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - -This file describes recent user-visible changes in groff. Bug fixes are not -described. There are more details in the man and info pages. - -VERSION 1.20 -============ - -Groff ------ - -o XHTML support has been added to grohtml and can be specified by - -Txhtml. This option also utilizes the MathML capability of - eqn and combines the outputs of both in the final XHTML file. - Users can also specify the `-P-V' option together with `-Txhtml' - in groff. This has the effect of creating an XHTML validator - button at the bottom of each page. - -o Some options have been added to control a new preprocessor, - `preconv' (see below): `-k' activates it, `-K' sets the input - encoding, and `-D' sets the default encoding. - -o A new environment variable `GROFF_ENCODING' sets the encoding - of input files; it implies command option `-k'. - -Troff ------ - -o Two new requests `device' and `devicem' have been added which are - equivalents to the \X and \Y escapes, respectively. - -o A new read-only number register `.br' is available which is set to 1 - if a macro is called as .foo and to 0 if called as 'foo. This allows to - reliably modify requests. - - .als bp@orig bp - .de bp - . tm before bp - . ie \\n[.br] .bp@orig - . el 'bp@orig - . tm after bp - .. - -o A new request `fzoom' has been added to adjust the optical size of a - font in relation to the others. The zoom factor is given in integer - multiples of 1/1000th. In the following example, the CR font is - magnified by 10% (the zoom factor is 1.1). - - .fam P - .fzoom CR 1100 - .ps 12 - Palatino and \f[CR]Courier\f[] - - The new number register `.zoom' holds the zoom value of the current font, - in multiples of 1/1000th. - -o The `cflags' request has been extended with a new flag value 64, to be - used in combination with values 2 (break before character) and 4 (break - after character). If set, the hyphenation codes of the surrounding - characters are ignored. - -o A new debugging request, `pev', has been added to print all of the current - known environments to stderr. It first prints the state of the current - environment, then iterates through all of the known environments, printing - each except the one that is current. - -o A new escape `\$^' has been added. It represents the parameters of a - macro as if they were an argument to the `ds' request. This is used by - `trace.tmac'. - -o A new read-only number register `.O' is available which returns the - current suppression level as set by the `\O' escape. - -o The space width emitted by the `\|' and `\^' escape sequences can be - controlled on a per-font basis. If there is a glyph named `\|' or `\^', - respectively (note the leading backslash), defined in the current font - file, use this glyph's width instead of the default value. - - This behaviour is not new, but hasn't been documented before. - -Nroff ------ - -o Two new command line options `-w' and `-W' are accepted and passed to - groff to enable and disable warning messages, respectively. - -Preconv -------- - -o This is a new preprocessor to convert various input encodings to something - groff understands (this is, ASCII and \[uXXXX] entities, with `XXXX' a - hexadecimal number with 4 to 6 digits, representing a Unicode input code). - Normally, preconv should be invoked with options `-k' and `-K' of groff. - See the preconv man page for details. - -Pic ---- - -o int(x) now really behaves as documented: It truncates the non-integer part - of x, this is, it rounds towards zero and not towards the next integer - less than or equal to x. - -o Pic now supports up to 32 macro arguments (and up to 16 on EBCDIC - platforms). - -o Heinz-Jürgen Örtel contributed code for two new keywords, `xslanted' and - `yslanted', which can change the shape of boxes into arbitrary - parallelograms. - -Tbl ---- - -o Latest versions of DWB tbl introduced an `x' column specifier for a single - column expanded to the line width. GNU tbl has now been extended to - support even multiple `x' specifiers within a table. - -o To avoid collision with the new `x' specifier, a block formatting macro - must now be selected with specifier letter `m'. - -Eqn ---- - -o Eric S. Raymond has added a new device type to eqn, MathML. When - -TMathML is enabled, eqn now emits MathML formula markup rather than - groff commands. The new groff -Txhtml device uses this. - -Chem ----- - -o The preprocessor `chem' was added. `chem' is a roff language to generate - chemical structure diagrams. It generates `pic' output. - -Grops ------ - -o The PS font definition files have been regenerated with newer AFM versions - from Adobe's 35 core fonts as present in most Level 2 PS printers. The - changes are minor (most notably, the addition of the `Euro' glyph and an - extended set of kerning values). - - For backwards compatibility, the old set of font definition files is still - available; for details please read the man page of grops. - -Grotty ------- - -o \D'p...' is now supported if the polygon consists entirely of horizontal - and vertical lines. - -Grohtml -------- - -o XHTML support has been added. - -o New command line option `-V' (to be used in XHTML mode) to produce an - XHTML validator button. - -o New command line option `-y' to produce a right-justified groff signature - at the end of the document (in combination with option `-V'). - -Gxditview ---------- - -o Support for keyboard navigation has been improved. - -o Similar to other X11 applications, there are now two resource files, - `GXditview' and `GXditview-color'. - -Groffer -------- - -o `groffer' version 1.* exists now in a shell and a Perl version. - -Afmtodit --------- - -o New option `-c' to output more font information as comments. - -o New option `-k' to suppress output of kerning data. - -o New option `-f NAME' to set the internal name of the groff font. - -Macro Packages --------------- - -o Joachim Walsdorff contributed the `hdtbl' package for the generation of - tables, using a syntax very similar to the HTML table model. For - example, a table with two cells and two rows looks like this: - - .TBL cols=2 - . TR .TD 1*1 .TD 1*2 - . TR .TD 2*1 .TD 2*2 - .ETB - - Here the same table using a more expanded syntax: - - .TBL cols=2 - . TR - . TD 1*1 - . TD 1*2 - . TR - . TD 2*1 - . TD 2*2 - .ETB - - Tables can be nested; `hdtbl' works without a preprocessor so that the - full capability of groff's macro engine is available. - - This package currently works with `-Tps' only. - -o -mandoc now supports multiple man pages (in either man or mdoc format). - -o Fabrice Ménard contributed locales support. In particular, it is now - possible to get French localization of the main macro packages (-ms, -mm, - -me, and -mom, but not -man and -mdoc which are localized differently) by - appending `-mfr' to the list of macro packages. Example: - - groff -ms -mfr foo > foo.ps - - Note that latin-9 input encoding is used for French (to support the `oe' - ligature). - -o Swedish macro localization (with `-msv') has been added. - -o German macro localization (with `-mde' and `-mden' for traditional and - new orthography, respectively) has been added. - -o Czech macro localization (with `-mcs') has been added. - - Note that latin-2 input encoding is used for Czech. - -o A new macro `Dx' has been added to the mdoc package which identifies the - DragonFly OS. - -o If mdoc is used to print multiple man pages (together with the -rcR=0 - command line option), each man page now starts a new page. - -o -mtrace has been considerably improved, now showing number and string - register assignments, among other things. See the groff_trace man page - for details. - -o The PSPIC macro now works with all devices (producing a hollow - rectangle on devices which don't support inclusion of PS images) and - is loaded in troffrc at start-up. - -o A new auxiliary macro package `62bit' has been added which provides some - macros for adding, multiplying, and dividing signed 62bit integers (mainly - to handle normal groff number operations without risking overflow errors). - -o For -ms, Eric S. Raymond contributed support for ancient Bell Labs - localisms `.SC', `.UC', `.P1', and `.P2'. The latter three are enabled - only after .SC is called. - -o A new string, `SN-STYLE', has been added to the ms macros, controlling - the formatting of section numbers in headings defined by `.NH'. - -o The new macro package `ptx' provides a template definition for the `.xx' - macro as needed by GNU ptx (for creating permuted indices). - - -VERSION 1.19.2 -============== - -Troff ------ - -o Analogously to the .ft and \f pair, two new requests `gcolor' and - `fcolor' (which pair with \m and \M, respectively) have been added to - set the glyph and background colours. - -o A new read-only, string-valued register `.sty' returns the name of the - current style. - -o Two new conditional operators `F ' and `S ' have been added. - `F' is true if a font exists. `S' is true if a style has - been registered. - -o Cyrillic characters have been added to the `utf8' and `html' output - devices. - -Pic ---- - -o The `by' argument in a `for' loop can now be negative if it is additive. - For the multiplicative case, it must be greater than zero. - -Eqn ---- - -o The following keywords aren't new but haven't been documented previously: - - undef NAME (to undefine a macro) - copy "FILE" (a synonym for `include') - space n (to modify the vertical spacing before and after - an equation) - -o The following macros aren't new but haven't been documented previously: - - Alpha, ..., Omega (the same as `ALPHA', ..., `OMEGA') - ldots (three dots on the base line) - dollar (a dollar glyph) - -o The following keywords have been extended. Again, this isn't new but - hasn't been documented previously: - - col n { ... } - lcol n { ... } - rcol n { ... } - ccol n { ... } - pile n { ... } - lpile n { ... } - rpile n { ... } - cpile n { ... } (set vertical spacing between rows to N) - -Grohtml -------- - -o This device driver has been raised to beta stage; its set of tags should - be stable now. - -o New command line option `-s' to set the base point size. - -o New command line option `-S' to set the split level while generating - multiple files. - -Grotty ------- - -o Experimental support for zero-width and double-width characters. - -Gxditview ---------- - -o On platforms which have the X Window System this program is now built and - installed automatically. - -Xtotroff --------- - -o This program to create font definition files for xditview isn't new but - hasn't been installed previously. - -Groffer -------- - -o A security problem (reported as CAN-2004-0969) has been fixed. - -Gdiffmk -------- - -o A new script contributed by Mike Bianchi. It compares two groff, nroff, - or troff documents and creates an output with added margin characters - (using `.mc') to indicate the differences. - -Pdfroff -------- - -o A new wrapper script contributed by Keith Marshall to easily create PDF - documents with groff. - -Macro packages --------------- - -o ms.tmac - - . Support for fractional point sizes: A value for the `PS', `VS', `FPS', - and `VPS' register larger than or equal to 1000 is always divided by - 1000. For example, `.nr PS 10250' sets the document's font size to - 10.25 points. - - . The `Ds' and `De' macros provided in ms since groff version 1.19 have - been removed; the equivalent `DS' and `DE' macros should be used - instead. X11 documents which actually use `Ds' and `De' always load a - specific macro file from the X11 distribution (`macros.t') which - provides proper definitions for the two macros. - - . The following registers have been added for improving layout control: - - PORPHANS - Defines number of lines following `LP', `PP', `QP', `IP' or `XP' which - must be kept together, before any automatic page break. - - HORPHANS - Sets number of lines of following paragraph which must be kept with a - heading, defined by `NH' or `SH', before any automatic page break. - - GROWPS - Sets the first level of heading (set with `NH') which keeps the - same point size as body text. - - PSINCR - Sets the point size increment for each level of heading (set with - `NH'), below the threshold level set by `GROWPS'; e.g., if - \n[PS] = 10, \n[GROWPS] = 3 and \n[PSINCR] = 2.0p, then `.NH 1' - produces 14pt headings, `.NH 2' produces 12pt, and all other - levels remain at 10pt (because \n[PS] = 10). - - . The `SH' macro now accepts a numeric argument, to make heading size - match that of `NH' with same argument value when the `GROWPS'/`PSINCR' - feature is enabled. - - Please refer to the documentation of the ms package for other, minor - improvements. - -o me.tmac - - The section type set with the `++' request is available in the `_M' - register. This isn't new but hasn't been documented before. - -o www.tmac - - The `HR' macro no longer causes an empty line for non-HTML devices. - - A new macro `HEAD' has been added to directly add data to the - ... block. - - New macros `OLS' and `OLE' to start and end an ordered list. - - New macros `DLS' and `DLE' to start and end a definition list. - -Pdfmark -------- - -o A new macro package contributed by Keith Marshall which implements PDF - marks. This is in alpha stage currently. - -Miscellaneous -------------- - -o Two new keywords to the DESC file have been added which are needed for - grohtml: `image_generator' and `unscaled_charwidths'. The former gives - the name of the program which creates PNG images, and the latter makes - troff always use unscaled character widths. - - -VERSION 1.19.1 -============== - -Groff ------ - -o The argument of the command line option `-I' is now also passed to troff - and grops, specifying a directory to search for files on the command line, - files named in `so' and `psbb' requests, and files named in \X'ps: file' - and \X'ps: import' escapes. - -o If option `-V' is used more than once, the commands are both printed - on standard error and run. - -Troff ------ - -o Two new read-only, string-valued registers `.m' and `.M' return the - name of the current drawing and background color, respectively. - -o New read-only register `.U' which is set to 1 if in safer mode and set - to 0 if in unsafe mode. - -o An input encoding file for latin-5 (a.k.a. ISO 8859-9) has been added. - Example use: - - groff -Tdvi -mlatin5 my_file > my_file.dvi - - Note that some output devices don't support all glyphs of this encoding. - -o If the `return' request is called with an argument, it exits twice, - namely the current macro and the macro one level higher. This is - used to define a wrapper macro for `return' in trace.tmac. - -o For completeness, two new requests have been added: `dei1' and `ami1'. - They are equivalent to `dei' and `ami', respectively, but the macros - are executed with compatibility mode off (similar to `de1' and `am1'). - -o New command line option `-I' to specify a directory for files (both - those on the command line and those named in `psbb' requests). This is - also handled by the groff wrapper program. - -o Since version 1.19 you can say `.vs 0'. Older versions emit a warning - and convert this to `.vs \n[.V]'. - - This hasn't been documented properly. Note that `.vs 0' isn't saved in a - diversion since it doesn't result in vertical motion. - -Pic ---- - -o Dashed and dotted ellipses have been implemented. - -Tbl ---- - -o New specifier `x' to make tbl call a user-defined macro on a table - cell. Patch by Heinz-Jürgen Oertel . - -Grap2graph ----------- - -o A new script contributed by Eric S. Raymond . It - converts a grap diagram into a cropped image. Since it uses gs and the - PNM library, virtually all graphics formats are available for output. - [Note that the grap program itself isn't part of the groff package; - see the file MORE.STUFF how to obtain grap.] - -Grohtml -------- - -o New option `-j' to emit output split into multiple files. - -Grops ------ - -o New command line option `-I' to specify a directory to search for files - on the command line and files named in \X'ps: import' and \X'ps: file' - escapes. This is also handled by the groff wrapper program. - -o The default value for the `broken' keyword in the DESC file is now 0. - -Grolj4 ------- - -o A new man page `lj4_font(5)' documents how fonts are accessed with - grolj4. - -o The built-in fonts for LJ4 and newer PCL 5 devices have been completely - revised, mainly to access as much glyphs as possible. The provided - metric files should be compatible with recent PCL 5 printers also. - Additionally, font description files have been added for the Arial and - Times New Roman family, the MS symbol, and Wingdings fonts. - -Afmtodit --------- - -o New option `-x' to prevent use of built-in Adobe Glyph List. - -Hpftodit --------- - -o Completely revised to handle HP TrueType metric files also. See the - hpftodit manual page for more details. - -Groffer -------- - -o This version is a rewrite of groffer in many parts, but it is kept in - the old single script style. - - New options: --text, --mode text, --tty-viewer, --X, --mode X, - --X-viewer, --html, --mode html, --html-view, --apropos-data, - --apropos-devel, --apropos-progs. - - New documentation file: README_SH. - - Enhancement of the configuration files and the `apropos' handling. - -Macro Packages --------------- - -o www.tmac: New macro `JOBNAME' to split output into multiple files. - -o In mdoc, multiple calls to `.Lb' are now supported in the LIBRARY - section. - - -VERSION 1.19 -============ - -Troff ------ - -o Input encoding files for latin-9 (a.k.a. latin-0 and ISO 8859-15) and - latin-2 (ISO 8859-2) have been added. Example use: - - groff -Tdvi -mlatin9 my_file > my_file.dvi - - You still need proper fonts with the necessary glyphs. Out of the box, - the groff package supports latin-9 only for -Tps, -Tdvi, and -Tutf8, - and latin-2 only for -Tdvi and -Tutf8. - -o Composite glyphs are now supported. To do this, a subset of the Adobe - Glyph List (AGL) Algorithm as described in - - http://partners.adobe.com/public/developer/opentype/index_glyph.html - - is used to construct glyph names based on Unicode character codes. The - existing groff glyph names are frozen; no glyph names which can't be - constructed algorithmically will be added in the future. - - The \[...] escape sequence has been extended to specify multiple glyph - components. Example: - - \[A ho] - - this accesses a glyph with the name `u0041_0328'. - - Some groff glyphs which are useful as composites map to `wrong' Unicode - code points. For example, `ho' maps to U+02DB which is a spacing - ogonek, whereas a non-spacing ogonek U+0328 is needed for composite - glyphs. The new request - - .composite from to - - changes the mapping while a composite glyph name is constructed. - To make \[A ho] yield the expected result, - - .composite ho u0328 - - is needed. [The new file `composite.tmac' loaded at start-up already - contains proper calls to `.composite'.] - - Please refer to the info pages of groff and to the groff_char man page - for more details. - -o A new request `fschar' has been added to define font-specific fallback - characters. They are searched after the list of fonts declared with the - `fspecial' request but before the list of fonts declared with `special'. - -o Fallback characters defined with `fschar' can be removed with the - new `rfschar' request. - -o A new request `schar' has been added to define global fallback - characters. They are searched after the list of fonts declared with the - `special' request but before the already mounted special fonts. - -o In groff versions 1.18 and 1.18.1, \D'f ...' didn't move the current - point horizontally. Despite of being silly, this change has been - reverted for backwards compatibility. Consequently, the intermediate - output command `Df' also moves the position horizontally again. - - \D'f ...' is deprecated since it depends on the horizontal resolution of - the output device (given with the `hor' parameter in the DESC file). - Use the new \D'Fg ...' escape instead. - -o For orthogonality, new \D subcommands to change the fill color are - available: - - \D'Fr ...' (rgb) - \D'Fc ...' (cmy) - \D'Fg ...' (gray) - \D'Fk ...' (cmyk) - \D'Fd' (default color) - - The arguments are the same as with the `defcolor' request. The current - position is *not* changed. - -o The values set with \H and \S are now available in number registers - \n[.height] and \n[.slant], respectively. - -o The `.pe' number register isn't new but hasn't been documented before. - It is set to 1 during a page ejection caused by the `bp' request. - -o The new glyph symbol `tno' is a textual variant of `no'. - -o The new glyph symbol `+e' represents U+03F5, GREEK LUNATE EPSILON SYMBOL. - (Well, it is not really new since it has been previously supported by - grolj4.) The mapping for both the dvi and lj4 symbol font has been - changed accordingly so that Greek small letter epsilon, `*e', has the - same glyph shape as with other devices. - -Grops ------ - -o The font `freeeuro.pfa' has been added to provide various default glyph - shapes for `eu' and `Eu'. - -o It is now possible to access all glyphs in a Type 1 font, not only 256 - (provided the font file created by afmtodit has proper entries). grops - constructs additional encoding vectors on the fly if necessary. - -o The paper size is now emitted via the %%DocumentMedia and PageSize - mechanisms so that it is no longer required to tell `gv' or `ps2pdf' - about the paper size. The `broken' flag value 16 omits this feature - (the used PostScript command `setpagedevice' is a LanguageLevel 2 - extension) -- if you intend to further process grops output to get an - encapsulated PS (EPS) file you must also use this option. - - Patch by Egil Kvaleberg . - -o Non-slanted PostScript metrics have been changed again; they no longer - contain negative left italic correction values. This assures correct - spacing with eqn. - -Grodvi ------- - -o The font cmtex10 has been added as the special font `SC' to the DVI fonts. - It is used as a font-specific special font for CW and CWI. - -o New options -l and -p to set landscape orientation and the paper size. - grodvi now emits a `papersize' special which is understood by DVI drivers - like dvips. - - Consequently, the DESC file should contain a `papersize' keyword. - -o The glyph shapes for \[*f] and \[*e] have been exchanged with \[+f] and - \[+e], respectively, to be in sync with all other devices. - -o Glyphs \[HE] and \[DI] have been replaced with \[u2662] and \[u2661], - respectively, since the former two glyphs have a black (filled) shape - which grodvi doesn't provide by default (it never has actually). - -Grolj4 ------- - -o The glyphs \[*e] and \[+e] have been exchanged to be in sync with - all other devices. - -o The glyph \[~=] is now called \[|=]. Similar to other devices, \[~=] - is now another name for glyph \[~~]. - -Grotty ------- - -o New option `-r'. It is similar to the -i option except it tells grotty to - use the `reverse video' attribute to render italic fonts. - -Pic ---- - -o New command `figname' to set the name of a picture's output box in TeX - mode. - -Refer ------ - -o The environment variable `REFER' to override the name of the default - database isn't new but hasn't been documented before. - -Soelim ------- - -o New option `-r' to avoid emission of `.lf' lines. - -o New option `-t' to emit TeX comment lines (giving current file and the - line number) instead of `.lf' lines. - -Afmtodit --------- - -o Unencoded glyphs in an AFM file are output also (since grops can now emit - multiple encoding vectors for a single font). - -o New option `-m' to prevent negative left italic correction values. - -o The mapping and encoding file together with file `DESC' are now searched - in the default font directory also. Please refer to the man page of - afmtodit for more details. - -Macro Packages --------------- - -o Larry Kollar and others made the man macros more - customizable. - - . New command line options -rFT, -rIN, and -rSN to set the vertical - location of the footer line, the body text indentation, and the - sub-subheading indentation. - - . New command line option -rHY (similar to the ms macros) to control - hyphenation. - - . New macros `.PT' and `.BT' to print the header and footer strings. - They can be replaced with a customized version in `man.local'. - - . The string `HF' now holds the typeface to print headings and - subheadings. - - . Similar to the ms macros, the LT register now defaults to LL if not - explicitly specified on the command line. - -o troff's start-up file `troffrc' now includes `papersize.tmac' to set - the paper size with the command line option `-dpaper='. - - Possible values for `' are the same as the predefined `papersize' - values in the DESC file (only lowercase; see the groff_font man page) - except a7-d7. An appended `l' (ell) character denotes landscape - orientation. Examples: `a4', `c3l', `letterl'. - - Most output drivers need additional command line switches `-p' and - `-l' to override the default paper length and orientation as set in - the driver specific DESC file. - - For example, use the following for PS output on A4 paper in landscape - orientation: - - groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps - - -VERSION 1.18.1 -============== - -Troff ------ - -o The non-slanted PostScript font definition files have been regenerated to - include left and right italic correction values. Applying those to a - glyph (this is, prepending the glyph with `\,' and appending `\/' to the - glyph) sets the glyph width to the real value given by the horizontal - bounding box values. Without those escapes, the advance width for the - particular glyph is used (which can differ considerably). - - Most users will neither need this feature nor notice a difference in - existing documents (provided \, and \/ is used as advertised, namely for - italic fonts only); its main goal is to improve image generation with - grohtml. - - This is an experimental change, and feedback is welcome. - -Tbl ---- - -o Added global option `nospaces' to ignore leading and trailing spaces in - data items. - -Grolbp ------- - -o The option -w (--linewidth) has been added (similar to other device - drivers) to set the default line width. - -Grn ---- - -o Support for b-spline and Bezier curves has been added. - -Groffer -------- - -o New option `--shell' to select the shell under which groffer shall run. - -Macro Packages --------------- - -o The string `Am' (producing an ampersand) has been added to mdoc for - compatibility with NetBSD. - -o `.IX' is now deprecated for mom; you should use `.IQ' (Indent Quit) - instead. - -o In mom, new inlines `FWD', `BCK', `UP', and `DOWN' deal with horizontal - and vertical movements; please refer to contrib/mom/NEWS for more - details. - -o New macro ENDNOTES_HDRFTR_CENTER for mom to better control headers. - -Miscellaneous -------------- - -o The `papersize' keyword in the DESC file now accepts multiple arguments. - It is scanned from left to the right, and the first valid argument is - used. This makes it possible to provide a fallback paper size. - - Example: - - papersize /etc/papersize a4 - -o A local font directory has been prepended to the default font path; it - defaults to /usr/local/share/groff/site-font. Similar to the normal - font searching process, files must be placed into a devXXX subdirectory, - e.g. - - /usr/local/share/groff/site-font/devps/FOO - - for a PostScript font definition file FOO. - - -VERSION 1.18 -============ - -*************************************************************************** -* * -* PLEASE READ THE CHANGES BELOW REGARDING GROTTY, GROFF'S TTY FRONTEND. * -* * -*************************************************************************** - -Troff ------ - -o Color support has been added to troff and pic (and to the device drivers - grops, grodvi, grotty, and grohtml -- other preprocessors and drivers will - follow). A new function `defcolor' defines colors; the escape sequence - `\m' sets the drawing color, the escape sequence `\M' specifies the - background color for closed objects created with \D'...' commands. - `\m[]' and `\M[]' switch back to the previous color. `\m' and `\M' - correspond to the new troff output command sets starting with `m' and - `DF'. The device-specific default color is called `default' and can't be - redefined. - - Use the `color' request to toggle the usage of colors (default is on); the - read-only register `.color' is 0 if colors are not active, and non-zero - otherwise. - - The old `Df' output command is mapped onto `DFg'; all color output - commands don't change the current font position (consequently, `Df' - doesn't either). - - Outputting color can be disabled in troff and groff with the option -c - (it is always disabled in compatibility mode). See the section on grotty - for the GROFF_NO_SGR environment variable also. - - For defining color components as fractions between 0 and 1, a new scaling - indicator `f' has been introduced: 1f = 65536u. For testing whether a - color is defined (with .if and .ie), a new conditional operator `m' is - available. - - More details can be found in the groff_diff.7 manual page and in - groff.texinfo. - -o Similar to \m and \M, \f[] switches back to the previous font. \fP - (and \f[P]) is still valid for backwards compatibility. - -o The new escape \F is the same as `.fam'; \F[] switches back to previous - family -- \F[P] selects family `P'. - -o Two new glyph symbols are available: `eu' is the official Euro symbol; - `Eu' is a font-specific glyph variant. - -o The new glyph symbols `t+-', `tdi', and `tmu' are textual variants of - `+-', `di', and `mu', respectively. - -o Latin-1 character 181 (PS name `mu', Unicode name U+00B5 MICRO SIGN) has - got the troff glyph name `mc'. - -o -Tutf8 is now available on EBCDIC hosts. - -o Strings can take arguments, using this syntax: \*[foo arg1 arg2 ...]. - Example: - - .ds xxx This is a \\$1 test. - \*[xxx nice] - -o It is now possible to have whitespace between the first and second dot (or - the name of the ending macro) to end a macro definition. Example: - - .de ! - .. - . - .de foo - . nop Hello, I'm `foo'. - . nop I will now define `bar'. - . de bar ! - . nop Hello, I'm `bar'. - . ! - .. - -o `.fn' is a new string-valued register which returns the (internal) real - font name; styles and families are properly concatenated. - -o Three new read/write registers `seconds', `minutes', and `hours' contain - the current time, set at start-up of troff. Use the `af' request to - control their output format. - -o The new request `fchar' can be used to provide fallback characters. It - has the same syntax as the `char' request; the only difference is that a - character defined with `.char' hides the glyph with the same name in the - current font, whereas a character defined with `.fchar' is checked only if - the particular glyph isn't found in the current font. This test happens - before checking special fonts. - -o In analogy to the `tmc' request, `.writec' is the same as `.write' but - doesn't emit a final newline. - -o The new request `itc' is a variant of `.it' for which a line interrupted - with \c counts as one input line. - -o Two new requests `ds1' and `as1' which are similar to `ds' and `as' but - with compatibility mode disabled during expansion of strings defined by - them. - -o The syntax of the `substring' request has been changed: The first - character in a string now has index 0, the last character has index -1. - Note that this is an incompatible change. - -o To emit strings directly to the intermediate output, a new `output' - request has been added; it is similar to `\!' used at the top level. - -o `.hpf' has been extended. It can now handle most TeX hyphenation - pattern files without modification. To do that, the commands \patterns, - \hyphenation, and \endinput are recognized. Please refer to groff_diff.7 - for more information. - -o `hpfcode' is a new request to provide an input encoding mapping for the - `hpf' request. - -o The new request `hpfa' appends hyphenation patterns (`hpf' replaces - already existing patterns). - -o A new request `ami' (append macro indirect) has been added. The first and - second parameter of `ami' are taken from string registers rather than - directly; this very special request is needed to make `trace.tmac' - independent from the escape character (which might even be disabled). - -o The new request `sizes' is similar to the `sizes' command in DESC files. - It expects the same syntax; the data must be on a single line, and the - final `0' can be omitted. - -o `trin' (translate input) is a new request which is similar to `tr' with - the exception that the `asciify' request uses the character code (if - any) before the character translation. Example: - - .trin ax - .di xxx - a - .br - .di - .xxx - .trin aa - .asciify xxx - .xxx - - The result is `x a'. Using `tr', the result would be `x x'. - -o The request `pvs' isn't new, but hasn't been documented before. It - adds vertical space after a line has been output. This makes it an - alternative to the `ls' request to produce double-spaced documents. - The read-only register `.pvs' holds the current amount of the - post-vertical line space. - -o For compatibility with plan 9's troff, multiple `pi' requests are - supported: - - .pi foo - .pi bar - - is now equivalent to - - .pi foo | bar - -o A new escape sequence `\O' is available to disable and enable glyph - output. Please see groff_diff.7 and groff.texinfo for more details. - -o The escapes `\%', `\&', `\)', and `\:' no longer cause an error in \X; - they are ignored now. Additionally `\ ' and `\~' are converted to - single space characters. - -o The default tab distance in nroff mode is now 0.8i to be compatible - with UNIX troff. - -o Using the latin-1 input character 0xAD (soft hyphen) for the `shc' - request was a bad idea. Instead, it is now translated to `\%', and - the default hyphenation character is again \[hy]. Note that the glyph - \[shc] is not useful for typographic purposes; it only exists to have - glyph names for all latin-1 characters. - -Macro Packages --------------- - -o Peter Schaffter has contributed a new major macro package - called `mom', mainly for non-scientific writers, which takes care of - many typographic issues. It comes with a complete reference (in HTML - format) and some examples. `mom' has been designed to format documents - for PostScript output only. - -o Two macros `AT' (AT&T) and `UC' (Univ. of California) have been added to - the man macros for compatibility with older BSD releases. - -o Both the man and mdoc macro packages now use the LL and LT registers for - setting the line and title length, respectively (similar to those - registers in the ms macro package). If not set on the command line or - in a macro file loaded before the macro package itself, they default to - 78n in nroff mode and 6.5i in troff mode. - -o The `-xwidth' specifier in the mdoc macro package has been removed. Its - functionality is now integrated directly into `-width'. Similarly, - `-column' has been extended to provide this functionality also. - -o A new macro `Ex' has been added to the mdoc macro package to document an - exit status. - -o The PSPIC macro has been extended to work with DVI output (`pspic.tmac' is - now automatically loaded for -Tdvi), using a dvips special to load the EPS - file. - -o The trace.tmac package now traces calls to `am' also. Additionally, it - works in compatibility mode. - -o `troff.1' has been split. Differences to UNIX troff are now documented - in the new man page `groff_diff.7'. - -o `groff_mwww.7' has been renamed to `groff_www.7'. The file mwww.tmac - has been removed. - -o `groff_ms.7' has been completely rewritten. It now contains a complete - reference to the ms macros. - -o `groff_trace.7' documents the trace macro package. - -o Changes in www.tmac: - - Note that HTML support is still in alpha change, so it is rather likely - that both macro names and macro syntax will change. Some of the macros - mentioned below aren't really new but haven't been documented properly - before. - - The following macros have been renamed: - - MAILTO -> MTO - IMAGE -> IMG - LINE -> HR - - For consistency, the macros `URL', `FTL', and `MTO' now all have the - address as the first parameter followed by the description. - - By default, grohtml generates links to all section headings at the top - of the document. Use the new `LK' macro to specify a different place. - - For specifying the background color and a background image, use the - new macros `BCL' and `BGIMG', respectively. - - The macro `NHR' has been added; it suppresses the generation of top and - bottom rules which grohtml emits by default. - - The new macro `HX' determines the cut-off point for automatic link - generation to headings. - - The image position parameter names in `IMG' have been changed to `-L', - `-R', and `-C'. - - New macro `PIMG' for inclusion of a PNG image (it automatically - converts it into an EPS file if not -Thtml is used). - - New macro `MPIMG' for putting a PNG image into the left or right margin - (it automatically converts it into an EPS file if not -Thtml is used). - - New macros `HnS', `HnE' to start and end a header line block. - - New macro `DC' to produce dropcap characters. - - New macro `HTL' to generate an HTML title line only but no H1 heading. - - New macros `ULS' and `ULE' to start and end an unordered list. The new - macro `LI' inserts a list item. - -Groff ------ - -o The new command line option `-c' disables color output (which is always - disabled in compatibility mode). - -Nroff ------ - -o Two new command line options `-c' and `-C'; the former passes `-c' to - grotty (switching to the old output scheme); the latter passes `-C' to - groff (enabling compatibility mode). - -Pic ---- - -o New keywords `color' (or `colour', `colored', `coloured'), `outline' (or - `outlined'), and `shaded' are available. `outline' sets the color of the - outline, `shaded' the fill color, and `color' sets both. Example: - - circle shaded "green" outline "black" ; - - Filled arrows always use the outline color for filling. - - Color support for TeX output is not implemented yet. - -Pic2graph ---------- - -o A new script contributed by Eric S. Raymond . It - converts a PIC diagram into a cropped image. Since it uses gs and the PNM - library, virtually all graphics formats are available for output. - -Eqn2graph ---------- - -o A new script contributed by Eric S. Raymond . It - converts an EQN diagram into a cropped image. Since it uses gs and the PNM - library, virtually all graphics formats are available for output. - -Groffer -------- - -o A new script contributed by Bernd Warken . It displays - groff files and man pages on X and tty, taking care of most parameters - automatically. - -Grog ----- - -o Documents using the mom macro package are recognized. - -Grops ------ - -o Color support has been added. - -o A new option `-p' is available to select the output paper size. It has - the same syntax as the new `papersize' keyword in the DESC file. - -Grodvi ------- - -o By default, font sizes are now available in the range 5-10000pt, similar - to PS fonts. If you want the old behaviour (i.e., font sizes at discrete - values only), insert the following at the start of your document: - - .if '\*[.T]'dvi' \ - . sizes 500 600 700 800 900 1000 1095 1200 1400 1440 1600 \ - 1728 1800 2000 2074 2200 2400 2488 2800 3600 - -o A new font file HBI (using cmssbxo10; this is slanted sans serif bold - extended) has been added. - -o Two font families are now available: `T' and `H'. - -o EC and TC fonts have been integrated. Use `-mec' (calling the file - ec.tmac) to switch to them. Those fonts give a much better coverage of - the symbols defined by groff than the CM fonts. - - Note that ec.tmac must be called before any language-specific files; it - doesn't take care of hcode values. - -o Color support has been added. For drawing commands, colors are translated - to gray values currently. - -Grotty ------- - -o Color support has been added, using the SGR (ISO 6429, sometimes called - ANSI color) escape sequences. - -o SGR escape sequences are now used by default for underlining and bold - printing also, no longer using the backspace character trick. To revert - to the old behaviour, use the `-c' switch. - - Note that you have to use the `-R' option of `less' to make SGR escapes - display correctly. On the other hand, terminal programs and consoles like - `xterm' which support SGR sequences natively can directly display the - output of grotty. Consequently, the options `-b', `-B', `-u', and `-U' - work only in combination with `-c' and are ignored silently otherwise. - - For the `man' program, it may be necessary to add the `-R' option of - `less' to the $PAGER environment variable (or $MANPAGER, depending on the - used `man' program); alternatively, you can use `man's `-P' option (or - adapt its configuration file accordingly). See man(1) for more details. - -o If the environment variable GROFF_NO_SGR is set, SGR output is disabled, - reverting to the old behaviour. - -o A new special \X'tty: sgr n' has been added; if n is non-zero or missing, - enable SGR output (the default). - -o If the new option `-i' is used (only in SGR mode), grotty sends escape - sequences to set the italic font attribute instead of the underline - attribute for italic fonts. Note that many terminals don't have support - for this (including xterm). - -Grohtml -------- - -o Color support for glyphs has been added. - -o New option `-h' to select the style of headings in HTML output. - -o New option `-b' to set the background colour to white. - -o New options `-a' and `-g' to control the number of bits for anti-aliasing - used for text and graphics, respectively. Default value is 4; 0 means - no anti-aliasing. - -o groff character/glyph entities now map onto HTML 4 character entities. - -Grolbp ------- - -o Valid paper sizes are now specified as with the new `papersize' keyword - in the DESC file. Specifically, the old custom paper type format - `custAAAxBBB' is no longer supported. - -Miscellaneous -------------- - -o A new manual page `ditroff.7' is available. - -o The groff texinfo manual is installed now, together with a bunch - of examples. - -o A new keyword `papersize' has been added to the DESC file format. Its - argument is either - - . a predefined paper format (e.g. `A4' or `letter') - - . a file name pointing to a file which must contain a paper size - specification in its first line (e.g. `/etc/papersize') - - . a custom paper size definition like `35c,4i' - - See groff_font(5) for more details. This keyword only affects the - physical dimensions of the output medium; grops, grolj4, and grolbp use it - currently. troff completely ignores it. - - -VERSION 1.17.2 -============== - -This is major bug-fixing release which should replace 1.17.1. - -Troff ------ - -o The `IMAGE' macro in www.tmac has changed: Now the optional 2nd parameter - gives the horizontal image location (left, centered, or right), and the - optional 3rd and 4th parameter the image dimensions. - - -VERSION 1.17.1 -============== - -This is mainly a bug-fixing release. - -Troff ------ - -o Two new requests `de1' and `am1' which are similar to `de' and `am' but - with compatibility mode disabled during expansion of macros defined by - them. - -o Added request `brp'. This is the same as `\p'. - -o Similar to other versions of troff, the `ns' request now works in all - diversions, not only in the top-level one. - -o New read-only number register `.ns'. Returns 1 if in no-space mode, - 0 otherwise. - -Nroff ------ - -o Options -p (pic) and -t (tbl) added. - -o The environment variable GROFF_BIN_PATH is now checked before PATH for - finding groff. - -Grohtml -------- - -o New option `-D dir' to specify a directory in which all images are placed. - -o New option `-I stem' to specify an image name stame. If not given, - `grohtml-XXX' is used (`XXX' is the process ID). - - -VERSION 1.17 -============ - -Groff ------ - -o `-mFOO' now searches first for `FOO.tmac' and then for `tmac.FOO'. The - old behaviour has been changed to overcome problems with platforms which - have an 8+3 file name limit, and platforms which have other versions of - troff installed also. Additionally, all macro files have been renamed - using the latter scheme to avoid 8+3 name clashes. - -o The new environment variable GROFF_BIN_PATH is checked for programs groff - is calling (preprocessors, troff, and output devices) before PATH. If not - set, it defaults to the directory where the groff binary is located. - Previously, it was PATH only. The nroff script only uses GROFF_BIN_PATH - to find the groff binary but passes both the GROFF_BIN_PATH and PATH - environment variables to groff. - -Troff ------ - -o The mdoc package has been completely rewritten, using the full power of - GNU troff to remove limitations of Unix troff (which is no longer - supported). Most important changes are: - - . No argument limit - . Almost all macros are parsed and callable (if it makes sense) - . `.Lb': prints library names - . `.Nm ' now works as expected; `.Nm "" ' has - been withdrawn - . Updated `.St' command - . `.Fx': prints FreeBSD - . `.Ox': prints OpenBSD - . `.Bsx': prints BSD/OS - . `.Brq', `.Bro', `.Brc': brace enclosure macros - . `.Bd -centered': center lines - . `.Bl -xwidth ': interpret and use the resulting width - . Support for double-sided printing (-rD1 command line switch) - . Support for 11pt and 12pt document sizes (-rS11, -rS12 command line - switches) - - `groff_mdoc.7' replaces `groff_mdoc.samples.7'; it now completely - documents the mdoc package. - - Great care has been taken to assure backwards compatibility. If you - encounter any abnormal results, please report them to bug-groff@gnu.org. - -o A new command line option for the `man' macros (similar to the `mdoc' - package) has been implemented: `-rcR=1' (now the default in nroff mode) - produces one single, very long page instead of multiple pages. `-rcR=0' - deactivates it. - -o The `return' request has been added to return immediately from a macro. - -o A new request `nop' (no operation) has been added which is similar to - `if 1'. For example, - - .if t \{\ - Hallo! - .\} - - can now be written as - - .if t \{\ - . nop Hallo! - .\} - -o `box' and `boxa' are two new requests which behave similarly to `di' and - `da' but don't include a partially filled line (which is restored after - ending the diversion). - -o The `asciify' request has been extended to `unformat' space characters - and some other escape sequences also. - - `\ ' is no longer unformatted as a space but remains an unpaddable, - unbreakable space character. - -o The new `unformat' request is similar to `asciify' but only handles space - characters and tabs specially if the diversion is reread, retaining font - information. This makes it possible to reformat diversions; for example - the following - - .ll 3i - . - a01 a02 a03 a04 a05 a06 a07 a08 a09 a10. - . - .box box1 - .ev 1 - .nf - \f[B]b01 b02 b03 b04 b05 b06 b07 b08 b09 b10.\f[P] - .br - .ev - .box - . - c01 c02 c03 c04 c05 c06 c07 c08 c09 c10. - . - .unformat box1 - .box1 - - gives - - a01 a02 a03 a04 a05 a06 a07 - a08 a09 a10. c01 c02 c03 c04 - c05 c06 c07 c08 c09 c10. b01 - b02 b03 b04 b05 b06 b07 b08 - b09 b10. - - Without the `unformat' request, space characters are converted to word - space nodes which are no longer stretchable, and the result would be - - a01 a02 a03 a04 a05 a06 a07 - a08 a09 a10. c01 c02 c03 c04 - c05 c06 c07 c08 c09 c10. b01 - b02 b03 b04 b05 b06 b07 b08 - b09 b10. - -o The new request `linetabs' controls the `line-tabs' mode. In line-tabs - mode, tab distances are computed relative to the (current) output line. - Otherwise they are taken relative to the input line. For example, the - following - - .ds x a\t\c - .ds y b\t\c - .ds z c - .ta 1i 3i - \*x - \*y - \*z - - yields - - a b c - - In line-tabs mode, the same code gives - - a b c - - The new read-only number register `.linetabs' returns 1 if in line-tabs - mode, and 0 otherwise. - -o Two new requests `tm1' and `tmc' have been added to improve writing - messages to the terminal. `tm1' is similar to `tm' but allows leading - whitespace. `tmc' is similar to `tm1' but doesn't emit a final newline. - -o For compatibility with sqtroff, the request `output' has been added. - The behaviour is similar to `\!' at the top-level, that is, it directly - inserts its argument into the intermediate output format. The syntax - is similar to .tm1, allowing leading whitespace. - -o The new `spreadwarn' request makes troff warn if spaces in an output - line are widened by a given limit or more. - -o Use `warnscale' to change the scaling indicator troff uses for - warning messages. - -o A new request `dei' (define indirect) has been added. The first and - second parameter of `dei' are taken from string registers rather than - directly; this very special request is needed to make `trace.tmac' - independent from the escape character (which might even be disabled). - -o It is now possible to save and restore the escape character with two new - requests `ecs' and `ecr'. - -o The new escape sequence \B'...' is an analogon to `\A': If the string - within the delimiters is a valid numeric expression, return character `1', - and `0' otherwise. - -o The new escape sequence `\:' inserts a zero-width break point. This is - similar to `\%' but without a soft hyphen character. - -o The `tr' request can now map characters onto `\~'. - -o Calling the `fam' request without an argument switches back to the - previous font family. - -o The new read-only register `.int' is set to a positive value if the last - output line is interrupted (i.e., if the input line contains `\c'). - -o The `writem' request is not new, but hasn't been documented before. This - is similar to `write' but instead of a string the contents of a given - macro or string is written to a stream. - -o The read/write number register `hp' to get/set the current horizontal - position relative to the input line isn't new but hasn't been documented - properly before. - -o `\X' and `\Y' are now transparent for end-of-sentence recognition. - -o The `cu' request in nroff mode now works as documented (i.e., it - underlines spaces also). - -Grog ----- - -o The grog script now works in non-compatibility mode also (which is the - default). As usual, use the `-C' option to activate compatibility mode. - -Grops ------ - -o A new option `-P' resp. a new environment variable `GROPS_PROLOGUE' has - been added to select a different prologue file. - -o The effect of the former `-mpsnew' option to access more Type 1 characters - is now the default and no longer available. To get the old behaviour - (i.e., emulation of some glyphs by composition) use `-mpsold'. - -Miscellaneous -------------- - -o For security reasons the following changes have been done: - - . The tmac.safer file has been replaced with a built-in solution; .open, - .opena, .pso, .sy, and .pi are completely disabled in safer mode (which - is the default); to enable these requests the `-U' command line flag - must be used. - - . Files specified with the .mso request or given with the `-m' command - line option, and hyphenation patterns loaded with `.hpf' are no longer - searched in the current directory by default (besides the usual tmac - path). Instead, the home directory is used. To add the current - directory, either use the `-U' or `-M' command line option or set the - GROFF_TMAC_PATH environment variable to an appropriate value. - - . troffrc, troffrc-end, and eqnrc are neither searched in the current nor - in the home directory (even if -U is given). Use -M or GROFF_TMAC_PATH - to change that. - - . Similarly, the current directory is no longer part of the font path. - Use the `-F' command line option or the GROFF_FONT_PATH environment - variable if you really need the current directory. - -o groff now installs its data files into /usr/local/share/groff/ by - default, following the GNU standard. Additionally, a local tmac directory - (by default /usr/local/share/groff/site-tmac) is scanned before the - standard tmac directory. Wrapper files for system-specific macro packages - (if necessary) are put into /usr/local/lib/groff/site-tmac; this directory - is searched before the local tmac directory. - -o All programs now have option `-v' to show the version number; they exit - immediately afterwards, following the GNU standards. Additionally, - `--version' and `--help' have been added, doing the obvious actions. - - -VERSION 1.16.1 -============== - -Bug fixes only; no user-visible changes. - - -VERSION 1.16 -============ - -Groff ------ - -The anachronism of calling the man macro package with `-man' has been fixed; -now you can say `-m man' also. The same is true for `ms', `me', `markup', -`mandoc', and `mdoc'. - -A new switch `-g' for calling `grn' is available. - -A new switch `-G' for calling `grap' is available. - -EBCDIC support for tty devices has been added. On such hosts, IBM code page -1047 is available with -Tcp1047 instead of -Tascii and -Tlatin1 (and, for -the moment, -Tutf8). Note that non-tty devices are not yet supported (but -installed). - -Troff ------ - -A new command line option to the `man' macros is available: `-rSxx' (with -`xx' either 10, 11, or 12) to set the base document font size to `xx' -points. Additionally, `.SH' now produces larger headings than `.SS'. - -To solve a problem with the .PSPIC macro which needs the `-U' switch of -troff to access an external program (psbb), a new request .psbb is now -available to get the bounding box of a PostScript image file. The values -(in PostScript units) are returned in the new read-only number registers -`llx', `lly', `urx', and `ury'. Consequently, .PSPIC has been adapted to -use the new request, and the psbb program has been removed. - -A new predefined writable number register, `year', has been added. It -contains the current year. - -A new read-only register, `.Y', has been added. It contains the revision -number of the groff package. - -`\fP' now behaves as expected in situations like the following where the -font `foo' is undefined: - - .B bold text - normal text \f[foo]bar\fP normal text - -Previously, the text after \fP appeared as bold. - -The `substring' request is not new, but hasn't been documented before. - -The predefined `.T' string register (which holds the current output device) -is not new, but hasn't been documented before. - -A new request `length' computes the length of a string and returns it in -a number register. - -The macro files `tmac.a4' (for specifying A4 paper format) and `tmac.trace' -(a debugging aid) are now installed also. - -A new resource file, `troffrc-end', is now available. It is invoked after -all user-specified macros. Currently used by the html device to include -tmac.html; thus no need for users to specify -mhtml anymore. - -The soft hyphen character now has a glyph name: `shc'. - -The latin-1 character 173 (PS name `periodcentered') has got the troff glyph -name `pc' and is no longer intermixed with the symbol character `md' (PS -name `mathdot'). - -ASCII character 34 (PS name `quotedbl') has got the troff glyph name `dq' -(which is an alias to character `"'). - -ASCII character 39 (PS name `quoteright') has got the troff glyph name `cq' -(which is an alias to character "'"). - -Some additions to the font description files have been implemented for -better support of HTML output: - - The new format of lines in the `charset' subsection of font description - files is - - name metrics type code [entity_name] [-- comment] - - Currently, only the font description files in devhtml use the optional - entity_name string to define glyph entities in HTML. Everything after the - entity_name field is ignored; in case this field isn't used, two hyphen - characters are now necessary to start a comment. - - Two new requests are available in DESC files (currently used only with - grohtml): - - use_charnames_in_special - This command indicates that troff should encode named characters - inside special commands. - - pass_filenames - requests that troff tells the driver the source file name being - processed. This is achieved by another tcommand: `F filename'. - -Grotty ------- - -Bruno Haible contributed support for UTF8 output. - -Grohtml -------- - -Added .LINE macro to tmac.arkup. - -The obsolete `.LINK' macro has been removed. - -.URL, .FTP, and .MAILTO macros now accept an optional third argument which -is immediately appended to the second argument (to be used with -punctuation, for example). - -Grodvi ------- - -The font size 11pt has been changed to 10.95pt (as used in LaTeX 2e). - -A new font file CWI (using cmitt10; this is typewriter italic) has been -added. - -Grolbp ------- - -A new driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser -printers). This code has been contributed by Francisco Andres Verdu -. - -Grn ---- - -A new preprocessor to process gremlin pictures. It is based on the -original Berkeley implementation of grn, written by David Slattengren -and Barry Roitblat, and has been adapted to groff by Daniel Senderowicz - and Werner Lemberg . - -Pic ---- - -Added the `srand' command to set the seed for a new sequence of -pseudo-random numbers to be returned by `rand'. - -Gxditview ---------- - -Simplified installation: The Imakefile is now configured (by groff's -configure script). - -Documentation -------------- - -Three new man pages are available: groff_tmac.5 (documenting how troff macros -are accessed and where they are found), groff.7 (a short reference of the GNU -roff language), and roff.7 (a general survey on GNU troff). - -Miscellaneous -------------- - -A partial port to win32 (for use with Microsoft Visual C++ 6.0) is now part -of the distribution. It has been contributed by Blake McBride -. - -More information about programs, macros, documentation, etc., which is -related to groff has been collected in the file `MORE.STUFF'. - - -VERSION 1.13, 1.14, 1.15 -======================== - -Bug fixes only; no user-visible changes. - - -VERSION 1.12 -============ - -Finally, there are new maintainers for groff. Mailing lists and a CVS -repository are available also. See the file README for details. Not all -reported bugs could be fixed, so please send mails again if something is -still not working. - -Most of the installation problems should have vanished now (most -notably the $(tmac_wrap) bug). - -There is now a man page called groff_man.7 which documents the basics of the --man macros. It has been originally written by Susan G. Kleinmann -. - -A (still incomplete) groff reference manual in texinfo format originally -contributed by Trent A. Fisher . - -me.man and msafer.man have been renamed to groff_me.man -resp. groff_msafer.man for consistency. - -Default strings for macros in doc-common resp. tmac.an no longer contain the -word `UNIX'. - -groff should now be Y2k safe (fixes contributed by Paul Eggert -). - -Following the GNU standards, groff now uses the prefix `/usr/local/' as -the default instead of replacing an existent groff binary. - -groff, troff, nroff, and pic now support the -U flag to activate unsafe -behaviour (without -msafer); the -S flag for using the -msafer macros is now -the default. - -Grohtml -------- - -This is a new output device for producing HTML output contributed by Gaius -Mulley . It is still very alpha but has been included -into the distribution so that a lot of people have a chance to test it. Bug -reports are highly welcome. - -Grolj4 ------- - -Duplex printing support has been contributed by Jeffrey Copeland -. - -Soelim ------- - -Added -I option for defining include paths (patch contributed by Peter -Miller ). - -Gxditview ---------- - -Fallback resources added (patch contributed by Larry Jones -). - -Will now support 8 gray levels. - -mm --- - -New version 1.32 (contributed by Joergen Haegg ). - - -VERSION 1.11 -============ - -Complete documentation for pic is now in the file doc/pic.ms. It was -contributed by Eric S. Raymond, , who is emphatically -*not* volunteering to take over groff as he is way overworked with -half a dozen other projects. - - -VERSION 1.10 -============ - -The directory where data files are installed has been changed from -/usr/local/lib/groff to /usr/local/share/groff to comply with the -latest GNU coding standards. - -By default groff programs with Unix equivalents are installed with a -"g" prefix unless there is an existing (non-groff) troff installation. - -A new approach is used to make system macro packages available to -groff. Instead of simply including /usr/lib/tmac in the list of -directories searched by groff, the installation process creates for -each system macro package a wrapper macro package in the groff macro -directory that references the system macro package. The groff macro -packages are now installed with a leading "g" prefix if there is a -system version of the same macro package, and otherwise without the -"g" prefix, with the exception that the groff version of -me which is -always installed as -me. - -There is a new device, lj4, for the HP LaserJet 4 (and PCL5 -compatibles). - -Groff ------ - -groff has a -S option that prevents the use of unsafe features in pic -and troff. This uses a new -S option of pic and the -msafer macros -for troff. - -Troff ------ - -The `blm' request specifies a macro to be invoked when a blank line is -encountered. - -Pic ---- - -A -S (safer) option disables the sh command. - -Grops ------ - -The -m option enables manual feed. - - -VERSION 1.09 -============ - -\(rn now produces a character that has the traditional metrics, -and form corners with \(ul and \(br. This means that it does not -align properly with \(sr. Instead there's a new character -\[radicalex] which aligns with \(sr; this is used by eqn for doing -square roots. - -Troff ------ - -The `pso' request allows you to read from the standard output of a -command. - -Grops ------ - -The PSPIC macro has options to allow the horizontal alignment of the -graphic to be specified. - - -VERSION 1.08 -============ - -Troff ------ - -The escape sequence \V[xxx] interpolates the value of the -environment variable xxx. - -Tbl ---- - -The decimalpoint option can be used to specify the character to be -recognized as the decimal point character in place of the default -period. - - -VERSION 1.07 -============ - -Groff ------ - -The environment variable GROFF_COMMAND_PREFIX can be used to control -whether groff looks for `gtroff' or `troff' (similarily for the -preprocessors.) - -Troff ------ - -Multilingual hyphenation is supported by new `hpf' and `hla' requests, -and by a `\n[.hla]' number register. The -H option has been removed. -Files of hyphenation patterns can have comments. - -When a font cannot be found, troff gives a warning (of type `font', -enabled by default) instead of an error. - -There's a new request `trnt' that's like `tr' except that it doesn't -apply to text transparently throughput into a diversion with \!. - -Tbl ---- - -There is a `nokeep' option which tells tbl not to use diversions to -try to keep the table on one page. - -Eqn ---- - -Setting the parameter `nroff' to a non-zero value causes `ndefine' to -behave like `define' and `tdefine' to be ignored. This is done by -eqnrc when the current device is ascii or latin1. There's a `neqn' -script that just does `eqn -Tascii'. - -Grotty ------- - -grotty uses whatever page length was specified using the `pl' request -rather than using the paperlength command in the DESC file. The -paperwidth command in the DESC file is also ignored. - - -VERSION 1.06 -============ - -The programs in groff that have Unix counterparts can now be installed -without a leading `g' prefix. See the `g' variable in the Makefile. - -The g?nroff script simulates the nroff command using groff. - -New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz, -\(an. See groff_char(7). - -^L is now a valid input character. - -Groff ------ - -The Xps pseudo-device has disappeared. Instead there is a new -X -option that tells groff to use gxditview instead of the usual -postprocessor. (So instead of -TXps, use -XTps or just -X if your -default device is ps.) - -The postprocessor to be used for a particular device is now specified -by a `postpro' command in the DESC file rather than being compiled -into groff. Similarly the command to be used for printing (with the --l option) is now specified by a `print' command in the DESC file. - -The groff command no longer specifies eqnchar as an input file for -eqn. Instead eqn automatically loads a file `eqnrc'. The groff -command no longer passes the -D option to eqn. Instead eqnrc sets the -draw_lines parameter. - -The groff command no longer tells troff to load a device-specific -macro file. This is handled instead by the `troffrc' file, which is -always loaded by troff. - -The shell script version of groff has been removed. - -Troff ------ - -The `rchar' request removes a character definition established with `char'. - -Compatibility mode is disabled and the escape character is set to `\' -while a character definition is being processed. - -The `\#' escape sequence is like `\"' except that the terminating -newline is ignored. - -The `shc' request tells troff which character to insert (instead of -the default \(hy) when a word is hyphenated at a line break. - -A font name of 0 (zero) in the DESC file causes no font to be -mounted on the corresponding font position. This is useful for -arranging that special fonts are mounted on positions on which users -are not likely explicitly to mount fonts. All groff devices now avoid -initially mounting fonts on positions 5-9. - -The `do' request allows a single request or macro to be interpreted -with compatibility mode disabled. - -troff automatically loads a file `troffrc' before any other input file. -This can be prevented with the -R option. This file is responsible -for loading the device-specific macros. - -Pic ---- - -The -x option has been removed and a -n option has been added. By -default, pic now assumes that the postprocessor supports groff -extensions. The -n option tells pic to generate output that works -with ditroff drivers. The -z option now applies only to TeX mode. - -The -p option has been removed. Instead if the -n option is not -specified, pic generates output that uses \X'ps: ...' if the \n(0p -register is non-zero and tmac.ps sets this register to 1. - -In places where you could 1st or 5th you can now say `i'th or `i+1'th -(the quotes are required). - -Eqn ---- - -Eqn now automatically reads a file `eqnrc' from the macro directory. -This performs the same role that the eqnchar files used to. This can -be prevented by the -R option. - -Setting the draw_lines parameter to a non-zero value causes lines to -be drawn using \D rather than \l. The -D option is now obsolete. - -`uparrow', `downarrow' and `updownarrow' can be used with `left' and -`right'. - -The amount of extra space added before and after lines containing -equations can be controlled using the `body_height' and `body_depth' -parameters. - -Grops ------ - -Font description files have been regenerated from newer AFM files. -You can get access to the additional characters present in the text -fonts in newer PostScript printers by using -mpsnew. - -The default value of the -b option is specified by a `broken' command -in the DESC file. - -With the -g option, grops generates PostScript code that guesses -the page height. This allows documents to be printed on both letter -(8.5x11) and A4 paper without change. - -Grodvi ------- - -ISO Latin-1 characters are available with -Tdvi. Format groff_char(7) -with groff -Tdvi for more information. - -Grotty ------- - -The -mtty-char macros contain additional character definitions for -use with grotty. - -Macros ------- - -In previous releases the groff -me macros treated the $r and $R number -registers in a way that was incompatible with the BSD -me macros. The -reason for this was that the approach used by the BSD -me macros does -not work with low resolution devices such as -TX75 and -TX100. -However, this caused problems with existing -me documents. In this -release, the vertical spacing is controlled by the $v and $V registers -which have the same meaning as $r and $R in earlier groff releases. -In addition, if the $r or $R register is set to a value that would be -correct for for the BSD -me macros and a low resolution device is not -being used, then an appropriate value for the $v or $V register -is derived from the $r or $R register. - -The groff -me macros work with -C and (I think) with Unix troff. - -For backward compatibility with BSD -me, the \*{ and \*} strings are -also available as \*[ and \*]. Of course, \*[ is only usable -with -C. - -The \*T string has been deleted. Use \*(Tm instead. - -Xditview --------- - -The `n', Space and Return keys are bound to the Next Page action. The -`p', BackSpace and Delete keys are bound to the Previous Page action. -The `q' key is bound to the Quit action. - -The `r' key is bound to a rerasterize action that reruns groff, and -redisplays the current page. - - -VERSION 1.05 -============ - -Pic ---- - -There is a alternative assignment operator `:=' which interacts -differently with blocks. - -There is a new command `command', which allows the values of variables -to be passed through to troff or TeX. - -The `print' command now accepts multiple arguments. - -String comparison expressions (using `==' or `!=') are allowed in more -contexts. - -Grotty ------- - -Horizontal and vertical lines drawn with \D'l ...' are rendered -using -, | and + characters. This is intended to give reasonable -results with boxed tables. It won't work well with pic. - -Macros ------- - -The -mdoc macros have been upgraded to the version in the second -Berkeley networking release. This version is not completely -compatible with earlier versions; the old version is still available -as -mdoc.old. The grog script has been enhanced so that it can -usually determine whether a document requires the old or new versions. - -With -TX75, -TX100 and -TXps, the PSPIC macro produces a box -around where the picture would appear with -Tps. - - -VERSION 1.04 -============ - -An implementation of the -mm macros is included. - -The directory in which temporary files are created can be controlled -by setting the GROFF_TMPDIR or TMPDIR environment variables. - -Pic ---- - -Some MS-DOS support (see pic/make-dos-dist). - -Grops ------ - -There are two new \X commands (\X'ps: invis' and \X'ps: endinvis') -which make it possible to have substitute characters that are -displayed when previewing with -TXps but ignored when printing with -grops. - -Xditview --------- - -Support for scalable fonts. - - -VERSION 1.03 -============ - -No changes other than bug fixes. - - -VERSION 1.02 -============ - -There is an implementation of refer and associated programs. groff -R -preprocesses with grefer; no mechanism is provided for passing -arguments to grefer because most grefer options have equivalent -commands which can be included in the file. grog also supports refer. - -There is an alternative perl implementation of the grog script. - -The code field in lines in the charset section of font description -files is now allowed to contain an arbitrary integer (previously it -was required to lie between 0 and 255). Currently grops and grodvi -use only the low order 8 bits of the value. Grodvi uses the -complete value; however, this is unlikely to be useful with -traditional TeX tools (.tfm files only allow 8 bit character codes.) - -Left and right double quotes can be obtained with \(lq and \(rq -respectively. - -There is a new program called pfbtops which translates PostScript -fonts in pfb format to ASCII. - -A slightly modified version of the Berkeley tmac.doc is included. - -Troff ------ - -In long escape names the closing ] is now required to be at the same -input level as the opening [. - -The \A'S' escape sequence returns 1 or 0 according as S is or is not -suitable for use as a name. - -\~ produces an unbreakable space that can be stretched when the line -is adjusted. - -The `mso' request is like the `so' request except that it searches for -the file in the same directories in which tmac.X is searched for when -the -mX option is given. - -The escape sequence `\R' is similar to the `nr' request. - -Eqn ---- - -A new `special' primitive allows you to add new types of unary -constructs by writing a troff macro. - -Pic ---- - -The implementation no longer uses gperf. - -Grops ------ - -The compile-time -DBROKEN_SPOOLER option has been replaced by a -BROKEN_SPOOLER_FLAGS option. This allows more precise control over -how grops should workaround broken spoolers and previewers. There is -a new -b option that can change this at run-time. - -Grops now generates PostScript that complies with version 3.0 of the -Document Structuring Convention. - -The resource management component of grops (the part that deals with -imported documents and downloadable fonts) has been rewritten and now -supports version 3.0 of the Document Structuring Conventions. The -%%DocumentFonts comment is no longer supported; you must use the -%%Document{Needed,Supplied}{Fonts,Resources} comments instead -(or as well.) - -tmac.psatk contains some macros that support the mechanism used by the -Andrew Toolkit for including PostScript graphics in troff documents. - -Xditview --------- - -Parts of xditview have been rewritten so that it can be used with the -output of gtroff -Tps. groff -TXps runs gtroff -Tps with -gxditview. - -There is a new menu entry `Print' which brings up a dialog box for -specifying a command with which the file being previewed should be -printed. - -Xditview now uses imake. - - -VERSION 1.01 -============ - -The groff command now understands the gtroff `-a' and `-i' options. - -With the `m' and `n' scale indicators, the scale factor is rounded -horizontally before being applied. This makes (almost) no difference -for devices with `hor' equal to 1, but it makes groff with -Tascii or --Tlatin1 behave more like nroff in its treatment of these scale -indicators. Accordingly tmac.tty now calls the `nroff' request so -that the `n' condition is true. - -The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X) -have been made to work at least somewhat with -C. In particular the -special characters defined by these macros now work with -C. - -groff -Tdvi -p now passes pic the -x flag; this enables filling -of arrowheads and boxes, provided that your dvi driver supports the -latest version of the tpic specials. - -Eqn ---- - -There is a new `-N' option that tells eqn not to allow newlines in -delimiters. This allows eqn to recover better from missing closing -delimiters. The groff command passes on a `-N' option to eqn. - -Grops ------ - -You can now use psfig with grops. See the file ps/psfig.diff. I do -not recommend using psfig for new documents. - -The command \X'ps: file F' is similar to \X'ps: exec ...' except that -the PostScript code is read from the file F instead of being contained -within the \X command. This was added to support psfig. - -Grodvi ------- - -There are font files HB and HI corresponding to cmsssbx10 and cmssi10. - -Macros ------- - -The groff -me macros now work with the -C option. As a result, they -may also work with Unix nroff/troff. - -In -me, the $r and $R number registers now contain the line spacing as -a percentage of the pointsize expressed in units (normally about 120). -The previous definition was useless with low resolution devices such -as X75 and X100. - - -VERSION 1.00 -============ - -A -ms-like macro-package is now included. - -The name for the Icelandic lowercase eth character has been changed -from \(-d to \(Sd. - -Troff ------ - -There is a new request `nroff', which makes the `n' built-in condition -true and the `t' built-in condition false; also a new request `troff' -which undoes the effect of the `nroff' request. This is intended only -for backward compatibility: it is usually better to test \n(.H or -\n(.V or to use the `c' built-in condition. - -The \R escape sequence has been deleted. Use \E instead. - -There are `break' and `continue' requests for use with the `while' -request. - -There is a request `hym' that can ensure that when the current -adjustment mode is not `b' a line is not hyphenated if it is no -more than a given amount short, and a request `hys' that can ensure -that when the current adjustment mode is `b' a line is not -hyphenated if it can be justified by adding no more than a given -amount of extra space to each word space. - -There is a request `rj' similar to `ce' that right justifies lines. - -A warning of type `space' is given when a call is made to an -undefined request or macro with a name longer than two characters, and -the first two characters of the name make a name that is defined. -This is intended to find places where a space has been omitted been a -request or macro and its argument. This type of warning is enabled by -default. - -Pic ---- - -A comma is permitted between the arguments to the `reset' command. - -For use with TeX, there is a new `-c' option that makes gpic treat -lines beginning with `.' in a way that is more compatible with tpic -(but ugly). - -Eqn ---- - -It is no longer necessary to add `space 0' at the beginning of -complicated equations inside pictures. - -`prime' is now treated as an ordinary character, as in Unix eqn. The -previous behaviour of `prime' as an operator can now be obtained using -`opprime'. - -Xditview --------- - -There are two new devices X75-12 and X100-12 which are the same as X75 -and X100 except that they are optimized for documents that use mostly -12 point text. - - -VERSION 0.6 -=========== - -The installation process has been refined to make it easy for you to -share groff with someone who has the same type of machine as you but -does not have a C++ compiler. See the end of the INSTALL file for -details. - -There is a man page for the tfmtodit program which explains how to use -your own fonts with groff -Tdvi. - -There is a man page for afmtodit which explains how to use your own -PostScript fonts with groff -Tps. - -The \N escape sequence is now fully supported. It can now be used to -access any character in a font by its output code, even if it doesn't -have a groff name. This is made possible by a convention in the font -files that a character name of `---' refers to an unnamed character. -The drivers now all support the `N' command required for this. The font -description files have been updated to include unnamed characters. - -The `x' command in font description files has been removed: instead -any unknown commands are automatically made available to the drivers. -If you constructed your own font files with an earlier version of -tfmtodit or afmtodit, you must construct them again using the current -version. - -Characters between 0200 and 0237 octal are no longer valid input -characters. Note that these are not used in ISO 8859. - -A command called `grog' has been added, similar to the `doctype' -command described in Kernighan and Pike. - -Groff ------ - -The groff command has some new options: -V prints the pipeline -instead of executing it; -P passes an argument to the postprocessor, --L passes an argument to the spooler. - -There is a C++ implementation of the groff command. This handles some -things slightly better than the shell script. In particular, it can -correctly handle arguments containing characters that have a special -meaning to the shell; it can give an error message when child -processes other than the last in the pipeline terminate abnormally; -its exit status can take account of the exit statuses of all its child -processes; it is a little more efficient; when geqn is used, it -searches for the eqnchar file in the same way that font metric files -are searched for, rather than expecting to find it in one particular -directory. - -Gtroff ------- - -There is font translation feature: For example, you can tell gtroff to -use font `HR' whenever font `H' is requested with the line - .ftr H HR -This would be useful for a document that uses `H' to refer to -Helvetica. - -There are some new number registers: `.kern' contains the current kern -mode, `.lg' the current ligature mode, `.x' the major version number, -`.y' the minor version number, `.ce' the number of lines to be -centered in the current environment, `.trunc' the amount of vertical -space truncated by the most recently sprung vertical position trap, -`.ne' the amount of vertical space needed in the last `ne' request -that caused a vertical position trap to be sprung. - -The `cf' request now behaves sensibly in a diversion. If used in a -diversion, it now arranges for the file to be copied to the output -when the diversion is reread. - -There is a new request `trf' (transparent file) similar to `cf', but -more like `\!'. - -There is a new escape sequence `\Y[xxx]', roughly equivalent to -`\X'\*[xxx]'', except that the contents of string or macro xxx are not -interpreted, and xxx may contain newlines. This requires an output -format extension; the drivers have been modified to understand this. -Grops has also been modified to cope with newlines in the arguments to -\X commands; grops has a new \X command mdef, which is like def except -that it has a first argument giving the number of definitions. - -There is a new warning category `escape' which warns about unknown -escape sequences. - -The `fp' request now takes an optional third argument giving the external -name of the font. - -The `\_' character is now automatically translated to `\(ul' as in troff. - -The environment variable `GROFF_HYPHEN' gives the name of the file -containing the hyphenation patterns. - -There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'. - -Characters ", ', ), ], *, \(dg are now initially transparent for the purposes -of end of sentence recognition. - -There is an anti-recursion feature in the `char' request, so you can -say `.char \(bu \s+2\(bu\s-2'. - -The limit on the number of font positions has been removed. -Accordingly `\n[.fp]' never returns 0. - -The restriction on the number of numbered environments has been removed. - -There is a new escape sequence `\E' that makes it possible to -guarantee that an escape sequence won't get interpreted in copy-mode. -The `\R' escape sequence is accordingly now deprecated. - -Gpic ----- - -Arguments of the form `X anything X' (in the `copy thru', `sh', `for', -`if' and `define' constructs) can now be of the form `{ anything }'. - -If the `linethick' variable is negative (as it now is initially), -lines are drawn with a thickness proportional to the current point -size. - -The `rand' function now takes no arguments and returns a number between -0 and 1. The old syntax is still supported. - -`^' can be used in expressions to indicate exponentiation. - -In the `for' construct the argument to the by clause can be prefixed -by `*' to indicate that the increment is multiplicative. - -A bare expression may be used as an attribute. If the current -direction is `dir', then an attribute `expr' is equivalent to -`dir expr' - -There is a `sprintf' construct that allows numbers to be formatted and used -wherever a quoted string can be used. - -The height of a text object without an explicit height attribute is -the number of text strings associated with the object times the value -of the `textht' variable. - -The maximum height and width of a picture is controlled by the -`maxpswid' and `maxpsht' variables. - -Gtbl ----- - -Gtbl can now handle gracefully the situation where the `ce' request -has been applied to a table. - -Geqn ----- - -The `ifdef' primitive has been generalized. - -A tilde accent can be put underneath a box using `utilde'. This -defined using a general `uaccent' primitive. - -Grops ------ - -There is a new PostScript font downloading scheme which handles font -downloading for imported illustrations. Previously, the name of the -file containing the font was given in the `x download' line in the -groff font metric file. Now, there is a `download' file which says -for each PostScript font name which file contains that font. Grops -can also now handle inter-font dependencies, where one downloadable -font depends on some other (possibly downloadable) font. - -The `T' font has been removed. The characters it used to provide are -now provided by `char' definitions in tmac.ps. TSymbol.ps has also -been removed, and the tweaks it provided are now provided by `char' -definitions. - -Local Variables: -version-control: never -coding: latin-1 -End: +S - r o f f N e w s +==================== + +The complete changelog of commits in between two versions can be +inspected by using the git(1) "log" command as shown below, where "OLD" +and "NEW" are the two versions to be compared, e.g., v2.0 and v2.1: + + # All commits: + $ git log --reverse --topo-order --abbrev-commit OLD..NEW + # Only topic branch headers (--no-merges for content commits only): + $ git log --oneline --reverse --topo-order --merges OLD..NEW + # Same, but truly accessible: + $ git log --oneline --reverse --topo-order --merges --parents OLD..NEW | + while read c1 c2 c3 c4 c5 c6; do + printf "%-24s: \$ git log --oneline --no-merges ${c1} ^${c2}\n" "${c6}"; + done + +v2.0.0, 20??-??-?? +------------------ + + + +s-roff, 2014-08-19 +------------------ + +S-roff has been forked from GNU troff, revision 1.19.2-574-gecbf4f1 +(from the official GNU troff git(1) repository; the last commit that +is still licensed under GPLv2). + +This file is stripped down for major releases: to see NEWS for older +releases, use the git(1) revision control system on this file. For +changes before the fork of S-roff, please look at all the ChangeLog +files that still exist for tag "s-roff" [ecbf4f1]) + +# s-ts-mode diff --git a/README b/README dissimilarity index 99% index 092ab3ab..53a663f5 100644 --- a/README +++ b/README @@ -1,135 +1,7 @@ - Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 - Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - -This is the GNU `groff' document formatting system. The version -number is given in the file VERSION. - -Included in this release are implementations of `troff', `pic', `eqn', -`tbl', `grn', `refer', `-man', `-mdoc', `-mom', and `-ms' macros, and -drivers for `PostScript', `TeX dvi' format, `HP LaserJet 4' printers, -`Canon CAPSL' printers, `HTML' and `XHTML' formats (beta status), and -typewriter-like devices. Also included is a modified version of the -Berkeley `-me' macros, the enhanced version `gxditview' of the X11 -`xditview' previewer, and an implementation of the `-mm' macros -contributed by Joergen Haegg (jh@axis.se). - -See the file `INSTALL' for installation instructions. You require -a C++ compiler. - -The file `NEWS' describes recent user-visible changes to `groff'. - -`groff' is free software. See the file `COPYING' for copying -permission. - -The file `PROBLEMS' describes various problems that have been -encountered in compiling, installing, and running `groff'. - -The most recent released version of `groff' is always available by -anonymous ftp from `ftp.gnu.org' in the directory `gnu/groff'. - -The current development version of `groff' is available from a `CVS' -repository. You can access it by first selecting a parent directory -in which to create a working copy (call it, say, `~/cvswork'), and -then executing the commands - - cd ~/cvswork - cvs -d:pserver:anonymous@cvs.savannah.gnu.org/sources/groff -z5 co groff - -This creates a subdirectory, `~/cvswork/groff', with a `checked -out' copy of the `CVS' repository. An update of this working copy may -be achieved, at any later time by invoking the commands - - cd ~/cvswork/groff - cvs -z5 update -dP - -Please read the `CVS' info pages for further details. - -Finally, it is possible to access the `CVS' with a web browser by -pointing it to - - http://savannah.gnu.org/cvs/?group=groff - -Alternatively, you can download snapshots (which are updated twice a day). -The complete `groff' source as a single file is available at - - http://groff.ffii.org/groff/devel/groff-current.tar.gz - -A diff file relative to `groff-', the latest official `groff' -release is available at - - http://groff.ffii.org/groff/devel/groff--current.diff.gz - -Assuming that `groff-.tar.gz' and -`groff--current.diff.gz' are in the same directory, do the -following to apply the diff file: - - tar xzvf groff-.tar.gz - cd groff- - gunzip -c ../groff--current.diff.gz | patch -p1 - -Depending on your requirements, you may need at least some of the -following tools to build `groff' directly from its source: - - ghostscript - the psutils package - the netpbm package - texinfo 4.8 - bison >= 1.875b or byacc - -Note that `texinfo' and `bison' or `byacc' are required only for -building from `CVS' sources (either a checked out working copy, or a -daily snapshot). They are not required for building from a stable -release tarball. Also note that the version numbers stated are the -minimum supported. No version of `texinfo' < 4.8 works, and the -original release of `bison' 1.875 is known not to work; you *may* find -that `bison' releases < 1.875 work, but in case of difficulty, -please update to a later version *before* posting a bug report. - -For *all* sources, you need ghostscript for creation of either `PDF' or -`HTML' output; the `netpbm' and `psutils' packages are required only for -`HTML' output. If you don't intend to produce output in either of these -formats, then these packages are unnecessary. - -In Linux Debian, the installation of `texinfo' is dangerous. For it -creates a file `install-info' that blocks the system installation. -So the created `/usr/local/bin/install-info' must be renamed. - -The `groff' configure script searches for the X11 headers and -libraries `Xaw' and `Xmu'. So the corresponding developer packages of -your system must be installed, otherwise `groff' does not install -`gxditview' and the `-TX*' devices. In Debian, the developer packages -are `libxaw7-dev' and `libxmu-dev'. - -Please report bugs using the form in the file `BUG-REPORT'; the idea of -this is to make sure that FSF has all the information it needs to fix -the bug. At the very least, read the `BUG-REPORT' form and make sure -that you supply all the information that it asks for. Even if you are -not sure that something is a bug, report it using `BUG-REPORT': this -enables us to determine whether it really is a bug or not. - -Three mailing lists are available: - - bug-groff@gnu.org for reporting bugs - groff@gnu.org for general discussion of groff - groff-commit@gnu.org a read-only list showing commitments - to the CVS repository - -To subscribe, send a mail to -request@ (example: -groff-request@gnu.org for the `groff' list) with the word `subscribe' -in either the subject or body of the email (don't include the quotes). -Alternatively, you may subscribe by visiting the web pages at - - http://lists.gnu.org/mailman/listinfo/bug-groff - http://lists.gnu.org/mailman/listinfo/groff - http://lists.gnu.org/mailman/listinfo/groff-commit - -Each of these web pages also provides a link to a browseable archive of -postings to the corresponding mailing list. - -GNU `groff' was written by James Clark . It is now -maintained by Ted Harding and Werner -Lemberg . +W e l c o m e t o S - r o f f +=============================== + +Please refer to the file INSTALL for build and installation remarks, +and to NEWS for release update information. + +# s-ts-mode diff --git a/TODO b/TODO dissimilarity index 89% index 4e4c6f7d..6fe14710 100644 --- a/TODO +++ b/TODO @@ -1,25 +1,100 @@ -Unicode input: - Making groff 21bit input-clean. - -Make -Tlj4 work with -X. - -Guess man5ext and man7ext variables. - -Provide man.sun implementing .TX. - -Improve GROFF_PRINT macro in aclocal.m4. - -Provide a `check' target. - -Provide a `bindist' target. - -Implement tmac.bib in terms of tmac.s. - -Support long options using GNU getopt. - -Catch the following error in -me: -.(z -.(l C -.)z - -Arrows for next/previous page from R5 xditview. + +- Get rid of all the short options which choose preprocessors, instead + use a multiplexer + +-- Offer a builtin mode which guesses required preprocessors, maybe add + configuration file option which can be used to specify global + / per-user additions by means of COMMAND-PAIR=PREPROC-PATH. + Of course also add to the command-line multiplexer option this + possibility.. + + This "auto" preprocessor should then reconsider it's guesses on + a per-file base!? + + I really would like to get rid of the necessity to parse all files + with all defined preprocessors completely. Instead we should, once + we see the starting command, hand over to a known builtin + preprocessor and parse only that much until we see the end command. + So convert all builtin preprocessors to libraries and offer jumpin + points for that purpose only, let the standalone versions be simple + wrappers. S-roff can use dlopen(3) if available, otherwise don't + offer this optimization but continue to use the full-parse as usual, + that must be supported anyway for non-builtin preprocessors. + (XXX For [s-]troff we may not do so until the user has chosen the + preprocessor on the command line, since..) + +-- Introduce a new command that can be used to select the preprocessors + explicitly, e.g., ".preprocessors tbl,eqn" etc. + If so, how to deal with included files? Offer "-" mode which turns + off preprocessors for a specific file? + + I think the best would be some kind of "shebang", for compatibilities + sake it must be comment-based, as in '.\"!troff eqn tbl enc=latin1'? + For example, newer man(1)s read the first line of the manual and + check for a syntax <^'\" >followed by concat of [egprtv]+ (and in + fact *join in* $MANROFFSEQ environment [egprtv]+) + while getopts 'egprtv' preproc_arg; do + case "${preproc_arg}" in + e) pipeline="$pipeline | $EQN" ;; + g) GRAP ;; # Ignore for compatibility. + p) pipeline="$pipeline | $PIC" ;; + r) pipeline="$pipeline | $REFER" ;; + t) pipeline="$pipeline | $TBL" ;; + v) pipeline="$pipeline | $VGRIND" ;; + *) usage ;; + esac + + This is good, but pretty much crypto and nothing for normal users. + But extending this, why not check for <'\" preprocess: tbl eqn"> etc.? + And as above. + And this is also documented in groff_tmac.man. But do not bet on + this. + +- Be sensible in respect to locale environment a.k.a. -Tlocale and offer + per-file input encodings, chooseable via a new command. + If so, how to deal with included files? Offer "-" mode which turns + off character set conversion for a specific file? + Anyway, extend file_case to allow "stacking in" a character + conversion. + +-- Get rid of preconv(1) again, this will simply be a layer of + file_case. Yet still allow to specify some encoding on the command + line. + +- What about extending searchpath:: (and file_case) so that an archive + could be opened as such, think .dmg, .JAR or tar (pax) and/or even + better SQLite3? + += Unicode input: + Making groff 21bit input-clean. +-> Use S-CText and make the entire toolchain UTF-8 -based and -clean. + This could be implemented through file_case, too, and when it finally + is possible usage of the \[uXX] escapes could be cut down drastically. + +-- This also includes hyphenation etc. + +- Directly support TTF/OTF fonts. + +- Offer more typographic control a.k.a paragraph-wise formatting, but in + a way that remains compatibility with trap handling. Is this + possible (maybe a stripped down try-and-error forward path bouquet + algorithm as suggested by Doug McIlroy is feasible?). + += Make -Tlj4 work with -X + += Guess man5ext and man7ext variables + += Provide man.sun implementing .TX + += Provide a `check' target + += Implement tmac.bib in terms of tmac.s + += Catch the following error in -me: + .(z + .(l C + .)z + += Arrows for next/previous page from R5 xditview + +# s-ts-mode -- 2.11.4.GIT