File: TODO

package info (click to toggle)
ttfautohint 1.6-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 8,504 kB
  • ctags: 4,347
  • sloc: ansic: 38,386; sh: 5,749; cpp: 4,131; perl: 340; makefile: 309; sed: 39
file content (133 lines) | stat: -rw-r--r-- 4,079 bytes parent folder | download
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
132
133

important improvements
----------------------

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

handle normal and bold fonts differently; cf. Infinality patches;
  this should help avoid filling of bowls (like in `e') for bold shapes.

help font families harmonize well so that e.g. x height and stem width
  change synchronously

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%?)

make it possible to hint fonts that aren't alphabetic at all, for example,
  icons; to do so, provide means to skip the global feature analysis

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

install library

add help2man script so that parallel builds always work

EOF