cairo/ROADMAP
Carl Worth 61404bd502 Update version to 1.2.0 and add notes to NEWS file.
Also update libtool version information to 11:0:9.
2006-07-01 03:24:33 +02:00

214 lines
7.9 KiB
Text

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