summaryrefslogtreecommitdiff
path: root/ROADMAP
blob: dd6c710dfebd1a01c9f7a2137ec1844656942c8d (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
This is the cairo roadmap.

Everything here is subject to change, but it is hoped that all of it
will be useful. If you want to influence, please feel free to get
involved with cairo (see http://cairographics.org ).

The intent is for this to be a living document. We want both the users
of cairo, (GTK+, GNOME, Mozilla, Mono, etc. etc.) to let us know
features they need and dates by which they are needed so that we can
use those to guide our plans.

Additionally, people who are actively developing cairo itself should
regularly update this document to reflect their current plans. If you
don't want to see a particular release happen without some essential
feature, then put that feature on the list and put your name next to
it to indicate you are working on it.

Targets
=======
GTK+ 2.10 -  http://www.gtk.org/plan/2.10/
------------------------------------------
The 2.10 release is scheduled for May 2006, (to be in time for GNOME 2.16).

Satisfying GTK+ 2.10 well requires releasing cairo 1.2 with good
printing support, (good PS/PDF output, per-page sizing and layout,
etc.) sometime in April 2006.

Firefox 3.0 - http://www.mozilla.org/projects/firefox/roadmap.html
------------------------------------------------------------------
Firefox 3 (scheduled for early 2007?) is the first release expected to
use cairo for all rendering. In the meantime, development builds using
cairo are available

Satisfying firefox 3 well requiring releasing new versions of cairo
before November 2006 (or earlier) that incorporate the patches coming
from mozilla, (device offset, push/pop_group), and much-improved
performance.

Themes and Schedules
====================
cairo-1.2 (April 2006): Better printing
 - Supported PS/PDF output
 - New, printing-oriented API
 - Mozilla patches (device offset, push/pop_group)

cairo-1.4 (October 2006): Better performance
 - New tessellator
 - New rasterization
 - Finer-grained fallbacks for PS/PDF

cairo 1.2.0 plans
=================
✓xlib backend
    ✓add cairo_xlib_surface_get_width/height

✓Bug fixes (For each XXXX, see: https://bugs.freedesktop.org/show_bug.cgi?id=XXXX )
    ✓6759  fontconfig option AntiAlias doesn't work in cairo 1.1.2
    ✓6955  Some characters aren't displayed when using xlib (cache u...
    ✓7268  positive device_offset values don't work as source
    ✓	   PDF emit_glyph function needs to support bitmapped glyphs
    ✓	   PS emit_glyph function needs to support bitmapped glyphs
    ✓	   SVG emit_glyph function needs to support bitmapped glyphs
    ✓	   PDF: minefield page one is falling back unnecessarily
    ✓	   should be possible to draw caps with degenerate paths

✓Fix memory leaks
    ✓1. Ensure 'make check-valgrind' passes with no leaks (mostly done)

 Bugs that might already be fixed anyway
 ---------------------------------------
     6617  With cairo 1.0.4 some text just disappears

 Bugs that won't be fixed
 ------------------------
     6806  cairo 1.0.4 crash progressbar in window
     PDF: minefield shows too-tiny bitmapped fonts in image fallback
     PDF: minefield shows strangely hinted glyph shapes (only without truetype subsetting)
     PDF: minefield has broken selection (only with truetype subsetting code)

 cairo 1.1.10 snapshot includes everything below here
 ----------------------------------------------------
✓Bug fixes
    ✓7229  assertion failure in _cairo_content_from_format on 16-bit X server

✓SVG backend
    ✓rewrite to not require libxml2

 cairo 1.1.8 snapshot includes everything below here
 ---------------------------------------------------
✓PDF backend
    ✓1. Mark PDF backend as supported
	✓a. Incorporate into test suite
	✓b. Correct output for the entire test suite

    ✓2. Reasonable, native output for common uses
	✓a. Switch to using cairo_paginated_surface_t
	✓b. Opaque text and images are all native
	✓c. Translucent objects (using OVER) are also native
	✓d. Text output uses PDF font features (type 3)

✓Bug fixes with API implications
	✓  cairo_{ps,pdf}_surface_set_dpi have no effect (replace with cairo_surface_set_fallback_resolution)
	✓ cairo_set_line_width semantics (that's not a bug, it's a feature)

✓Bug fixes (For each XXXX, see: https://bugs.freedesktop.org/show_bug.cgi?id=XXXX )
    ✓ 	   FC_GLOBAL_ADVANCE (http://lists.freedesktop.org/archives/cairo/2005-August/004893.html)
    ✓4705  crash at XRenderAddGlyphs
    ✓      _transform_glyph_bitmap http://lists.freedesktop.org/archives/cairo/2005-October/005564.html


 cairo 1.1.6 snapshot includes everything below here
 ---------------------------------------------------
✓Printing-oriented API (PDF)
    ✓1. Per-page size settings

✓Mozilla needs
    ✓1. Device-offset rework
    ✓2. Push/pop_group

 cairo 1.1.4 snapshot includes everything below here (and cairo 1.1.2 some of these)
 -----------------------------------------------------------------------------------
✓Printing-oriented API (PostScript)
    ✓1. Per-page settings (paper size, layout, anything else?)
    ✓2. Document metadata

✓PS backend
    ✓1. Mark PS backend as supported:
	✓a. Incorporate into test suite
	✓b. Correct output for the entire test suite

    ✓2. Reasonable, native output for common uses
	✓a. Switch to using cairo_paginated_surface_t
	✓b. Opaque text and images are all native
	✓c. Text output uses PostScript font features

✓Pango needs
    ✓5496 Add getters for cairo_scaled_font_t
    ✓5495 Need cairo_scaled_font_text_extents

✓SVG backend
    ✓1. Add experimental SVG backend
    ✓2. Incorporate into test suite

✓Performance improvements
    ✓1. Speed up glyph measurement (cache rewrite)
    ✓2. Speed up gradient computations
	✓a. Better software gradients

cairo 1.2.0 desired features
If these aren't ready, they won't be in the release.
======================================================
 Win32 backend
    ✓1. Incorporate into test suite
     2. Correct output for the entire suite
	 a. self-copy
	 b. trap-clip
	 [There is some mailing-list discussion about possible fixes
	 for these.]

 Mozilla patches
     1. Misc compilation fixes for pixman (submitted upstream)
     2. mac compilation fix for cairo-atsui-font.c for 10.2 SDK (maybe should
	be upstream?)
     3. Make mark_dirty() reset a surface's clip, so that we can call it
	when we RestoreDC() after native win32 drawing (submitted upstream)
     4. Rework win32 surface clip and extents handling for correctness
	(submitted upstream)
     5. Add GdiFlush() calls before each image surface get
	(Submitted upstream: https://bugs.freedesktop.org/show_bug.cgi?id=5845)

 Bug fixes
     4630  Fonts too large when drawing to image surface while printing
     4863  stroking problems with wide dashed lines
     Fix some expected failures (XFAIL) in the test suite
	 a. a8-mask
	✓b. clip-all
	 c. filter-nearest-offset
	 d. pixman-rotate
	 e. extend-reflect

 New API
     cairo_arc_to
	see http://lists.freedesktop.org/archives/cairo/2005-August/004801.html
	or see arc_to branch in bedhad's repository

 Performance improvements
     1. Cull and trim trapezoids outside clip region bounds
     2. Generate more large pixel-aligned, rectangular trapezoids
     3. Use X server gradients when available

Longer-term desired stuff for cairo (not scheduled for any particular release)
==============================================================================
 PS/PDF improvements
     1. Make image fallbacks finer-grained than a whole page
     2. Ensure that PDF text output is "selectable"

 Quartz backend (maintainer needed!)
     1. Mark Quartz backend as supported:
	 a. Incorporate into test suite
	 b. Correct output for the entire suite

 SVG backend
     1. Correct output for the entire test suite

 Performance improvements
     1. New tessellator (more robust and faster)

 Bug fixes
     1. Fix all expected failures (XFAIL) in the test suite

	 a. self-intersecting
		AKA. https://bugs.freedesktop.org/show_bug.cgi?id=3752
		Fix depends on [A1].
	 b. text-rotate