TODO update.
[ttfautohint.git] / TODO
blob3b9fa2fa11497bf015b6ae96880c7a4e2e853b82
2 important improvements
3 ----------------------
5 try to reduce size of hints
6   -> handling strong points separately
7   -> `compress' data
8   -> more subroutines to avoid flags
10 add features to the GUI
11   -> direct control over `actions'
12   -> preview similar to ftgrid
14 improve handling of GDI ClearType by snapping to the pixel grid (this is,
15   integer coordinates of horizontal segments)
17 handle OT features
18   -> use HarfBuzz?
20 control `gasp' table; Adam Twardoch suggest the following:
22   1. Calculate "gaspstem", i.e. the most common thickness of horizontal
23      stems (y direction distances) for lowercase Latin letters.
24   2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
25      entire range (rangeMaxPPEM 0xFFFF, value 15)
26   3. Else, calculate gaspthreshold as follows:
27        ceil(1.33 * upm / gaspstem) - 1
28   4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
29      gaspthreshold, value 7), and apply symmetric smoothing above.
31   In addition, ttfautohint should provide a commandline parameter that
32   allows the user to override the automatic logic.  If that parameter = 0,
33   then gasp value 15 should be applied across the entire range.  If the
34   parameter > 0, then up to that parameter value the gasp value 7 should be
35   applied, and gasp value 15 should be applied above.
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   this should help avoid filling of bowls (like in `e') for bold shapes.
44 control the minimum stem width
46 try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
47   patches
49 implement `x-height-snapping-exceptions'
51 improve `pre-hinting' by making the used PPEM value configurable
53 allow hinting of single glyphs, using a config file which holds the global
54   settings
56 better handling of `incomplete' fonts (this is, fonts which lack the minimum
57   set of glyphs necessary to determine the blue zones)
60 minor improvements
61 ------------------
63 correctly set `lowestRecPPEM' field in `head'
65 control dropout mode
67 apply hinting in x direction also?
68   -> warper: shifting with and without scaling
69   -> `standard' autofit hinting
71 add a config and/or command file for batch handling
73 warn against overwrite of output file?
75 reduce output size of option -p:
76   1. compare outline rendered at EM value with unhinted outline
77   2. pre-hint only if 1. differs more than given threshold (default 0.5%?)
79 make it possible to hint fonts which aren't alphabetic at all, for example,
80   icons; to do so, provide means to skip the global feature analysis
83 later enhancements
84 ------------------
86 add CJK autohinting module
87 add Hebrew autohinting module
89 instead of emitting bytecode, write the hints as a VTT or FontLab script
91 Windows/Mac installer
94 various
95 -------
97 testing with Windows and Apple font checkers
99 man page for ttfautohint library
101 separate man pages for ttfautohint and ttfautohintGUI
103 add info about ttfautohint's calling parameters to output font
105 install library