Hi,

I'm using FreeType for an engine that renders text on demand.  To make this as efficient as possible I'm using the cache API for all my rendering.  I'm calling FTC_ImageCache_LookupScaler to get my FT_Glyph, and using FT_Glyph.advance.x to move the cursor to the next start.


I'm having a problem, however, rendering certain text for SOME fonts.  For instance, Anonymous Pro (https://fonts.google.com/specimen/Anonymous+Pro?query=Anonymous). The issue can be seen when rendering text like "MAIL."  I get a big gap between the M and the A.

Investigating this with FontForge, the issue appears to be that the A has a negative left-side bearing.  If I adjust the cursor position by this amount before I render the A, everything looks perfect.


My issue, however, is that the left side bearing isn't available in an FT_Glyph.  It's only available, it seems (as horiBearingX) in the FT_Face.glyph.metrics (FT_Glyph_Metrics) structure.  And that's not getting updated when I'm loading a glyph from the cache.


What's the best way to deal with this issue?


Thanks,


Brian

Reply via email to