summaryrefslogtreecommitdiff
path: root/BUGS
blob: 07e0ad8d13a7ecb9b4399f094d48cb4697b4781f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Splines are not dashed.

--

The polygon tessellation routine has problems. It appears that the
following paper has the right answers:

	http://cm.bell-labs.com/cm/cs/doc/93/2-27.ps.gz

	[Hobby93c] John D. Hobby, Practical Segment Intersection with
	Finite Precision Output, Computation Geometry Theory and
	Applications, 13(4), 1999.

--

Stroking a self-intersecting path generates the wrong answer, (in
mostly subtle ways). The fix is to tessellate a giant polygon for the
entire stroke outline rather than incrementally generating trapezoids.

--

Cairo is crashing Xnest with the following message:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  72 (X_PutImage)
  Serial number of failed request:  28
  Current serial number in output stream:  29

confirmed on a quite default install of debian unstable.

--

cairo_scale_font modifies objects that the user expects to not change. For example:

	cairo_font_t *font;

	cairo_select_font (cr, "fixed", 0, 0);
	font = cairo_current_font (cr);
	cairo_scale_font (cr, 10);
	cairo_show_text (cr, "all is good");
	cairo_set_font (cr, font);
	cairo_scale_font (cr, 10);
	cairo_show_text (cr, "WAY TOO BIG!!);

We could fix this by not storing the scale in the font object. Or
maybe we could just force the size to its default after set_font. Need
to think about this in more detail.

--

cairo_show_text is not updating the current point by the string's advance values.

--

Caps are added only to the last subpath in a complex path.