[cairo] Cairo in Google Summer of Code
taraben.a at st-innovation.com
Tue Mar 18 04:22:30 PDT 2008
Gerdus van Zyl schrieb:
> I personally would like to see Blur/Convolution Filters and
> Screen/Overlay blend modes, but that is more pixman than cairo, i
I second this and maybe there is a way to instead generate large bitmaps
but generate a number of triangles with the different colours on each
corner points in order to support vectorial outputs (PS/PDF/Glitz).
> 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
>> * 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
> cairo mailing list
> cairo at cairographics.org
More information about the cairo