Minor bug fix.
[ttfautohint.git] / TODO
Commit [+]AuthorDateLineData
0ff7575a Werner Lemberg2011-09-18 08:17:00 +02001
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +02002important improvements
3----------------------
211adb3e Werner Lemberg2011-06-18 07:12:24 +02004
f7ecc161
WL
Werner Lemberg2012-03-02 06:41:39 +01005add features to the GUI
6 -> direct control over `actions'
7 -> preview similar to ftgrid
494acab7 Werner Lemberg2012-08-21 20:29:20 +02008 -> autocompletion of file names with tab key
f7ecc161 Werner Lemberg2012-03-02 06:41:39 +01009
220c607b
WL
Werner Lemberg2011-10-13 08:55:22 +020010control `gasp' table; Adam Twardoch suggest the following:
11
12 1. Calculate "gaspstem", i.e. the most common thickness of horizontal
d9081f84 Werner Lemberg2011-11-15 08:52:57 +010013 stems (y direction distances) for lowercase Latin letters.
220c607b
WL
Werner Lemberg2011-10-13 08:55:22 +020014 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
08bfe967
WL
Werner Lemberg2012-05-31 08:50:15 +020027create 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
f0dc45a5
WL
Werner Lemberg2012-05-01 07:24:26 +020032user-defined blue zones?
33 -> old-style digits
34
dea8c82e Werner Lemberg2011-10-08 11:26:47 +020035control the width of blue zones
5fd0c35b Werner Lemberg2011-07-15 15:43:31 +020036
8a70bd1c Werner Lemberg2015-01-08 09:40:38 +010037add control over character ranges that define a script; in particular, add
39d17945
WL
Werner Lemberg2012-07-07 19:47:24 +020038 support for the PUA
39
f7ecc161
WL
Werner Lemberg2012-03-02 06:41:39 +010040handle normal and bold fonts differently; cf. Infinality patches;
41 this should help avoid filling of bowls (like in `e') for bold shapes.
a14bbad7 Werner Lemberg2011-06-28 09:20:45 +020042
1aa5ed1e
WL
Werner Lemberg2013-01-27 23:04:51 +010043help font families harmonize well so that e.g. x height and stem width
44 change synchronously
45
c59c807a
WL
Werner Lemberg2011-10-27 21:47:48 +020046control the minimum stem width
47
220c607b
WL
Werner Lemberg2011-10-13 08:55:22 +020048try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
49 patches
50
23635962
WL
Werner Lemberg2012-11-12 12:01:33 +010051make switching between smooth and strong hinting dependent on user-defined
52 ranges
53
27c58dfc Werner Lemberg2014-06-20 07:41:43 +020054improve `adjust-subglyphs' by making the used PPEM value configurable
4f02d02e Werner Lemberg2011-06-30 08:55:04 +020055
8a70bd1c Werner Lemberg2015-01-08 09:40:38 +010056allow hinting of single glyphs, using a config file that holds the global
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +020057 settings
58
8a70bd1c Werner Lemberg2015-01-08 09:40:38 +010059better handling of `incomplete' fonts (this is, fonts that lack the minimum
4823bd6c
WL
Werner Lemberg2011-11-03 13:21:32 +010060 set of glyphs necessary to determine the blue zones)
61
c6790899
WL
Werner Lemberg2014-04-21 08:19:37 +020062add second-pass analysis to improve positioning of composite glyphs
63
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +020064
65minor improvements
66------------------
67
8a70bd1c Werner Lemberg2015-01-08 09:40:38 +010068reject fonts that are `hopeless' (for example, `Lipstick')
ecf06242 Werner Lemberg2012-07-07 11:24:58 +020069
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +020070correctly set `lowestRecPPEM' field in `head'
71
0f091837 Werner Lemberg2012-01-02 09:53:41 +010072control dropout mode
4f02d02e Werner Lemberg2011-06-30 08:55:04 +020073
dea8c82e Werner Lemberg2011-10-08 11:26:47 +020074apply hinting in x direction also?
4cd3aefc
WL
Werner Lemberg2011-08-10 07:27:47 +020075 -> warper: shifting with and without scaling
76 -> `standard' autofit hinting
5fd0c35b Werner Lemberg2011-07-15 15:43:31 +020077
5fd0c35b
WL
Werner Lemberg2011-07-15 15:43:31 +020078add a config and/or command file for batch handling
79
c57ca560 Werner Lemberg2015-05-26 07:35:43 +020080warn against overwrite of output file in command-line mode?
634d7353 Werner Lemberg2011-12-12 07:02:21 +010081
634d7353
WL
Werner Lemberg2011-12-12 07:02:21 +010082reduce output size of option -p:
83 1. compare outline rendered at EM value with unhinted outline
27c58dfc
WL
Werner Lemberg2014-06-20 07:41:43 +020084 2. adjust subglyphs only if result of item 1 differs more than given
85 threshold (default 0.5%?)
634d7353 Werner Lemberg2011-12-12 07:02:21 +010086
8a70bd1c Werner Lemberg2015-01-08 09:40:38 +010087make it possible to hint fonts that aren't alphabetic at all, for example,
7283df6b
WL
Werner Lemberg2012-03-21 18:20:21 +010088 icons; to do so, provide means to skip the global feature analysis
89
bbdd75bc Werner Lemberg2014-01-22 11:00:52 +010090better control of -i output
7314fd7a Werner Lemberg2012-06-06 10:46:30 +020091
64462e07 Werner Lemberg2012-06-13 12:34:12 +020092allow processing of multiple files by using globs as in the Midnight
fefd6bc7 Werner Lemberg2012-11-29 08:12:04 +010093 Commander?
64462e07 Werner Lemberg2012-06-13 12:34:12 +020094
d9cb917d Werner Lemberg2012-07-11 17:36:58 +020095allow composite fonts already processed by ttfautohint to be processed
bbdd75bc Werner Lemberg2014-01-22 11:00:52 +010096 again (due to option `hint-composites' this isn't urgent)
d9cb917d Werner Lemberg2012-07-11 17:36:58 +020097
494acab7
WL
Werner Lemberg2012-08-21 20:29:20 +020098make 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
812b0406
WL
Werner Lemberg2012-09-19 18:06:11 +0200104implement (sort of) the opposite of -x, this is, decrease the x height
105
f8c9fdf0 Werner Lemberg2011-07-15 19:17:39 +0200106
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +0200107later enhancements
108------------------
109
110add CJK autohinting module
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +0200111
112instead of emitting bytecode, write the hints as a VTT or FontLab script
113
114Windows/Mac installer
115
116
117various
118-------
119
f7ecc161 Werner Lemberg2012-03-02 06:41:39 +0100120testing with Windows and Apple font checkers
dea8c82e
WL
Werner Lemberg2011-10-08 11:26:47 +0200121
122man page for ttfautohint library
dea8c82e Werner Lemberg2011-10-08 11:26:47 +0200123
f7ecc161 Werner Lemberg2012-03-02 06:41:39 +0100124install library
d4ae2db0 Werner Lemberg2012-01-31 21:05:56 +0100125
da14615f Werner Lemberg2012-05-10 08:48:56 +0200126add help2man script so that parallel builds always work
4cd3aefc
WL
Werner Lemberg2011-08-10 07:27:47 +0200127
128EOF