1TTFAUTOHINT(1) User Commands TTFAUTOHINT(1)
2
3
4
6 ttfautohint - add new, auto-generated hints to a TrueType font
7
9 ttfautohint [OPTION]... [IN-FILE [OUT-FILE]]
10
12 Replace hints in TrueType font IN-FILE and write output to OUT-FILE.
13 If OUT-FILE is missing, standard output is used instead; if IN-FILE is
14 missing also, standard input and output are used.
15
16 The new hints are based on FreeType's auto-hinter.
17
18 This program is a simple front-end to the `ttfautohint' library.
19
20 Long options can be given with one or two dashes, and with and without
21 equal sign between option and argument. This means that the following
22 forms are acceptable: `-foo=bar', `--foo=bar', `-foo bar', `--foo bar'.
23
24 Mandatory arguments to long options are mandatory for short options
25 too.
26
28 --debug
29 print debugging information
30
31 -a, --stem-width-mode=S
32 select stem width mode for grayscale, GDI ClearType, and DW
33 ClearType, where S is a string of three letters with possible
34 values `n' for natural, `q' for quantized, and `s' for strong
35 (default: qsq)
36
37 -c, --composites
38 hint glyph composites also
39
40 -d, --dehint
41 remove all hints
42
43 -D, --default-script=S
44 set default OpenType script (default: latn)
45
46 -f, --fallback-script=S
47 set fallback script (default: none)
48
49 -F, --family-suffix=S
50 append suffix to the family name string(s) in the `name' table
51
52 -G, --hinting-limit=N
53 switch off hinting above this PPEM value (default: 200); value 0
54 means no limit
55
56 -h, --help
57 display this help and exit
58
59 -H, --fallback-stem-width=N
60 set fallback stem width (default: 50 font units at 2048 UPEM)
61
62 -i, --ignore-restrictions
63 override font license restrictions
64
65 -I, --detailed-info
66 add detailed ttfautohint info to the version string(s) in the
67 `name' table
68
69 -l, --hinting-range-min=N
70 the minimum PPEM value for hint sets (default: 8)
71
72 -m, --control-file=FILE
73 get control instructions from FILE
74
75 -n, --no-info
76 don't add ttfautohint info to the version string(s) in the
77 `name' table
78
79 -p, --adjust-subglyphs
80 handle subglyph adjustments in exotic fonts
81
82 -r, --hinting-range-max=N
83 the maximum PPEM value for hint sets (default: 50)
84
85 -R, --reference=FILE
86 derive blue zones from reference font FILE
87
88 -s, --symbol
89 input is symbol font
90
91 -S, --fallback-scaling
92 use fallback scaling, not hinting
93
94 -t, --ttfa-table
95 add TTFA information table
96
97 -T, --ttfa-info
98 display TTFA table in IN-FILE and exit
99
100 -v, --verbose
101 show progress information
102
103 -V, --version
104 print version information and exit
105
106 -W, --windows-compatibility
107 add blue zones for `usWinAscent' and `usWinDescent' to avoid
108 clipping
109
110 -x, --increase-x-height=N
111 increase x height for sizes in the range 6<=PPEM<=N; value 0
112 switches off this feature (default: 14)
113
114 -X, --x-height-snapping-exceptions=STRING
115 specify a comma-separated list of x-height snapping exceptions,
116 for example "-9, 13-17, 19" (default: "")
117
118 -Z, --reference-index=N
119 face index of reference font (default: 0)
120
121 The program accepts both TTF and TTC files as input. Use option -i
122 only if you have a legal permission to modify the font. The used PPEM
123 value for option -p is FUnits per em, normally 2048. With option -s,
124 use default values for standard stem width and height, otherwise they
125 are derived from script-specific characters resembling the shape of
126 character `o'.
127
128 A hint set contains the optimal hinting for a certain PPEM value; the
129 larger the hint set range (as given by options -l and -r), the more
130 hint sets get computed, usually increasing the output font size. The
131 `gasp' table of the output file always enables grayscale hinting for
132 all sizes (limited by option -G, which is handled in the bytecode).
133 Increasing the value of -G does not increase the output font size.
134
135 Options -f and -D take a four-letter string that identifies a script.
136 Option -f sets the script used as a fallback for glyphs that can't be
137 associated with a known script. By default, such glyphs are hinted; if
138 option -S is set, they are scaled only instead. Option -D sets the de‐
139 fault script for handling OpenType features.
140
141 Possible four-letter string values are
142
143 adlm (Adlam), arab (Arabic), armn (Armenian), avst (Avestan),
144 bamu (Bamum), beng (Bengali), buhd (Buhid), cakm (Chakma), cans
145 (Canadian Syllabics), cari (Carian), cher (Cherokee), copt (Cop‐
146 tic), cprt (Cypriot), cyrl (Cyrillic), deva (Devanagari), dsrt
147 (Deseret), ethi (Ethiopic), geor (Georgian (Mkhedruli)), geok
148 (Georgian (Khutsuri)), glag (Glagolitic), goth (Gothic), grek
149 (Greek), gujr (Gujarati), guru (Gurmukhi), hebr (Hebrew), hmnp
150 (Nyiakeng Puachue Hmong), kali (Kayah Li), khmr (Khmer), khms
151 (Khmer Symbols), knda (Kannada), lao (Lao), latn (Latin), latb
152 (Latin Subscript Fallback), latp (Latin Superscript Fallback),
153 lisu (Lisu), mlym (Malayalam), medf (Medefaidrin), mong (Mongo‐
154 lian), mymr (Myanmar), nkoo (N'Ko), olck (Ol Chiki), orkh (Old
155 Turkic), osge (Osage), osma (Osmanya), rohg (Hanifi Rohingya),
156 saur (Saurashtra), shaw (Shavian), sinh (Sinhala), sund (Sun‐
157 danese), taml (Tamil), tavt (Tai Viet), telu (Telugu), tfng (Ti‐
158 finagh), thai (Thai), vaii (Vai), yezi (Yezidi), none (no
159 script).
160
161 A control instructions file contains entries of the form
162
163 [<font idx>] <script> <feature> @ <glyph ids>
164
165 [<font idx>] <script> <feature> w <stem widths>
166
167 [<font idx>] <glyph id> l|r <points> [(<left offset>,<right off‐
168 set>)]
169
170 [<font idx>] <glyph id> n <points>
171
172 [<font idx>] <glyph id> t|p <points> [x <shift>] [y <shift>] @
173 <ppems>
174
175 <font idx> is the current subfont, <glyph id> is a glyph name or index,
176 <glyph ids> is a set of <glyph id>s, <stem widths> is an unordered set
177 of integer stem widths in font units, <shift> is a real number in px,
178 <points> and <ppems> are integer ranges as with option `-X'.
179
180 <script> and <feature> are four-letter tags that define a style the
181 <glyph ids> are assigned to; possible values for <script> are the same
182 as with option -D, possible values for <feature> are
183
184 c2cp (petite capitals from capitals), c2sc (small capitals from
185 capitals), ordn (ordinals), pcap (petite capitals), ruby (ruby),
186 sinf (scientific inferiors), smcp (small capitals), subs (sub‐
187 script), sups (superscript), titl (titling).
188
189 `w' assigns stem widths to a style; the first value sets the default.
190 `l' (`r') creates one-point segments with direction left (right).
191 <left offset> and <right offset> specify offsets (in font units) rela‐
192 tive to the corresponding points to give the segments a length. `n'
193 removes points from horizontal segments, making them `weak' points.
194 `t' (`p') applies delta exceptions to the given points before (after)
195 IUP.
196
197 `#' starts a line comment, which gets ignored. Empty lines are ig‐
198 nored, too.
199
200 Key letters `l', `r', `n', `p', `t', `w', `x', and `y' have the verbose
201 aliases `left', `right', `nodir', `point', `touch', `width', `xshift',
202 and `yshift', respectively.
203
204 A GUI version of this program is called `ttfautohintGUI'.
205
207 Report bugs to: freetype-devel@nongnu.org
208
209 ttfautohint home page: <https://www.freetype.org/ttfautohint>
210
212 Copyright © 2011-2021 Werner Lemberg <wl@gnu.org>. License: FreeType
213 License (FTL) or GNU GPLv2.
214 This is free software: you are free to change and redistribute it.
215 There is NO WARRANTY, to the extent permitted by law.
216
217
218
219ttfautohint 1.8.4 August 2021 TTFAUTOHINT(1)