File: groff.info, Node: Output Language Compatibility, Prev: Intermediate Output Examples, Up: gtroff Output 6.1.4 Output Language Compatibility ----------------------------------- The intermediate output language of AT&T 'troff' was first documented in 'A Typesetter-independent TROFF', by Brian Kernighan, and by 1992 the AT&T 'troff' manual was updated to incorprate a description of it. The GNU 'troff' intermediate output format is compatible with this specification except for the following features. * The classical quasi-device independence is not yet implemented. * The old hardware was very different from what we use today. So the 'groff' devices are also fundamentally different from the ones in AT&T 'troff'. For example, the AT&T PostScript device is called 'post' and has a resolution of only 720 units per inch, suitable for printers 20 years ago, while 'groff''s 'ps' device has a resolution of 72000 units per inch. Maybe, by implementing some rescaling mechanism similar to the classical quasi-device independence, 'groff' could emulate AT&T's 'post' device. * The B-spline command 'D~' is correctly handled by the intermediate output parser, but the drawing routines aren't implemented in some of the postprocessor programs. * The argument of the commands 's' and 'x H' has the implicit unit scaled point 'z' in 'gtroff', while AT&T 'troff' has point ('p'). This isn't an incompatibility but a compatible extension, for both units coincide for all devices without a 'sizescale' parameter in the 'DESC' file, including all postprocessors from AT&T and 'groff''s text devices. The few 'groff' devices with a 'sizescale' parameter either do not exist for AT&T 'troff', have a different name, or seem to have a different resolution. So conflicts are very unlikely. * The position changing after the commands 'Dp', 'DP', and 'Dt' is illogical, but as old versions of 'gtroff' used this feature it is kept for compatibility reasons.