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