[cairo-commit] ROADMAP TODO

Carl Worth cworth at kemper.freedesktop.org
Fri Aug 18 15:09:21 PDT 2006


 ROADMAP |   95 +---------------------------------------
 TODO    |  150 +++++++++++++++++++++++++++++++++++++++++++---------------------
 2 files changed, 105 insertions(+), 140 deletions(-)

New commits:
diff-tree 33b62f47a451cb3ee70e7343976f5d1f06adb443 (from d1be19e1604f77a0a156bea6d40914aa672c6d81)
Author: Carl Worth <cworth at cworth.org>
Date:   Fri Aug 18 15:08:58 2006 -0700

    Move unscheduled features and bugs from ROADMAP to TODO

diff --git a/ROADMAP b/ROADMAP
index ade1076..62e16ac 100644
--- a/ROADMAP
+++ b/ROADMAP
@@ -89,101 +89,6 @@ cairo 1.4.0 ideas (think performance!)
    CAIRO_EXTEND_PAD is not implemented for surface patterns
    CAIRO_FORMAT_RGB16_565 should be deprecated
 
-Unscheduled stuff we'd like to get to at some point
-===================================================
- Fairly severe bugs
-     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)
-     4630  Fonts too large when drawing to image surface while printing
-     4863  stroking problems with wide dashed lines
-     7497 _cairo_color_compute_shorts fails with FPU set to single ...
-
- Fix all expected failures (XFAIL) in the test suite
-     a8-mask
-     extend-reflect
-     filter-nearest-offset
-     leaky-dash
-     self-intersecting
-     text-rotate
-
- Fix disabled tests in the test suite
-     show-glyphs-many
-
- 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.]
-
- 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
-
- 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
-
- Misc
-     1. xlib backend requires xrender to compile, while it can perform without
-        xrender at run time.  Make it compile without it.
-
-[Here's some stuff that was sitting in the BUGS file. Some of these
-are likely not existing bugs anymore. We should invesitgate each and
-either move it up into the ROADMAP above or else just delete it.]
-
---
-
-The caches need to be invalidated at font destruction time.
-
---
-
-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.
-
-Recent improvements to make the intersection code more robust (using
-128-bit arithmetic where needed), have exposed some of the weakness in
-the current tessellation implementation. So, for now, filling some
-polygons will cause "leaking" until we implement Hobby's algorithm.
-
---
-
-Stroke extents might not work for degenerate cases, (e.g. single
-vertical or horizontal line).
-
---
-
-Stroke width of 0 might do bad things.
-
---
-
-Could there be a bug in PS backend exposed by?:
-
-cairo_save
-cairo_clip
-cairo_restore
-...
-
-This needs a new testcase.
-
---
-
-Text drawn with vertical metrics cannot currently use TrueType
-subsetting for PDF/PS output as the code doesn't write out the necessary
-VHEA or VMTX entries to the TrueType font objects. As a result, cairo uses
-Type3 fonts which generates slightly different outlines.
+For other ideas that have been proposed for cairo but are not yet
+scheduled on the roadmap of any particular release, please see the
+TODO file next to this ROADMAP file.
diff --git a/TODO b/TODO
index 7a8e164..b51418b 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+This file contains a list of some things that have been suggested
+
 Changes that are expected to impact the public API
 ==================================================
 
@@ -9,50 +11,15 @@ Changes that are expected to impact the 
 ||||/
 Backwards compatible (API additions only)
 -----------------------------------------
-	cairo_begin_group, cairo_end_group, cairo_get_group
-PDR C	cairo_surface_mark_dirty (see below for details)
-PDRTC	Add support for non-antialiased rendering + API
 	Add CAIRO_FILL_RULE_INVERSE_WINDING and CAIRO_FILL_RULE_INVERSE_EVEN_ODD
-	Add cairo_text_glyphs (see below for details)
 	Add support for programmatic patterns, (ie. arbitrary gradients)
 P	Add cairo_arc_to.
 	Add support for custom caps (see below for details)
-	Add support for getting at image data from image surface
 	Add CAIRO_STATUS_DESTROYED
 	Add cairo_finish
 
-Backwards incompatible (API deletions or changes)
--------------------------------------------------
-PDR C	cairo_surface_finish, cairo_surface_flush
-PDR C	A hidden offset for the xlib backend
-PDR C	Consistent error handling for all objects
-PDRTC	Split cairo_format_t (see below for details)
-P---C	Remove cairo_status_string in favor of cairo_status_to_string
-
 Details on some of the above changes
 ------------------------------------
-* cairo_text_glyphs:
-
-	It would function as a sort of bridge between the toy and the
-	real text APIs:
-
-	>       void
-	>       cairo_text_glyphs (cairo_t *cr, const unsigned char *utf8,
-	>                          cairo_glyph_t *glyphs, int *num_glyphs);
-	>
-	> with num_glyphs as an input-output parameter. The behavior of this
-	> function would be such that calling:
-	>
-	>       cairo_text_glyphs (cr, string, glyphs, &num_glyphs);
-	>       cairo_show_glyphs (cr, glyphs, num_glyphs);
-	>
-	> would be equivalent too:
-	>
-	>       cairo_show_text (cr, string);
-	>
-	> as long as the original size of glyphs/num_glyphs was large
-	> enough.
-
 * support for custom caps:
 
   It would be nice if the user had a mechanism to reliably draw custom
@@ -63,24 +30,111 @@ Details on some of the above changes
 
 Changes that do not affect the public API
 =========================================
-* Fix clipping to work for all operators. The equation we have come up
-  with is:
-
-	((src Op dest) In clip) Add (dest Out clip)
-
 * Change stroke code to go through one giant polygon. This will fix
   problems with stroking self-intersecting paths.
 
 * Fix the intersection problem, (see reference to Hobby's paper
   mentioned in cairo_traps.c).
 
-* Implement dashing for cairo_curve_to.
-
-* Stroking closed, degenerate paths should still draw caps.  Round
-  caps are easy; square should probably draw an axis-aligned square.
-
 * Should add geometry pruning as appropriate.
 
-* Verification, profiling, optimization.
-
-	centi_unfinished.svg may provide a good test case.
+Other changes (this text used to be in RODMAP)
+==============================================
+ Fairly severe bugs
+     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)
+     4630  Fonts too large when drawing to image surface while printing
+     4863  stroking problems with wide dashed lines
+     7497 _cairo_color_compute_shorts fails with FPU set to single ...
+
+ Fix all expected failures (XFAIL) in the test suite
+     a8-mask
+     extend-reflect
+     filter-nearest-offset
+     leaky-dash
+     self-intersecting
+     text-rotate
+
+ Fix disabled tests in the test suite
+     show-glyphs-many
+
+ 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.]
+
+ 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
+
+ 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
+
+ Misc
+     1. xlib backend requires xrender to compile, while it can perform without
+        xrender at run time.  Make it compile without it.
+
+Some known bugs (this text used to be in BUGS)
+==============================================
+XXX: Many of these bugs are likely no longer valid. We should
+invesitgate each and either move it up into TODO (above) or ROADMAP or
+else just delete it.
+
+--
+
+The caches need to be invalidated at font destruction time.
+
+--
+
+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.
+
+Recent improvements to make the intersection code more robust (using
+128-bit arithmetic where needed), have exposed some of the weakness in
+the current tessellation implementation. So, for now, filling some
+polygons will cause "leaking" until we implement Hobby's algorithm.
+
+--
+
+Stroke extents might not work for degenerate cases, (e.g. single
+vertical or horizontal line).
+
+--
+
+Stroke width of 0 might do bad things.
+
+--
+
+Could there be a bug in PS backend exposed by?:
+
+cairo_save
+cairo_clip
+cairo_restore
+...
+
+This needs a new testcase.
+
+--
+
+Text drawn with vertical metrics cannot currently use TrueType
+subsetting for PDF/PS output as the code doesn't write out the necessary
+VHEA or VMTX entries to the TrueType font objects. As a result, cairo uses
+Type3 fonts which generates slightly different outlines.


More information about the cairo-commit mailing list