[cairo] GTKCairo development

Turner David dturner at cptechno.com
Wed May 5 01:46:40 PDT 2004


Hello,

> Will Pango layout text on a curve? If so that will solve an 
> SVG problem.
> 

> Also, does freetype2 know how to rasterize SVG font files? 
> 
There is no official "SVG font file" format. The Adobe SVG viewer
does read files ending with the ".cef" extension that are supported
by FreeType 2, but these are a vendor-specific extensions.

Fonts can be specified in a SVG file as a set of XML elements.
There is no plan to support this within FreeType for the moment,
and frankly, I don't see any use for this in the font engine.

> Should the Cairo text API only consist of two entries:
> 1) Cache this set of glyphs for me
> 2) Draw this list of glyphs at these x/y locations
> 
> It's better for the low level drawing engine if the glyphs 
> are collected into larger bitmaps than 1000's of individual ones. 
> That way one  bitmap can be bound into a texture unit and all 
> of the glyphs accessed without setting the unit up again. It
> also makes it easier to track the cache at the server.
> 
That's only if you assume a GL-based backend. If you use the Render
backend, you'd better send individual glyph images since these are
stored as singletons on the server (through hashing/refcounting),
saving _tons_ of memory when multiple applications use the same
glyphs.

> To build the cache with OpenGL first make the composite 
> bitmap using Freetype. Then call the Cairo cache function with 
> the bitmap and an array of x,y,w,h for each glyph. Cairo would 
> then make a display list for the bitmap (causing it to
> be cached in the server) and a little display list for each 
> glyph that embeds the x,y,w,h and bitmap id. These display list
> ids need to be added to the input x,y,w,h array. 
> 
> To draw glyphs pass in an array of x,y,display list id. Cairo 
> would then make a
> chain of calls to the display lists passing in the 
> destination x,y coordinates.
> 
Wouldn't be better if the backend was capable of performing the
"compositing" itself, according to its needs and best uses ?
Otherwise, you're passing a serious complexity burden to
application and toolkit writers, and I can't imagine that none
of these is going to make truly horrible things with such an
API, or simply ignore it and pass individual glyph images
anyway.

Just my 0.02 EUR :-)

- David Turner
- The FreeType Project  (www.freetype.org)

--
This message and any attachments (the "message") is intended solely for the
addressees and is confidential. If you receive this message in error, please
delete it and immediately notify the sender.
Any use not in accordance with its purpose, any dissemination or disclosure,
either whole or partial, is prohibited except formal approval.
The E-Mail transmission can not guarantee the integrity of this message.
NDS TECHNOLOGIES FRANCE will not therefore be liable for the message if modified.






More information about the cairo mailing list