[doc] Update to jquery-1.11.2.
[ttfautohint.git] / TODO
1
2 important improvements
3 ----------------------
4
5 add features to the GUI
6   -> direct control over `actions'
7   -> preview similar to ftgrid
8   -> autocompletion of file names with tab key
9
10 control `gasp' table; Adam Twardoch suggest the following:
11
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.
20
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.
26
27 create a separate blue zone class for `i' and `j':
28   . if the values differ more than a given threshold, handle them
29     separately
30   . otherwise, unify them with `f' and friends.
31
32 user-defined blue zones?
33   -> old-style digits
34
35 control the width of blue zones
36
37 add control over character ranges which define a script; in particular, add
38   support for the PUA
39
40 handle normal and bold fonts differently; cf. Infinality patches;
41   this should help avoid filling of bowls (like in `e') for bold shapes.
42
43 help font families harmonize well so that e.g. x height and stem width
44   change synchronously
45
46 control the minimum stem width
47
48 try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
49   patches
50
51 make switching between smooth and strong hinting dependent on user-defined
52   ranges
53
54 improve `adjust-subglyphs' by making the used PPEM value configurable
55
56 allow hinting of single glyphs, using a config file which holds the global
57   settings
58
59 better handling of `incomplete' fonts (this is, fonts which lack the minimum
60   set of glyphs necessary to determine the blue zones)
61
62 add second-pass analysis to improve positioning of composite glyphs
63
64
65 minor improvements
66 ------------------
67
68 reject fonts which are `hopeless' (for example, `Lipstick')
69
70 correctly set `lowestRecPPEM' field in `head'
71
72 control dropout mode
73
74 apply hinting in x direction also?
75   -> warper: shifting with and without scaling
76   -> `standard' autofit hinting
77
78 add a config and/or command file for batch handling
79
80 warn against overwrite of output file in TTY mode?
81
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%?)
86
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
89
90 better control of -i output
91
92 allow processing of multiple files by using globs as in the Midnight
93   Commander?
94
95 allow composite fonts already processed by ttfautohint to be processed
96   again (due to option `hint-composites' this isn't urgent)
97
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
103
104 implement (sort of) the opposite of -x, this is, decrease the x height
105
106
107 later enhancements
108 ------------------
109
110 add CJK autohinting module
111
112 instead of emitting bytecode, write the hints as a VTT or FontLab script
113
114 Windows/Mac installer
115
116
117 various
118 -------
119
120 testing with Windows and Apple font checkers
121
122 man page for ttfautohint library
123
124 install library
125
126 add help2man script so that parallel builds always work
127
128 EOF