mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-29 09:10:12 +01:00
214 lines
7.9 KiB
Text
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
|