[ft-devel] patch requested for freetype2/internal header usage (using font_bbox)

Drew Parsons dparsons at debian.org
Tue Jan 24 04:16:33 PST 2006


On Tue, 2006-01-24 at 12:46 +0100, david turner wrote:
> >   
> > > So, the correct, non-buggy code would be:
> > > 
> > >  else
> > >   {
> > >     fprintf(out, "/FontBBox [%ld %ld %ld %ld] def\n",
> > >                  ti->ttface->bbox->xMin,
> > >     
> >                                                       ^^^^^^
> > Is this a typo?  Did you mean
> >                  ti->ttface->bbox->xMin * 65536,
> >   ??
> > 
> >   
> > >                  ti->ttface->bbox->yMin * 65536,
> > >                  ti->ttface->bbox->xMax * 65536,
> > >                  ti->ttface->bbox->yMax * 65536);
> > >   }
> > > 
> > >     
> > 
> >   
> No, you don't need to multiply by 65535. the values in ttface->bbox
> are already in
> outline coordinates, you simply output them as integers into the
> Postscript/Type1 stream.
> 

OK. In that case you mean the 65536 needs to removed from the other 3
coords. That is I want:

 else
  {
    fprintf(out, "/FontBBox [%ld %ld %ld %ld] def\n",
                 ti->ttface->bbox->xMin,
                 ti->ttface->bbox->yMin,
                 ti->ttface->bbox->xMax,
                 ti->ttface->bbox->yMax);
  }

Correct?

> >   
> > Hey, don't diss him! Before he got on to it Xprt didn't run at all!
> > Actually, he was aware of the problem, with the freetype internals, if
> > not the size misuse:
> > https://bugs.freedesktop.org/show_bug.cgi?id=603
> > 
> >   
> Oh, I'm not dissing anyone, believe me. I'm just finding some irony
> between the efforts involved
> and the end result. that's all, nothing more.
> 
> And believe me, I would have called him a moron if that's what I
> thought (which I don't)

That's fine :)  We haven't heard from him for a long time now, so I
wanted to say something encouraging in his favour.

I'll be able to apply your patch in the next day or two, but I'm not
sure of a good way to test it.  Do you know of a reliable way to force
firefox, say, (which prints to Xprint) to select a type 3 font via
freetype, in such a way that ti->ttheader remains undefined, where ti is
a struct ft2info (ttheader is read from FT_Get_Sfnt_Table) ?  Well I
guess I can explicitly set the ttheader to null for testing purposes,
but I'm not sure about invoking the type 3 font.

Drew


More information about the xorg-modular mailing list