> 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
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to