[cairo] On cairo-quartz being supported (ATSUI vs. CGFONT)

Vladimir Vukicevic vladimir at pobox.com
Wed Mar 26 18:16:52 PDT 2008

On Mar 26, 2008, at 12:32 PM, Carl Worth wrote:
> On Wed, 26 Mar 2008 14:52:52 +0430, Behdad Esfahbod wrote:
>> On Tue, 2008-03-25 at 22:19 -0400, Vladimir Vukicevic wrote:
>>> Worst case, we may just have to punt on the whole supported-quartz  
>>> for
>>> 1.6 thing (sadly -- maybe just fonts?), because depending on the  
>>> size
>>> of the issue I'm not sure I'll have time to fix everything quickly.
>>> The issue is just with unantialiased text though, so I'm hoping that
>>> it'll be fixable in a straightforward fashion.
>> These kind of bugs can be fixed later.  I doubt that these affect the
>> API.
> Right. In the past I've set two things as requirements for a backend
> to be "supported"
>   1. We feel comfortable promising that the API is stable
>   2. There are no failures in the test suite
> So, Vladimir, with those ideas in mind, what's your opinion on the
> state of the ATSUI vs. CGFONT backends? My impression is that you'll
> be much more enthusiastic about responding to CGFONT rather than ATSUI
> problems in the future. So I'd be quite nervous about marking the
> ATSUI code as supported, but I could feel quite comfortable marking
> the CGFONT code as supported if you feel the results are "close
> enough".

I think it's safe to declare the API stable -- it's very  
straightforward (for both Quartz and CGFont), and any changes would  
most likely be done as additional API.

For test suite failures, on MacOS X 10.5, overall we're in good  
shape.  Some things that don't pass are a1-image-sample with the  
quartz backend (issues with filter types, and probably different-than- 
pixman rounding), and with the cgfont backend, text-antialias-none due  
to extents issues.  On MacOS X 10.4, overall things are good, but  
there are a few problems due to underlying Quartz bugs that have been  
fixed in 10.5.  I'm not too worried about those showing up in real- 
world usage, though I still plan on investigating if we can identify  
the failure cases and do fallback.

With CGFont with the image surface backend, there are some glyph  
positioning glitches (e.g. the "e" in "text" in font-matrix- 
translation shows up as 1px too low -- this shows up in some other  
tests as well).

I also agree that I'd be more enthusiastic about CGFont fixes rather  
than ATSUI fixes :)  With that i mind, I think that CGFont-with-Quartz  
works quite well at the moment; I'm going to do some builds of Firefox  
with the CGFont code as well (we don't exercise most of it, since we  
go straight to show_glyphs and create fonts ourselves directly, but  
just to verify that nothing broke in the switch).

> Maybe I should go run the cairo-quartz test suite and look at the
> images myself. Where can I find the current cgfont work?

I've just pushed it out to my repo, git://people.freedesktop.org/ 
~vladimir/cairo in  the quartz-cgfont branch.

     - Vlad

More information about the cairo mailing list