[cairo] [API] unbreak CAIRO_FONT_TYPE_ATSUI

Bill Spitzak spitzak at thefoundry.co.uk
Wed Mar 26 14:03:47 PDT 2008

Vladimir Vukicevic wrote:

> I have one issue still with the backend API -- I think we need to keep  
> the high level API in terms of floating-point values, and not go to  
> fixed point.  So I'd hold off exposing it until we figured that out  
> internally.

I think a serious consideration should be made to making the backend api 
include exactly every single cairo api that takes a cairo_t, no matter 
how much it looks like cairo can always do it.

Most of what cairo does before the backend should be rearranged into 
default or fallback implementations that the backend can call when it 
does not have it's own implementation.

It seems that over history there have been lots of points where 
insufficient information is passed to the backend and the solution has 
been to make the backend resemble the public api more. If this was done 
then no more of these changes would ever be necessary, for instance, 
floating point would be passed by definition. Even if every backend 
immediately converted to the same fixed-point format, there would be no 
loss of code or speed, as the conversion would be done at the same point 
current cairo does it, it's just that the backend indirection table is 
done before, rather than after, the conversion.

Also I see no way a tokenizing or tee backend could be written without 
this, and it seems like the pdf/ps backends are difficult without this.

Then again I may be talking complete nonsense because perhaps Cairo is 
already written this way, but it sounds like it isn't because of 
questions like this.

More information about the cairo mailing list