4 write a platform-independent GUI
5 -> direct control over `actions'
6 -> preview similar to ftgrid
10 ----------------------
12 improve handling of GDI ClearType by snapping to the pixel grid (this is,
13 integer coordinates of horizontal segments)
18 control `gasp' table; Adam Twardoch suggest the following:
20 1. Calculate "gaspstem", i.e. the most common thickness of horizontal
21 stems (y direction distances) for lowercase Latin letters.
22 2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
23 entire range (rangeMaxPPEM 0xFFFF, value 15)
24 3. Else, calculate gaspthreshold as follows:
25 ceil(1.33 * upm / gaspstem) - 1
26 4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
27 gaspthreshold, value 7), and apply symmetric smoothing above.
29 In addition, ttfautohint should provide a commandline parameter that
30 allows the user to override the automatic logic. If that parameter = 0,
31 then gasp value 15 should be applied across the entire range. If the
32 parameter > 0, then up to that parameter value the gasp value 7 should be
33 applied, and gasp value 15 should be applied above.
35 disable hinting at large ppem values (> ~2000) to avoid numeric overflows
37 control activation threshold of blue zone widths
39 control the width of blue zones
41 handle normal and bold fonts differently; cf. Infinality patches
42 Maybe an option `never shrink the glyphs vertically'? This should help
43 avoid filling of bowls (like in `e') for bold shapes.
45 control the minimum stem width
47 try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
50 implement `x-height-snapping-exceptions'
51 cf. the `never shrink the glyph vertically' idea above
53 improve `pre-hinting' by making the used PPEM value configurable
55 allow hinting of single glyphs, using a config file which holds the global
58 better handling of `incomplete' fonts (this is, fonts which lack the minimum
59 set of glyphs necessary to determine the blue zones)
65 correctly set `lowestRecPPEM' field in `head'
69 apply hinting in x direction also?
70 -> warper: shifting with and without scaling
71 -> `standard' autofit hinting
73 try to reduce size of hints by handling strong points separately
75 add a config and/or command file for batch handling
77 warn against overwrite of output file?
79 reduce output size of option -p:
80 1. compare outline rendered at EM value with unhinted outline
81 2. pre-hint only if 1. differs more than given threshold (default 0.5%?)
87 add CJK autohinting module
88 add Hebrew autohinting module
90 instead of emitting bytecode, write the hints as a VTT or FontLab script
98 testing with Windows font checker
100 man page for ttfautohint library
103 add GNU copyright exception so that created fonts don't inherit the GPL
105 add notice to font that it has been processed by ttfautohint