[cairo] Cairo in Google Summer of Code

Gerdus van Zyl gerdusvanzyl at gmail.com
Tue Mar 18 02:22:27 PDT 2008

Is it just me or is most of the problems inappropriate for somebody
like a SoC candidate that is just starting on the cairo code base?

All the sucessfull SoC projects I have seen were
a) self contained unit - eg. something than does not touch too many
existing code and can be written "seperately" and then integrated.
(lookup-table-based rasterizer?)
b) non controversial - this way the candidate does not fight a part of
the community
c) visible and fun - braggable results eg. I made cairo 20% faster!
See this cool new thing people can do!

I personally would like to see Blur/Convolution Filters and
Screen/Overlay blend modes, but that is more pixman than cairo, i

Just my 2 cents.

On Tue, Mar 18, 2008 at 4:27 AM, Bill Spitzak <spitzak at thefoundry.co.uk> wrote:
> Well I can't edit the page but here are mine:
>  [Medium] Make stroke width and font transforms be frozen at the time
>  they are set, rather than modified by changes to the ctm
>  (linewidth(2);scale(2) should produce 2-unit wide lines, not the 4-unit
>  wide lines it currently does). This will make Cairo consistent with how
>  it treats pattern and gradient transforms, with how Pango works, make
>  Cairo's transforms usable by an Illustrator-style program, match OpenGL
>  and make future 3D enhancements to Cairo possible. This will require
>  replacing the pen api with a 2x2 matrix, and possibly other changes.
>  Will also require analysis of how much, if any, of existing Cairo-using
>  code will be broken by this change, and how and if back-compatibility
>  should be provided.
>  [Hard] Hinting mode (or "make 1-pixel thick lines work the way users
>  expect"). Add a mode to draw fills and strokes "nicely" without the
>  calling program having to know how big the pixels are. This is very
>  similar to, and probably as hard as, font hinting. Currently Cairo tries
>  to accurately draw a filtered scaled image but this is often not what is
>  wanted: the inability to draw 1-pixel lines frustrates novices, and the
>  fuzzy appearance of tiny images discourages Cairo use for icons.
>  [Hard] Adjacent-polygon fix. Lots of users try to draw a mesh of
>  polygons with their edges touching in order to fill the plane with a
>  colored image. Attempting this on Cairo produces artifacts because the
>  edges are antialiased and the image has very thin cracks between the
>  polygons. A huge number of graphics produced popular proprietary and
>  open-source programs are this way and it is impractical to fix them to
>  overlapping shapes. Come up with a solution to this.
>  [Hard] Usable+"fun" font api. The official method of drawing text in
>  Cairo is not "fun" (which was supposed to be a design criteria for
>  Cairo). The official method of drawing text (Pango) is much too complex
>  for use by applications, though toolkits can call it. The majority of
>  programmers use the "toy" api, even though it is depreciated, because it
>  much more resembles the expected api and can be learned without study.
>  Selecting the font for either requires back-end-specific code so the
>  only portable api is to use the default font. Make a new Cairo font api
>  which does the following:
>  * Select a font using a single string name that is portable between
>  backends and can be imbedded into a <font=name> code in Pango. Add a
>  simple api that will list a reasonably-large subset of the available
>  font names, so that a portable font chooser can be written, and so that
>  multiple programs all show the same set of available fonts.
>  * All assigned Unicode points draw a correct glyph (ie what is actually
>  selected is a fully-populated "font set"). The "toy" api will then
>  clearly display the contents of a string, which is very useful for
>  editors and other contexts where the data is more important than the
>  presentation.
>  * Add a "fun" wrapper around Pango to encourage it's use. It should take
>  a string to display (with embedded html-style codes) and a rectangle to
>  put it into (unless the current path could be used, which would be
>  neat), and it should use the cairo current font.
>  _______________________________________________
>  cairo mailing list
>  cairo at cairographics.org
>  http://lists.cairographics.org/mailman/listinfo/cairo

More information about the cairo mailing list