Scroll to navigation



ttfautohintGUI - add new, auto-generated hints to a TrueType font


ttfautohintGUI [OPTION]...


A GUI application to replace hints in a TrueType font.

The new hints are based on FreeType's auto-hinter.

This program is a simple front-end to the `ttfautohint' library.

Long options can be given with one or two dashes, and with and without equal sign between option and argument. This means that the following forms are acceptable: `-foo=bar', `--foo=bar', `-foo bar', `--foo bar'.

Mandatory arguments to long options are mandatory for short options too. Options not related to Qt or X11 set default values.


-a, --stem-width-mode=S
select stem width mode for grayscale, GDI ClearType, and DW ClearType, where S is a string of three letters with possible values `n' for natural, `q' for quantized, and `s' for strong (default: qsq)
-c, --composites
hint glyph composites also
-d, --dehint
remove all hints
-D, --default-script=S
set default OpenType script (default: latn)
-f, --fallback-script=S
set fallback script (default: none)
-F, --family-suffix=S
append suffix to the family name string(s) in the `name' table
-G, --hinting-limit=N
switch off hinting above this PPEM value (default: 200); value 0 means no limit
-h, --help
display this help and exit
-H, --fallback-stem-width=N
set fallback stem width (default: 50 font units at 2048 UPEM)
show Qt and X11 specific options also
-i, --ignore-restrictions
override font license restrictions
-I, --detailed-info
add detailed ttfautohint info to the version string(s) in the `name' table
-l, --hinting-range-min=N
the minimum PPEM value for hint sets (default: 8)
-n, --no-info
don't add ttfautohint info to the version string(s) in the `name' table
-p, --adjust-subglyphs
handle subglyph adjustments in exotic fonts
-r, --hinting-range-max=N
the maximum PPEM value for hint sets (default: 50)
-s, --symbol
input is symbol font
-S, --fallback-scaling
use fallback scaling, not hinting
-t, --ttfa-table
add TTFA information table
-v, --verbose
show progress information
-V, --version
print version information and exit
-W, --windows-compatibility
add blue zones for `usWinAscent' and `usWinDescent' to avoid clipping
-x, --increase-x-height=N
increase x height for sizes in the range 6<=PPEM<=N; value 0 switches off this feature (default: 14)
-X, --x-height-snapping-exceptions=STRING
specify a comma-separated list of x-height snapping exceptions, for example "-9, 13-17, 19" (default: "")

Qt Options:

set layout direction to right-to-left
set application GUI style (available values like `windows' or `gtk' depend on Qt version and installed plug-ins)
apply the given Qt stylesheet to the application widgets

The program accepts both TTF and TTC files as input. Use option -i only if you have a legal permission to modify the font. The used PPEM value for option -p is FUnits per em, normally 2048. With option -s, use default values for standard stem width and height, otherwise they are derived from script-specific characters resembling the shape of character `o'.

A hint set contains the optimal hinting for a certain PPEM value; the larger the hint set range (as given by options -l and -r), the more hint sets get computed, usually increasing the output font size. The `gasp' table of the output file always enables grayscale hinting for all sizes (limited by option -G, which is handled in the bytecode). Increasing the value of -G does not increase the output font size.

Options -f and -D take a four-letter string that identifies a script. Option -f sets the script used as a fallback for glyphs that can't be associated with a known script. By default, such glyphs are hinted; if option -S is set, they are scaled only instead. Option -D sets the default script for handling OpenType features.

Possible four-letter string values are

adlm (Adlam), arab (Arabic), armn (Armenian), avst (Avestan), bamu (Bamum), beng (Bengali), buhd (Buhid), cakm (Chakma), cans (Canadian Syllabics), cari (Carian), cher (Cherokee), copt (Coptic), cprt (Cypriot), cyrl (Cyrillic), deva (Devanagari), dsrt (Deseret), ethi (Ethiopic), geor (Georgian (Mkhedruli)), geok (Georgian (Khutsuri)), glag (Glagolitic), goth (Gothic), grek (Greek), gujr (Gujarati), guru (Gurmukhi), hebr (Hebrew), kali (Kayah Li), khmr (Khmer), khms (Khmer Symbols), knda (Kannada), lao (Lao), latn (Latin), latb (Latin Subscript Fallback), latp (Latin Superscript Fallback), lisu (Lisu), mlym (Malayalam), mong (Mongolian), mymr (Myanmar), nkoo (N'Ko), olck (Ol Chiki), orkh (Old Turkic), osge (Osage), osma (Osmanya), saur (Saurashtra), shaw (Shavian), sinh (Sinhala), sund (Sundanese), taml (Tamil), tavt (Tai Viet), telu (Telugu), tfng (Tifinagh), thai (Thai), vaii (Vai), none (no script).

A command-line version of this program is called `ttfautohint'.


Report bugs to:

ttfautohint home page: <>


Copyright © 2011-2019 Werner Lemberg <>. License: FreeType License (FTL) or GNU GPLv2.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
April 2019 ttfautohintGUI 1.8.3