промежуточный выходной формат GNU roff (GNU roff intermediate output format)
Совместимость (Compatibility)
The intermediate output language of the classical troff was first
documented in [CSTR #97] . The groff 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 classical troff. For example, the classical PostScript
device was called post and had a resolution of 720 units per
inch, 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, these could
be integrated into modern groff.
• 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 groff, while classical troff had point (p
).
This isn't an incompatibility, but a compatible extension, for
both units coincide for all devices without a sizescale
parameter, including all classical and the groff text devices.
The few groff devices with a sizescale parameter either did not
exist, had a different name, or seem to have had a different
resolution. So conflicts with classical devices are very
unlikely.
• The position changing after the commands Dp
, DP
, and Dt
is
illogical, but as old versions of groff used this feature it is
kept for compatibility reasons.
The differences between groff and classical troff are documented
in groff_diff(7).