In general, shifting glyphs vertically is problematic. I think a better solution than ttfautohint's `-c' option in combination with composite glyphs is to use GPOS Single Adjustments to move (non-composite) glyphs vertically, where the Adjustments' ValueRecords hold DeviceTables for vertical placement – this ensures that the shiftI still don't quite understand Werner's advice but from what I understand I think it means this:
offset is an integer number of pixels (and not in design units), thus preserving the hinted shape because GPOS positioning happens after hinting.
In the previous paragraph, I'm referring to the OpenType specification for the `GPOS' table, cf.
Example 2 uses the SinglePosFormat1 subtable to lower the Y placement of subscript glyphs in a font.Why do the subscript glyphs need to be lowered: shouldn't they be at the correct position already when designing them? Or, is it implied that subscripts are activated by a GSUB that puts the superscripts glyphs in place of the default numerals and then lowers the superscript glyphs with a GPOS?