5 add instruction to adjust blue zones for a given script & feature
6 combination, at a given size, for example
8 latn dflt blue 1 0 0 0 -1 0 @ 12, 13
10 to vertically increase the first blue zone by 1 pixel and vertically
11 decrease the fifth blue zone by one pixel, at both sizes 12 and 13ppem
12 (this would use the CDELTA bytecode instruction)
14 add features to the GUI
15 -> direct control over `actions'
16 -> preview similar to ftgrid
17 -> autocompletion of file names with tab key
19 control `gasp' table; Adam Twardoch suggest the following:
21 1. Calculate "gaspstem", i.e. the most common thickness of horizontal
22 stems (y direction distances) for lowercase Latin letters.
23 2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
24 entire range (rangeMaxPPEM 0xFFFF, value 15)
25 3. Else, calculate gaspthreshold as follows:
26 ceil(1.33 * upm / gaspstem) - 1
27 4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
28 gaspthreshold, value 7), and apply symmetric smoothing above.
30 In addition, ttfautohint should provide a commandline parameter that
31 allows the user to override the automatic logic. If that parameter = 0,
32 then gasp value 15 should be applied across the entire range. If the
33 parameter > 0, then up to that parameter value the gasp value 7 should be
34 applied, and gasp value 15 should be applied above.
36 create a separate blue zone class for `i' and `j':
37 . if the values differ more than a given threshold, handle them
39 . otherwise, unify them with `f' and friends.
41 user-defined blue zones?
44 control the width of blue zones
46 add control over character ranges that define a script; in particular, add
49 control the minimum stem width
51 try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
54 make switching between smooth and strong hinting dependent on user-defined
57 improve `adjust-subglyphs' by making the used PPEM value configurable
59 allow hinting of single glyphs, using a config file that holds the global
62 better handling of `incomplete' fonts (this is, fonts that lack the minimum
63 set of glyphs necessary to determine the blue zones)
65 add second-pass analysis to improve positioning of composite glyphs
67 introduce a new control instructions command to apply a given delta to a
74 add a glossary to the documentation
76 reject fonts that are `hopeless' (for example, `Lipstick')
78 correctly set `lowestRecPPEM' field in `head'
82 apply hinting in x direction also?
83 -> warper: shifting with and without scaling
84 -> `standard' autofit hinting
86 add a config and/or command file for batch handling
88 warn against overwrite of output file in command-line mode?
90 reduce output size of option -p:
91 1. compare outline rendered at EM value with unhinted outline
92 2. adjust subglyphs only if result of item 1 differs more than given
93 threshold (default 0.5%?)
95 better control of -i output
97 allow processing of multiple files by using globs as in the Midnight
100 allow composite fonts already processed by ttfautohint to be processed
101 again (due to option `hint-composites' this isn't urgent)
103 make ttfautohint remember options:
104 1. collect md5 checksums in a `~/.ttfautohint_history' file so that fonts
105 can be re-processed easily, using the same parameters
106 2. if fonts already processed by ttfautohint can be re-processed (which
107 isn't possible yet), parse the `version' string for parameters
109 implement (sort of) the opposite of -x, this is, decrease the x height
115 add CJK autohinting module
117 instead of emitting bytecode, write the hints as a VTT or FontLab script
119 Windows/Mac installer
125 testing with Windows and Apple font checkers
127 man page for ttfautohint library
129 add help2man script so that parallel builds always work