[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [ft-devel] Determining the size of space character
From: |
Ivan Tarapov |
Subject: |
RE: [ft-devel] Determining the size of space character |
Date: |
Tue, 22 Aug 2006 15:24:28 +0300 |
Russel,
I got freetype from CVS - there were some differences from the 2.2.1 version
I am using, but the problem with calculation of CBox for space character is
not fixed.
Basically the code is like this:
error = FT_Load_Glyph(face, curchar, FT_LOAD_DEFAULT);
.....
error = FT_Get_Glyph(face->glyph, &glyph);
the result is success for space character (curchar=3)
FT_Glyph_Transform(glyph, 0, &pos);
FT_Glyph_Get_CBox(glyph, ft_glyph_bbox_pixels, &bbox);
>From FT_Glyph_Get_CBox the function FT_Outline_Get_CBox( &glyph->outline,
bbox ); is called
Inside this function the check is made
if ( outline->n_points == 0 )
Naturally, the check fails for space char, because it doesn't have any
n_points as far as I recon. Maybe the routine for determining the size of
space character us different?
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden On Behalf
> Of Russell Shaw
> Sent: Tuesday, August 22, 2006 6:02 AM
> Cc: address@hidden
> Subject: Re: [ft-devel] Determining the size of space character
>
> Ivan Tarapov wrote:
> > Hello,
> >
> > I am involved in a project that uses FLTK+microwindows on a linux-based
> > system. We use freetype 2.2.1 for rendering of ttf fonts. I have been
> > struggling for a long time to get it to determine the size in pixels of
> > the passed string correctly. What I dug up is this:
> >
> > Microwindows ultimately calls FT_Glyph_Get_CBox to determine the CBox
> > for the character and calculates its size accordingly. It doesn't work
> > for space character. The CBox for space character turns out to be filled
> > with zeroes, hence wrong pixelsize for the string. FT_Glyph_Get_CBox in
> > its turn calls ft_outline_glyph_bbox which issues a call to
> > FT_Outline_Get_CBox which does the calculations. However the
> > calculations are based on the outline->n_points field, which is zero for
> > the space character. This seems like a bug to me. Or maybe there is a
> > workaround for this?
>
> There was a bug in 2.2.1 to do with space characters that is fixed in cvs.
> Try freetype from cvs.
>
>
> _______________________________________________
> Freetype-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/freetype-devel