[cairo-bugs] [Bug 10067] quartz surface does not use device glyph extents

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 15 06:36:45 PDT 2007


http://bugs.freedesktop.org/show_bug.cgi?id=10067





------- Comment #5 from Brian.Ewins at gmail.com  2007-03-15 05:36 PST -------
(In reply to comment #4)
> I guess I'm just ignorant about what's going on with transforms here, but I
> still don't see how you can ignore the passed-in x/ys.
> 

Fair point. I'd say you're right, I'm wrong here. The xlib backend for example
gets the x/ys at 
http://lxr.mozilla.org/seamonkey/source/gfx/cairo/cairo/src/cairo-scaled-font.c#878
... my patch doesn't, so I'm throwing away any kerning you've done. Also worth
mentioning that that is doing pixel-snapping; the equivalent in the quartz code
would be 

cg_advances[i-1].width = _cairo_lround(glyphs[i].x) - xprev;

however its doing that because (IIRC) the x/y stored there are used when
rendering with glyph surfaces, so that they don't get antialiased twice.

But still, with the code before the patch, the rendering I got when the device
and user units aren't identical was junk. I'll attach the problem
code/renderings from when the bug was reported to me (directly via mail,
unfortunately), so you can see what I mean. 


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.


More information about the cairo-bugs mailing list