How does the auto-hinter work?
Well, a complete description would be difficult. Have a look at the dedicated auto-hinter pages on the FreeType site, as they describe most of its details with graphics and explanations. You could also look at the source code if you want to 🙂 To give a few details, the auto-hinter is used to perform grid-fitting on scalable font formats that use Bézier outlines as their primary glyph image format (this means nearly all scalable font formats today). If a given font driver doesn’t provide its own hinter, the auto-hinter is used by default. If a format-specific hinter is provided, it is still possible to use the auto-hinter using the FT_LOAD_FORCE_AUTOHINT bit flag when calling FT_Load_Glyph(). The auto-hinter currently doesn’t use external hints to do its job, as it automatically computes global metrics (when it “opens” a font for the first time) and glyph “hints” from their outline. Note that we plan the ability to specify external hints, given that it is based on a constraint system.