5 add features to the GUI
6 -> direct control over `actions'
7 -> preview similar to ftgrid
8 -> autocompletion of file names with tab key
11 -> use HarfBuzz as soon it provides the necessary APIs
13 control `gasp' table; Adam Twardoch suggest the following:
15 1. Calculate "gaspstem", i.e. the most common thickness of horizontal
16 stems (y direction distances) for lowercase Latin letters.
17 2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
18 entire range (rangeMaxPPEM 0xFFFF, value 15)
19 3. Else, calculate gaspthreshold as follows:
20 ceil(1.33 * upm / gaspstem) - 1
21 4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
22 gaspthreshold, value 7), and apply symmetric smoothing above.
24 In addition, ttfautohint should provide a commandline parameter that
25 allows the user to override the automatic logic. If that parameter = 0,
26 then gasp value 15 should be applied across the entire range. If the
27 parameter > 0, then up to that parameter value the gasp value 7 should be
28 applied, and gasp value 15 should be applied above.
30 create a separate blue zone class for `i' and `j':
31 . if the values differ more than a given threshold, handle them
33 . otherwise, unify them with `f' and friends.
35 control the characters used for blue zones
38 user-defined blue zones?
41 control the width of blue zones
43 add control over character ranges which define a script; in particular, add
46 handle normal and bold fonts differently; cf. Infinality patches;
47 this should help avoid filling of bowls (like in `e') for bold shapes.
49 help font families harmonize well so that e.g. x height and stem width
52 control the minimum stem width
54 try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
57 make switching between smooth and strong hinting dependent on user-defined
60 improve `pre-hinting' by making the used PPEM value configurable
62 allow hinting of single glyphs, using a config file which holds the global
65 better handling of `incomplete' fonts (this is, fonts which lack the minimum
66 set of glyphs necessary to determine the blue zones)
72 reject fonts which are `hopeless' (for example, `Lipstick')
74 correctly set `lowestRecPPEM' field in `head'
78 apply hinting in x direction also?
79 -> warper: shifting with and without scaling
80 -> `standard' autofit hinting
82 add a config and/or command file for batch handling
84 warn against overwrite of output file in TTY mode?
86 reduce output size of option -p:
87 1. compare outline rendered at EM value with unhinted outline
88 2. pre-hint only if 1. differs more than given threshold (default 0.5%?)
90 make it possible to hint fonts which aren't alphabetic at all, for example,
91 icons; to do so, provide means to skip the global feature analysis
93 better control -i output
95 allow processing of multiple files by using globs as in the Midnight
98 allow composite fonts already processed by ttfautohint to be processed
99 again (due to option `hint-with-components' this isn't urgent)
101 make ttfautohint remember options:
102 1. collect md5 checksums in a `~/.ttfautohint_history' file so that fonts
103 can be re-processed easily, using the same parameters
104 2. if fonts already processed by ttfautohint can be re-processed (which
105 isn't possible yet), parse the `version' string for parameters
107 implement (sort of) the opposite of -x, this is, decrease the x height
113 add CJK autohinting module
114 add Hebrew autohinting module
116 instead of emitting bytecode, write the hints as a VTT or FontLab script
118 Windows/Mac installer
124 testing with Windows and Apple font checkers
126 man page for ttfautohint library
130 add help2man script so that parallel builds always work