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

add features to the GUI
  -> direct control over `actions'
  -> preview similar to ftgrid

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.

create a separate blue zone class for `i' and `j':
  . if the values differ more than a given threshold, handle them
    separately
  . otherwise, unify them with `f' and friends.

control the characters used for blue zones
  -> non-latin scripts

user-defined blue zones?
  -> old-style digits

control the width of blue zones

add control over character ranges which define a script; in particular, add
  support for the PUA

handle normal and bold fonts differently; cf. Infinality patches;
  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'

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
------------------

reject fonts which are `hopeless' (for example, `Lipstick')

reduce memory consumption by using 16bit data types in large arrays if 32bit
  are not necessary

correctly set `lowestRecPPEM' field in `head'

control dropout mode

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

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%?)

make it possible to hint fonts which aren't alphabetic at all, for example,
  icons; to do so, provide means to skip the global feature analysis

better control -i output

allow processing of multiple files by using globs as in the Midnight
  Commander

allow composite fonts already processed by ttfautohint to be processed
  again

allow disabling of handling composite glyphs


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 and Apple font checkers

man page for ttfautohint library

install library

add help2man script so that parallel builds always work

EOF
