> The reason why the autohinting code seems to get triggered for that
> font is because `ttface->num_locations` is 1
The actual value is 321, the number of normal (i.e., non-SVG) glyphs
in the TrueType font.
> for this font while it's 0 for all other fonts that I had in my test
> collection.
In other words, all fonts that you've tested so far were `.otf` fonts
(with third-order Bézier curves), and not `.ttf`, right?
> This check happens in FT_Load_Glyph in `ftobjs.c` on line number 999
> in my branch where autohint is set to true, there's a comment about
> `num_locations` over there. I'm under the impression that that
> value will not be set to `0` in the case of OTF fonts with TTF
> glyphs.
Correct.
> I'm not sure how to add a check that can prevent hinting to be run
> for OT-SVG glyphs. Whether or not a glyph index has a corresponding
> SVG glyph in the table is determined later on inside cff_slot_load
> or TT_Load_Glyph. Any ideas on how to prevent autohinting from
> being run on an OT-SVG glyph?
Look at the clause
```
if ( autohint )
{
FT_AutoHinter_Interface hinting;
/* try to load embedded bitmaps first if available */
/* */
/* XXX: This is really a temporary hack that should disappear */
/* promptly with FreeType 2.1! */
/* */
if ( FT_HAS_FIXED_SIZES( face ) &&
( load_flags & FT_LOAD_NO_BITMAP ) == 0 )
{
error = driver->clazz->load_glyph( slot, face->size,
glyph_index,
load_flags | FT_LOAD_SBITS_ONLY );
if ( !error && slot->format == FT_GLYPH_FORMAT_BITMAP )
goto Load_Ok;
}
...
```
It seems to me that you could try to add another special case for SVG.
Werner