[cairo] [PATCH] Use the new pixman_glyph_cache_t API that will be in pixman 0.28.0

Behdad Esfahbod behdad at behdad.org
Wed May 30 20:50:25 PDT 2012



On 05/30/2012 11:37 PM, Søren Sandmann wrote:
> Behdad Esfahbod <behdad at behdad.org> writes:
> 
>>> - The mask format used with pixman_composite_glyphs() is that of the
>>>   first glyph. This makes the implicit assumption that all the glyphs
>>>   in the font have the same format, which I believe is true.
>>
>> Keith thought so too.  Wrong.  See:
>>
>> commit 805b668260c47e6d3d854361fcc53f12bd2a57e1
>> commit 83963d2a9ec445e23cfbe692b877177a9d9d135e
>> commit 83963d2a9ec445e23cfbe692b877177a9d9d135e

I meant to list this commit instead of the duplicate commit id BTW:

commit ecb895803b9d2a3fd142f4a2c694ca08c5581f0e


>> https://bugs.freedesktop.org/show_bug.cgi?id=13479
> 
> Okay, thanks for the pointers. Do you know of any test cases that use
> this?

Not in cairo.  But this attachment can be made into one:

  https://bugs.freedesktop.org/attachment.cgi?id=13154

You need Courier New though.


>>>   Note that while the current code _looks_ like it will support both
>>>   a8 and a8r8g8b8 glyphs within the same font, that is not actually
>>>   the case since if the mask gets upgraded, adding a8 glyphs will
>>>   produce the wrong result since the RGB channels are considered 0 in
>>>   this format and so they will be drawn empty.
>>
>> Again, wrong.  I fixed and tested this.  See:
> 
> The *current* code - master as of today - doesn't do this, but I do
> remember that the code used to do this, and I agree it's the right thing
> to do.

I see. I see the code is commented out.  Not sure where image show_glyphs is
happening these days.


> It's easy enough to fix in the pixman code; the only concern is how
> seriously we need to take the Render spec. It does seem to call for the
> behavior of directly adding the glyphs, but that behavior is so useless
> that I can't imagine how anyone could actually rely on it. So I guess

I'm not sure I follow.  What behavior of Render are you referring to?

> I'll just update the pixman code to do the white-source thing.
> 
> 
> Søren

behdad


More information about the cairo mailing list