This is a list of known bugs; enterprising users are encouraged to work on
them and send patches to me.

Micah Beck
beck@cs.cornell.edu
-------------------

1) genps.c: Vertical positioning of figures generated using -P option in
	landscape mode is incorrect.  The distance from the top of the figure
	to the edge of the page is not the same as shown by the Fig editor,
	and does not change when the -c is used (it should be centered
	vertically).

   Note: The code which calculates positioning in genps.c is rather convoluted,
	and should probably be rewritten from scratch.

2) genlatex.c: Arrow heads on circular arcs are sometimes given the wrong
	orientation.

3) genepic.c: Fig 2.1 has a gray scale with 21 values from white-fill to
	black-fill.  In the EEPIC driver, this is mapped to the 5-value
	gray scale left over from the Fig 1.4-TFX format.  This scale
	could easily be filled out by simply defining the appropriate bit
	patterns.


4) The following problem with the computation of arrow heads was sent in
	by a user about code found in draw_arrow_head():

	l = hypot(dx, dy);
	if (l == 0) {
	     sina = 0.0;
	     cosa = 0.0;
	}
	else {
	     sina = dy / l;  cosa = dx / l;
	}
	xb = x2*cosa - y2*sina;
	yb = x2*sina + y2*cosa;
	x = xb - arrowht;
	y = yb - arrowwid / 2;
	xc = x*cosa + y*sina;
	yc = -x*sina + y*cosa;
	y = yb + arrowwid / 2;
	xd = x*cosa + y*sina;
	yd = -x*sina + y*cosa;
	fprintf(tfp, "newpath %.3f %.3f moveto %.3f %.3f lineto %.3f %.3f lineto stroke\n",
		xc, yc, x2, y2, xd, yd);
	}

Instead of marking sina and cosa as undefined if l == 0, this will set
both to 0.  Then the values of (xc,yc) and (xd,yd) will always be
(0,0), which is probably not correct.  It looks to me like sina and
cosa cannot be determined if l == 0, so you really need to try to find
a point that is different than (x2,y2) to use compute the points
(xc,yc) and (xd,yd), but that looks like more trouble than it's
worth...

I also noticed that this code is repeated in several files, except that
the print statements are different.  Perhaps there should be a
`get_arrow_head_coords' function?
