PS/PDF API Change Proposal: (Re: [cairo] Semantics of transparent objects)

Russell Shaw rjshaw at
Thu Jan 19 00:37:52 PST 2006

Owen Taylor wrote:
> On Thu, 2006-01-19 at 15:40 +1100, Russell Shaw wrote:
>>Owen Taylor wrote:
>>>I can't really object too strongly to this change, since the the model
>>>where a PS/PDF surface matches a CAIRO_CONTENT_COLOR surface is still
>>>But I'm really not very comfortable with the with the idea of a 
>>>CAIRO_CONTENT_COLOR_ALPHA PS/PDF surface; I have concerns about 
>>>efficiency, concerns about consistency with the rest of cairo,
>>>and concerns about utility.
>>>What is destination alpha good for?
>>> A) It's good if you want to end up with an object with 
>>>    destination alpha. You want to draw a transparent
>>>    clock that you'll combine with the rest of your 
>>>    desktop. This doesn't really seem relevant to printing
>>>    to me. In the end, you are going to end up with an 
>>>    opaque piece of paper.
>>What about overhead transparencies or other transparent film printers?
>>>The final result of drawing to a PS/PDF surface does *not* 
>>>have alpha, no matter what your best intention. (Even you print
>>>to overhead slides, the alpha there is just the color white,
>>>and has no relation to the alpha of your surface.)
>>If you print red with alpha=0.5, you should get a semi transparent
>>printout onto clear film.
> The question is, do you get something different with:
>  alpha=0.5 red

should be translucent

>  alpha=1.0 pink

should be solid pink

> My understanding is that with PS/PDF, no, you don't. The infrastructure
> just isn't really there for supporting printers with white opaque
> inks. (Such things might exist for printing labeling onto colored
> plastic, say.)

Even if garden variety home printers don't interpret alpha, there easily
could be in the future. Someone might even write a driver for a current
printer that *can* do it. It would be useful to have the capability there,
even for mathematical consistancy between printers and video display

Some large industrial printers are custom made, and could be designed
for semi-transparent printing on things like glass windows or plastic

More information about the cairo mailing list