freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] character spacing


From: Behdad Esfahbod
Subject: Re: [ft-devel] character spacing
Date: Mon, 19 Sep 2011 09:20:46 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.22) Gecko/20110902 Lightning/1.0b2 Thunderbird/3.1.14

On 09/19/11 01:21, Louis Desjardins wrote:
> Also - as I have already invested much time in Freetype I no longer have time
> to integrate a different library such as Pango - is there somewhere I can
> obtain freely distributable TTF files that contains kerning information that
> can be handled by Freetype?

I'm guessing that you don't want kerning.  You want the glyph advance widths.
 I'm just guessing that you are stacking bitmaps next to eachother, using the
bitmap width as the "advance" vector.  That's wrong.  When saving the bitmaps,
also save face->glyph->advance.x.

behdad


> Thank-you!
> 
> ------------------------------------------------------------------------------
> From: address@hidden
> To: address@hidden
> CC: address@hidden
> Subject: RE: [ft-devel] character spacing
> Date: Sun, 18 Sep 2011 22:15:58 -0700
> 
> Thanks for your reply -
> 
>> Note, however, that today many fonts contain kerning in the GPOS table
>> which is not handled by FreeType. Instead, you have to use a
>> higher-level library like Pango or ICU.
> 
> FT_HAS_KERNING will return true for these types of fonts? When I call,
> FT_Get_Kerning, the akerning value always gets set to (0,0), which from the
> sample code on freetype.org, looks like is an error. Could this indicate that
> the kerning information is in the 'GPOS' table? How can I know for sure, or is
> there a way to debug this?
> 
> Thank-you again!
>  
> 
>> Date: Mon, 19 Sep 2011 07:10:24 +0200
>> To: address@hidden
>> CC: address@hidden
>> Subject: Re: [ft-devel] character spacing
>> From: address@hidden
>>
>>
>> > In order to draw my text, I currently make calls to:
>> >
>> > FT_Get_Char_Index
>> > FT_Load_Glyph
>> > FT_Render_Glyph
>> >
>> > and then I store the bitmap of each ascii character to memory, so
>> > that once I actually render the character, I can simply call on the
>> > stored bitmap.
>> >
>> > The problem is that the character spacing is not correct. It looks
>> > like I need to use FT_Get_Kerning to correct this, however from the
>> > examples I've seen, it looks like I need to call this before
>> > FT_Load_Glyph, i.e. at the time when I am storing each of my
>> > characters.
>> >
>> > However, I have no idea what strings will be rendered, until
>> > runtime, so I don't know the 'left_glyph' and 'right_glyph'
>> > parameters in FT_Get_Kerning beforehand. Is there a way to make use
>> > of FT_Get_Kerning while drawing my bitmap (after I've already loaded
>> > the glyph and retrieved its bitmap), in order to achieve proper
>> > character spacing at runtime?
>>
>> Have a look at the ftstring demo program to see how simple kerning
>> works. You can call `FT_Get_Kerning' whenever you want; it is
>> completely unrelated to `FT_Render_Glyph'.
>>
>> Note, however, that today many fonts contain kerning in the GPOS table
>> which is not handled by FreeType. Instead, you have to use a
>> higher-level library like Pango or ICU.
>>
>>
>> Werner
> 
> 
> 
> _______________________________________________
> Freetype-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/freetype-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]