essential fixes
---------------

write a platform-independent GUI
  -> direct control over `actions'
  -> preview similar to ftgrid


important improvements
----------------------

improve handling of GDI ClearType by snapping to the pixel grid (this is,
integer coordinates of horizontal segments)

handle OT features
  -> use HarfBuzz?

control `gasp' table; Adam Twardoch suggest the following:

  1. Calculate "gaspstem", i.e. the most common thickness of horizontal
     stems (y direction distances) for lowercase Latin letters.
  2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
     entire range (rangeMaxPPEM 0xFFFF, value 15)
  3. Else, calculate gaspthreshold as follows:
       ceil(1.33 * upm / gaspstem) - 1
  4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
     gaspthreshold, value 7), and apply symmetric smoothing above.

  In addition, ttfautohint should provide a commandline parameter that
  allows the user to override the automatic logic.  If that parameter = 0,
  then gasp value 15 should be applied across the entire range.  If the
  parameter > 0, then up to that parameter value the gasp value 7 should be
  applied, and gasp value 15 should be applied above.

disable hinting at large ppem values (> ~2000) to avoid numeric overflows

control activation threshold of blue zone widths

control the width of blue zones

handle normal and bold fonts differently; cf. Infinality patches
  Maybe an option `never shrink the glyphs vertically'?  This should help
  avoid filling of bowls (like in `e') for bold shapes.

control the minimum stem width

try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
  patches

implement `x-height-snapping-exceptions'
  cf. the `never shrink the glyph vertically' idea above

improve `pre-hinting' by making the used PPEM value configurable

allow hinting of single glyphs, using a config file which holds the global
  settings

better handling of `incomplete' fonts (this is, fonts which lack the minimum
  set of glyphs necessary to determine the blue zones)


minor improvements
------------------

correctly set `lowestRecPPEM' field in `head'

control dropout mode

apply hinting in x direction also?
  -> warper: shifting with and without scaling
  -> `standard' autofit hinting

try to reduce size of hints by handling strong points separately

add a config and/or command file for batch handling

warn against overwrite of output file?

reduce output size of option -p:
  1. compare outline rendered at EM value with unhinted outline
  2. pre-hint only if 1. differs more than given threshold (default 0.5%?)


later enhancements
------------------

add CJK autohinting module
add Hebrew autohinting module

instead of emitting bytecode, write the hints as a VTT or FontLab script

Windows/Mac installer


various
-------

testing with Windows font checker

man page for ttfautohint library
install library

add GNU copyright exception so that created fonts don't inherit the GPL

add notice to font that it has been processed by ttfautohint


EOF
