groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] end position of D commands


From: Bernd Warken
Subject: Re: [Groff] end position of D commands
Date: Wed, 31 Oct 2001 21:27:07 +0100
User-agent: Mutt/1.2.5i

On Wed, Oct 31, 2001 at 12:56:02PM -0000, Ted Harding wrote:
> 
> The basic distinction is between commands which draw a parametrised
> generic figure (\D'c ...', circle and \D'e' ...', ellipse; there is
> no "square") and those which draw on the basis of user-supplied
> coordinate increments (line, polygon and spline). At present, the
> final position is the initial position plus the sum of the user-supplied
> increments. In the case of \D'p ...', the polygon is drawn closed
> even if the final supplied coordinate does not bring you back to
> the starting point, but the final position is consistent with the
> rule so the final position is the position reached at the final
> user-supplied increment.
> 
Of what use is such a position for the user?  The polygon is closed, so
it returns to the starting point, not to the final coordinate arguments.
The resulting position resulting from the end-algorithm is very hard to
compute and has a touch of arbitrariness.  So the user is forced to do an
absolute positioning after this mess.   Keeping the starting position
allows the user at least to move on from a know position.

Moreover, the argument based ending rule is not consistent with the 
classical definition.  The classical troff manual says:

  The position after a graphical object has been drawn is at its end; for
  circles and ellipses, the "end" is at the right side.

Note that the end of the drawing is specified, not the end of the
command arguments.  The polygons end at their starting point, so this
should be their place after drawing.

> ... \Z ...

This seems to be undocumented.  man(7) refers to the info file, but
I couldn't find it there.  The classical \Z is just the letter /.

Bernd


reply via email to

[Prev in Thread] Current Thread [Next in Thread]