[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