[cairo] (Grossly) Misplaced glyph(s) at certain font sizes

Behdad Esfahbod behdad at behdad.org
Sat May 3 14:15:15 PDT 2008

On Sat, 2008-05-03 at 13:11 -0700, Vladimir Vukicevic wrote:
> On May 3, 2008, at 9:10 AM, Behdad Esfahbod wrote:
> >
> >> This violates the condition required of the backends in commit
> >> 5a9642c5746fd677aed35ce620ce90b1029b1a0c, where it states:
> >
> > Ugh, that's ugly.  Lemme think about it.
> Given that this case is probably going to be relatively rare, the  
> easiest thing to do might be to just handle UNSUPPORTED in  
> emit_glyphs, and go back over glyphs that have already been processed
> and convert the coordinates back.

Wouldn't work.  We may have already flush some chunks of text (if the
entire text doesn't fit in one request), so we would need to somehow
communicate to the caller that some of the glyphs are drawn.  If we do
so, then upon detecting a large glyph, we can flush whatever we got so
far and then remove them from the request.  We can shift back the
remaining glyphs and adjust the glyph count for example.  Needs changing
internal show_glyphs API to take a pointer to the glyph count though.

>      - Vlad

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759

More information about the cairo mailing list