[cairo] Cairo Font Cache

Edward Zimmermann Edward.Zimmermann at cib.de
Wed Oct 23 17:35:22 CEST 2013


I realize it’s a case that Cairo does not like. Its side-effects are real.

I'm asking WHY?

Its NOT a live font. Its at most a dangling one.. I don't use it. Yes the pointer is still around in Cairo's
tables but nobody will ask for it to do any drawing..  If I don't draw with a font why should it matter if
its insides are wholesome or gutted? 

Drawing with it...is clearly WRONG.. But why does it need to have live functioning guts if it is not going to
be used? Its anyway the responsibility of the caller and NOT Cairo to delete its Freetype buffers.. why should
it matter?

What is interesting is that problems seem to occur after Cairo has purged itself of the reference.. That is
the once live font with gutted insides has been purged...

-----Ursprüngliche Nachricht-----
Von: Chris Wilson [mailto:chris at chris-wilson.co.uk] 
Gesendet: Mittwoch, 23. Oktober 2013 16:50
An: Edward Zimmermann
Cc: 'cairo at cairographics.org'
Betreff: Re: [cairo] Cairo Font Cache

On Wed, Oct 23, 2013 at 04:39:50PM +0200, Edward Zimmermann wrote:
>    Create a surface. Make a drawing context. Create a Freetype face, create a
>    Cairo face on the Freetype face..
>    set a matrix.. use in a context.. draw a glyph… destroy Cairo face,
>    FT_Done_Face on freetype face.. destroy
>    drawing context… destroy surface..

There's your bug, calling FT_Done_Face on a live font.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the cairo mailing list