-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO
131 lines (85 loc) · 3.95 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
important improvements
----------------------
add instruction to adjust blue zones for a given script & feature
combination, at a given size, for example
latn dflt blue 1 0 0 0 -1 0 @ 12, 13
to vertically increase the first blue zone by 1 pixel and vertically
decrease the fifth blue zone by one pixel, at both sizes 12 and 13ppem
(this would use the CDELTA bytecode instruction)
add features to the GUI
-> direct control over `actions'
-> preview similar to ftgrid
-> autocompletion of file names with tab key
control `gasp' table; Adam Twardoch suggest the following:
1. Calculate "gaspstem", i.e. the most common thickness of horizontal
stems (y direction distances) for lowercase Latin letters.
2. If gaspstem <= 0.03 * upm, apply gasp symmetric smoothing across the
entire range (rangeMaxPPEM 0xFFFF, value 15)
3. Else, calculate gaspthreshold as follows:
ceil(1.33 * upm / gaspstem) - 1
4. Apply no symmetric smoothing up to the gaspthreshold ppem (rangeMaxPPEM
gaspthreshold, value 7), and apply symmetric smoothing above.
In addition, ttfautohint should provide a commandline parameter that
allows the user to override the automatic logic. If that parameter = 0,
then gasp value 15 should be applied across the entire range. If the
parameter > 0, then up to that parameter value the gasp value 7 should be
applied, and gasp value 15 should be applied above.
create a separate blue zone class for `i' and `j':
. if the values differ more than a given threshold, handle them
separately
. otherwise, unify them with `f' and friends.
user-defined blue zones?
-> old-style digits
control the width of blue zones
add control over character ranges that define a script; in particular, add
support for the PUA
control the minimum stem width
try to `embolden' fonts at small sizes to avoid drop-outs; cf. Infinality
patches
make switching between smooth and strong hinting dependent on user-defined
ranges
improve `adjust-subglyphs' by making the used PPEM value configurable
allow hinting of single glyphs, using a config file that holds the global
settings
better handling of `incomplete' fonts (this is, fonts that lack the minimum
set of glyphs necessary to determine the blue zones)
add second-pass analysis to improve positioning of composite glyphs
introduce a new control instructions command to apply a given delta to a
whole contour
minor improvements
------------------
add a glossary to the documentation
reject fonts that are `hopeless' (for example, `Lipstick')
correctly set `lowestRecPPEM' field in `head'
control dropout mode
apply hinting in x direction also?
-> warper: shifting with and without scaling
-> `standard' autofit hinting
add a config and/or command file for batch handling
warn against overwrite of output file in command-line mode?
reduce output size of option -p:
1. compare outline rendered at EM value with unhinted outline
2. adjust subglyphs only if result of item 1 differs more than given
threshold (default 0.5%?)
better control of -i output
allow processing of multiple files by using globs as in the Midnight
Commander?
allow composite fonts already processed by ttfautohint to be processed
again (due to option `hint-composites' this isn't urgent)
make ttfautohint remember options:
1. collect md5 checksums in a `~/.ttfautohint_history' file so that fonts
can be re-processed easily, using the same parameters
2. if fonts already processed by ttfautohint can be re-processed (which
isn't possible yet), parse the `version' string for parameters
implement (sort of) the opposite of -x, this is, decrease the x height
later enhancements
------------------
add CJK autohinting module
instead of emitting bytecode, write the hints as a VTT or FontLab script
Windows/Mac installer
various
-------
testing with Windows and Apple font checkers
man page for ttfautohint library
add help2man script so that parallel builds always work
EOF