Provided by: fontmake_3.10.0-2_all bug

NAME

       fontmake - compile fonts from UFO or Glyphs to OTF/TTF

DESCRIPTION

       usage: fontmake [-h] [--version] [-g GLYPHS | -u UFO [UFO ...] |

              -m  DESIGNSPACE]  [--glyph-data  GLYPHDATA]  [-o FORMAT [FORMAT ...]] [--output-path OUTPUT_PATH |
              --output-dir OUTPUT_DIR] [-i  [INSTANCE_NAME]]  [--variable-fonts  [VARIABLE_FONT_FILENAME]]  [-M]
              [--family-name     FAMILY_NAME]    [--round-instances]    [--designspace-path    DESIGNSPACE_PATH]
              [--master-dir    MASTER_DIR]    [--instance-dir    INSTANCE_DIR]     [--no-write-skipexportglyphs]
              [--validate-ufo]            [--check-compatibility           |           --no-check-compatibility]
              [--expand-features-to-instances]    [--fea-include-dir    FEA_INCLUDE_DIR]    [--no-generate-GDEF]
              [--save-ufo-as-zip   |   --ufo-structure   {package,zip,json}]  [--indent-json]  [--keep-overlaps]
              [--overlaps-backend BACKEND] [--keep-direction] [--ttf-curves  {cu2qu,mixed,keep-quad,keep-cubic}]
              [-e  ERROR]  [-f] [-a [AUTOHINT]] [-A] [--cff-round-tolerance FLOAT] [--optimize-cff OPTIMIZE_CFF]
              [--subroutinizer      {compreffor,cffsubr}]      [--no-optimize-gvar]       [--filter       CLASS]
              [--no-auto-use-my-metrics]  [--drop-implied-oncurves]  [--interpolate-binary-layout  [MASTER_DIR]]
              [--feature-writer  CLASS]  [--debug-feature-file  FILE]   [--no-variable-features]   [--mti-source
              MTI_SOURCE]  [--production-names  |  --no-production-names]  [--subset  |  --no-subset]  [-s | -S]
              [--timing] [--verbose LEVEL] [INPUTS ...]

   options:
       -h, --help
              show this help message and exit

       --version
              show program's version number and exit

       --production-names
              Rename glyphs with production names if available otherwise use uninames.

       --no-production-names

       --subset
              Subset font using export flags set by glyphsLib

       --no-subset

       -s, --subroutinize
              Optimize CFF table using compreffor (default) [DEPRECATED: use --optimize-cff option instead]

       -S, --no-subroutinize

   Input arguments (flags):
              The following arguments are mutually exclusive (pick only one):

       -g, --glyphs-path GLYPHS
              Path to .glyphs source file

       -u, --ufo-paths UFO [UFO ...]
              One or more paths to UFO files

       -m, --mm-designspace DESIGNSPACE
              Path to .designspace file

   Input arguments (positonal):
              Alternatively, guess source format from filename extension

       INPUTS Either one *.designspace or *.glyphs file, or one or more *.ufo

   Other input arguments:
       --glyph-data GLYPHDATA
              Custom GlyphData XML file with glyph info (production name, script, category, subCategory,  etc.).
              Can be used more than once (for Glyphs sources only).

   Output arguments:
       -o, --output FORMAT [FORMAT ...]
              Output  font  formats.  Choose  1  or  more  from:  ufo,  otf,  otf-cff2, ttf, ttf-interpolatable,
              otf-interpolatable, variable, variable-cff2. Default: otf, ttf. (No file paths).

       --output-path OUTPUT_PATH
              Output font file path. Only valid when the output is a single file (e.g. input is a single UFO  or
              output is a single variable font)

       --output-dir OUTPUT_DIR
              Output  folder.  By default, output folders are created in the current working directory, grouping
              output fonts by format.

       -i, --interpolate [INSTANCE_NAME]
              Interpolate masters and generate all  the  instances  defined.  To  only  interpolate  a  specific
              instance  (or  instances)  that  match a given "name" attribute, you can pass as argument the full
              instance name or a regular expression. E.g.: -i "Noto Sans Bold"; or -i ".*  UI  Condensed".  (for
              Glyphs or DesignSpace sources only).

       --variable-fonts [VARIABLE_FONT_FILENAME]
              Filter  the list of variable fonts produced from the input Designspace file. By default all listed
              variable fonts are generated. To generate a specific variable font (or variable fonts) that  match
              a  given "filename" attribute, you can pass as argument the full filename or a regular expression.
              E.g.: --variable-fonts "MyFontVF_WeightOnly.ttf"; or --variable-fonts "MyFontVFItalic_.*.ttf".

       -M, --masters-as-instances
              Output masters as instances

       --family-name FAMILY_NAME
              Family name to use for masters, and to filter output instances

       --round-instances
              Apply integer rounding to all geometry when interpolating

       --designspace-path DESIGNSPACE_PATH
              Path to output designspace file (for Glyphs sources only).

       --master-dir MASTER_DIR
              Directory where to write master UFO. Default: "./master_ufo". If value  is  "{tmp}",  a  temporary
              directory is created and removed at the end (for Glyphs sources only).

       --instance-dir INSTANCE_DIR
              Directory  where  to  write  instance  UFOs.  Default:  "./instance_ufo".  If  value is "{tmp}", a
              temporary directory is created and removed at the end (for Glyphs sources only).

       --no-write-skipexportglyphs
              Do not store the glyph export flags in the 'public.skipExportGlyphs' key of  designspace/UFO  lib,
              but  use  the  old private glyph lib key 'com.schriftgestaltung.Glyphs.Export' (for Glyphs sources
              only).

       --validate-ufo
              Enable ufoLib validation on reading/writing UFO files.  It is disabled by default

       --check-compatibility
              Check if the source files are interpolatable. It is disabled by default, but enabled when building
              variable fonts or what the 'Enforce Compatibility Check' custom parameter is set on a Glyphs file

       --no-check-compatibility
              Turns off the compatibility checker even when building variable fonts

       --expand-features-to-instances
              Resolves all include()s in the master feature file  and  writes  the  full  feature  file  to  all
              instance  UFOs.   Only  valid  when  interpolating.  Use  if you share feature files of masters in
              external files, as instances can end up elsewhere.

       --fea-include-dir FEA_INCLUDE_DIR
              Overrides the default directory where to search for included feature files  with  relative  paths.
              This only works when the input is a Designspace or UFOs, not from Glyphs at the moment.

       --no-generate-GDEF
              Do not auto-generate a GDEF table, but keep an existing one intact.

       --save-ufo-as-zip
              Deprecated. Use --ufo-structure=zip instead.

       --ufo-structure {package,zip,json}
              Select  UFO  format  structure.  Choose between: package, zip, json (default: package). NOTE: json
              export is unofficial/experimental.

       --indent-json
              Whether to format the JSON files created with --ufostructure=json as multiple lines  with  2-space
              indentation. Default: single line, no indent.

   Handling of contours:
       --keep-overlaps
              Do not remove any overlap.

       --overlaps-backend BACKEND
              Select   library   to  remove  overlaps.  Choose  between:  booleanOperations,  pathops  (default:
              booleanOperations)

       --keep-direction
              Do not reverse contour direction when output is ttf or ttf-interpolatable

       --ttf-curves {cu2qu,mixed,keep-quad,keep-cubic}
              Controls conversion of cubic B??zier curves to TrueType quadratic splines. By  default  ('cu2qu'),
              all  cubics  are converted to quadratic (glyf v0). With 'mixed', cubics are converted to quadratic
              only when more economical. If 'keep-quad' or 'keep-cubic', cu2qu is skipped altogether and  curves
              are compiled unchanged.  NOTE: cubics in TTF use glyf v1 which is still draft!

       -e, --conversion-error ERROR
              Maximum approximation error for cubic to quadratic conversion measured in EM

       -f, --flatten-components
              Flatten nested components to single level.

       -a, --autohint [AUTOHINT]
              Run  ttfautohint.  Can  provide arguments, quoted. By default, ttfautohint is run if the (.glyphs)
              source contains a 'TTFAutohint options' instance custom parameter. This option overrides that. See
              --noautohint to disable.

       -A, --no-autohint
              Do not run ttfautohint, even if source contains a 'TTFAutohint options' custom parameter

       --cff-round-tolerance FLOAT
              Restrict rounding of point coordinates in CFF table to only those floats whose absolute difference
              from their integral part is less than or equal to the  tolerance.   By  default,  all  floats  are
              rounded to integer (tolerance 0.5); 0 disables rounding.

       --optimize-cff OPTIMIZE_CFF
              0 disables all optimizations; 1 specializes the CFF charstring operators; 2 (default) also enables
              subroutinization

       --subroutinizer {compreffor,cffsubr}
              name  of  the library to use for compressing CFF charstrings. Choose between: compreffor, cffsubr.
              By default compreffor is used for CFF 1, and cffsubr for CFF2. NOTE:  compreffor  doesn't  support
              CFF2.

       --no-optimize-gvar
              Do  not  perform  IUP  optimization  on  variable font's 'gvar' table. (only works with 'variable'
              TrueTypeflavored output)

       --filter CLASS
              string specifying a filter class to load, either built-in or from an external  module,  optionally
              initialized  with  the  given keyword arguments. The class and module names are separated by '::'.
              The option can be repeated multiple times for each filter class. The option overrides the  filters
              specified  in  the  UFO  lib. You can use an ellipsis --filter='...' to keep the latter and insert
              additional --filter(s), either before or after it.

       --no-auto-use-my-metrics
              Don't automatically set USE_MY_METRICS glyf component flags (0x0200).

       --drop-implied-oncurves
              drop on-curve points that can be implied when exactly  in  the  middle  of  two  off-curve  points
              (TrueType only; default: False).

   Handling of OpenType Layout:
       --interpolate-binary-layout [MASTER_DIR]
              Interpolate layout tables from compiled master binaries. Requires Glyphs or DesignSpace source.

       --feature-writer CLASS
              string  specifying  a  feature  writer  class to load, either built-in or from an external module,
              optionally initialized with the given keyword arguments. The class and module names are  separated
              by  '::'.  The  option  can  be  repeated multiple times for each writer class. A special value of
              'None' will disable all automatic feature generation. The option overrides both the default ufo2ft
              writers and those specified in the UFO lib. You can use ellipsis --featurewriter='...' to keep the
              latter and insert additional --feature-writer(s) either before or after those.

       --debug-feature-file FILE
              Path were to dump OpenType features text to  debug  auto-generated  features  (kern,  mark,  mkmk,
              etc.).

       --no-variable-features
              Disable  generation of variable FEA in ufo2ft when compiling VFs; instead build separate OT layout
              tables for each master and merge them with varLib.

       --mti-source MTI_SOURCE
              mtiLib feature definition .plist file path (use instead of FEA)

   Logging arguments:
       --timing
              Print the elapsed time for each steps

       --verbose LEVEL
              Configure the logger verbosity level. Choose  between:  DEBUG,  INFO,  WARNING,  ERROR,  CRITICAL.
              Default: INFO

fontmake 3.10.0                                   January 2025                                       FONTMAKE(1)