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