[cairo] Quartz bug with right-to-left and bidirectional text

Ben Schmidt mail_ben_schmidt at yahoo.com.au
Mon Oct 27 15:30:30 PDT 2008


G'day, Vlad,

Yes, Pango is being used, but the problem goes away as soon as Cairo is
compiled without the Quartz backend and just uses the regular X backend,
so it is definitely a Cairo problem.

I suspect the problem is that some Quartz API is smarter than we want it
to be, and is adding some kind of bidi support that we don't want. IIRC,
it renders single glyphs just fine; it's only when multiple glyphs are
rendered at a time that they get messed up.

What kind of test case are you after? I'm not really a Cairo/Pango/GTK
programmer, but just a user, so I might struggle to provide more. The
images and text file I provided at the link I gave form a pretty small
test case. I realise they require Vim as I formulated them, but they
probably actually don't--I suspect anything that renders the provided
text file in a window would show up the problem. And a tester need know
nothing about Hebrew--if the rendering of the Quartz backend can be made
to match that of the non-Quartz backend, it should indicate the bug is
fixed.

Cheers,

Ben.



Vladimir Vukicevic wrote:
> 
> Hey Ben,
> 
> Can you provide a testcase for this?  The quartz surface backend itself 
> just deals with positioned glyphs; if you're using the cairo toy font 
> backend, I don't think it provides any guarantees about support for RTL 
> or bidi text.  Are you using pango?
> 
>     - Vlad
> 
> On Oct 27, 2008, at 5:49 AM, Ben Schmidt wrote:
> 
>> Hi,
>>
>> The Quartz backend, presumably because of bidirectional support in 
>> Quartz which
>> doesn't behave as Cairo expects, renders right-to-left and 
>> bidirectional text
>> differently to other Cairo backends. Since Cairo output should be 
>> independent of
>> the backend, this is of course a bug.
>>
>> I noticed it using a GTK+2 GUI version of Vim which I use for reading 
>> and writing
>> Hebrew text. When the Cairo Quartz support was enabled, the output 
>> went wrong! I
>> requested a +no_quartz variant to the MacPorts Cairo installation and 
>> attached
>> screen shots and a text file to demonstrate the bug here:
>>
>> https://trac.macports.org/ticket/16778
>>
>> It would be good if this could be added to your bug tracker and CC me 
>> regarding
>> changes/progress. Or if this is a known bug, if you could CC me on 
>> that, it'd be
>> great. I did a quick search of the bug database and couldn't spot it 
>> there
>> already, though. I don't intend to stay subscribed to this list for 
>> more than a
>> few days to field replies to this report.
>>
>> Thanks very much.
>>
>> Ben.
>>
>>
>>
>> _______________________________________________
>> cairo mailing list
>> cairo at cairographics.org
>> http://lists.cairographics.org/mailman/listinfo/cairo
> 
> 


More information about the cairo mailing list