のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

makeotf -h

MakeOTF OpenType/CFF compiler - User Guide | afdko

makeotf -h
makeotf v2.0.94 May 23 2016
-f <input font>      
  Specify input font path. 
  Default is 'font.pfa'.

-o <output font>        
  Specify output font path. 
  Default is '<PostScript-Name>.otf'.

-b                      
  Set style to Bold. 
  Affects style-linking.
  Default is not bold

-nb                     
  Turn off the -b option, 
  if it has previously been turned on.

-i                   
   Set style to Italic.
   Affects style-linking.
  Default is not Italic

-ni                     
  Turn off the -i option, 
  if it has previously been turned on.
-ff <feature file>      
  Specify path to feature file. 
  Default is 'features'.

-fs                    
 If there are no glyph substitution rules 
 in the features file, 
 make a stub GSUB table.

-mf <FontMenuNameDB>    
  Specify path to FontMenuNameDB file. 
  Default is 'FontMenuNameDB'.

-gf <GOADB>             
  Specify path to GlyphOrderAndAliasDB file.
  Default is 'GlyphOrderAndAliasDB'. 
  If this is specified, 
  and the -r or -ga options are NOT specified,
  the effect is to use the Unicode assignments 
  from the third column 
  of the GOADB  file 
  without renaming the glyphs.
-r                     
  Set release mode. 
  This turns on subroutinization,
  applies the GlyphOrderAndAliasDB file, 
  and removes the word "Development" 
  from the name table Version (name.ID=5) string.

-nr                     
  sets the option option -r off,
  if it has been previously set.
-S                     
  Turn on subroutinization, 
  a form of compression 
  of the CFF font data.

-nS                     
  Turn off subroutinzation, 
  if it has previously been turned on.
-maxs <number>          
  Limits the number of subroutines generated 
  by glyph subroutinization 
  to the number. 
  Used for testing with rasterizers 
  that don't process
  subroutinziation correctly.
-ga                  
  Applies the GlyphOrderAndAliasDB file.

-nga                    
  Turn off the -ga option,
  if it has previously been turned on.
-gs                     
  Omit from the font any glyphs 
 not mentioned 
  in the GlyphOrderAndAliasDB file.
  Only works if -ga or -r is set.
-rev [version]        
  Without the optional version number, 
 increments the version number by 5.
 With an integer argument,
  it increments the minor version 
  by that number. 
  With a fractional argument, 
  it sets the version to the fractional argument; 
  the number must then be decimal 
  with three decinal places, 
  e.g. '1.045', not '1.45'.
-oldNameID4             
  Set Windows name.
  ID=4 to the PS name, 
  and Mac  = name.
  ID=4 to Preferred Family + space +
  Preferred Style name, 
  as in all releases of
  MakeOTF before Dec 2010.

-newNameID4             
  Set Windows and Mac name.
  ID=4 to Preferred Family + space + 
  Preferred Style name, 
  as in the current OpenType spec. 
  This is the default behavior, 
  and is needed only to override
  a fontinfo or project file setting.

-osbOn <number>         
  Set a bit to 'on' 
  in the OS/2 table fsSelection field 
  at the specified bit index.

-osbOff <number>        
  Set a bit to 'off' 
  in the OS/2 table fsSelection field 
  at the specified bit index.
  Note: if any of the bits 7,8,9 are set on or off, 
  they must all three be explicitly set. 
  See "New OS/2 Bits" 
  in the "MakeOTFUserGuide.pdf" file.

-osv <number>           
   Set the OS/2 table version to the specified
                        value. Must be greater than 0. If no bits >6
                        are specified for the OS/2 table fsSelection
                        field, then the default version number is 3;
                        else the default is 4.
-addn                   Replace the .notdef glyph in the source data
                        (if any) with a standard notdef glyph,
                        matching font weight and width.
-naddn                  Turn off the -addn option, if it has previously
                        been turned on.
-adds                           If the font is missing any of the Apple Mac
                        Symbol glyphs, create them, matching the font
                        weight and width.
                        Will be disabled for fonts without both a zero
                        and a lowerase 'x'.
-nadds                  Turn off the -adds option, if it has previously
                        been turned on.
-serif                  Specify that any added glyph use the serif
                        built-in multiple master glyph data.
-sans                   Specify that any added glyphs will use the
                        sans-serif built-in multiple master glyph data.
-cs                     Override the heuristics, and specify the
                        ScriptID for the Macintosh 'cmap' subtable;
                        CID-keyed fonts only.
-cl                     Override the heuristics, and specify the
                        LanguageID for the Macintosh 'cmap' subtable;
                        CID-keyed fonts only.
-cm <path>              Path to the Macintosh CMap resource; CID-keyed
                        fonts only.
-ch <path>              Path to the UTF-32 CMap resource for horizontal
                        glyphs; CID-keyed fonts only.
-ci <path>              Path to the Unicode Variation Sequences
                        specification file; if present, a 'cmap'
                        subtable will be added with PlatformID = 0,
                        ScriptID = 5, and Format = 14. See MakeOTF User's Guide.
-dbl                    For a short list of glyphs, double map them to
                        two Unicode values if there is no other glyph
                        mapped from the same Unicode value. This used to
                        be default behaviour for makeotf. The glyph
                        list is as follows:

                        Delta (U+2206, U+0394)
                        Omega (U+2126, U+03A9)
                        Scedilla (U+015E, U+F6C1)
                        Tcommaaccent (U+0162, U+021A)
                        fraction (U+2044, U+2215)
                        hyphen (U+002D, U+00AD)
                        macron (U+00AF, U+02C9)
                        mu (U+00B5, U+03BC)
                        periodcentered (U+00B7, U+2219)
                        scedilla (U+015F, U+F6C2)
                        space (U+0020, U+00A00)
                        tcommaaccent (U+0163, U+021B)

-dcs                    Set OS/2.DefaultChar to the Unicode value for
                        'space' rather than '.notdef'. The latter is
                        correct by the OT spec, but QuarkXPress 6.5
                        requires the former in order to print OTF/CFF
                        fonts.
-fi [<path>]            Path to the fontinfo file. If no path is given,
                        the default is to look for first 'fontinfo', then
                        'cidfontinfo', in the current directory. Used
                        to set some default values. This are
                        overridden by any conflicting settings in the
                        project file and then by command-line options.
                        This option is processed before any others, so
                        if the path is relative, it is relative to the
                        current working directory. All other relative
                        paths are relative so the source font's parent
                        directory.
-fp [<path>]            Path to the project file. If no path is given,
                        the default is 'current.fpr'; If used, it sets
                        default options that can be overridden by
                        command-line options.
-sp [<path>]            Save the current options to the project file
                        named in the "-fp" option; not needed unless
                        you specified a name other than 'current.fpr'.
                        If you supply the optional path argument, then
                        options are saved to that file.
-cn                     As a post-processing step, convert the CFF
                        table to a CID-keyed CFF that specifies the
                        Adobe-Identity-0 ROS. The resulting font
                        should be considered experimental, and may not
                        work in some applicatins.
-ncn                    Turn off converting the CFF table to a CID-keyed
                        CFF that specifies the Adobe-Identity-0 ROS;
                        otherwise has no effect.
-shw/-nshw              Do/Do Not suppress warnings about unhinted glyphs.
                        This is useful when processing unhinted fonts.
-swo/-nswo              Suppress CFF width optimization (use of defaultWidthX
                        and nominalWidthX). Useful when poking at charstrings
                        with other  tools.
-stubCmap4              Build only a "stub" Format 4 'cmap' subtable, with
                        only two segments. This is useful only for special-
                        purpose fonts such as AdobeBlank, whose size is an
                        issue. Windows requires a Format 4 'cmap' subtable
                        to be present, but it is not used.

-omitMacNames/useMacNames   Write only Windows platform menu names in name table,
                        apart from the names specified in the feature file.
                        -useMacNames writes Mac as well as Windows names.

-overrideMenuNames      Allow feature file name table entries to override
                        default values and the values from the font menu name DB
                        for name IDs. Name ID's 2 and 6 cannot be overridden.
                        Use this with caution, and make sure you have provided
                        feature file name table entries for all platforms.

-skco/nskco             do/do not suppress kern class optimization by using left
                        side class 0 for non-zero kern values. Optimizing saves a few
                        hundred to thousand bytes, but confuses some programs.
                        Optimizing is the default behavior, and previously was the only option.

Note that options are applied in the order in which they are
specified: "-r -nS" will not subroutinize a font, but "-nS -r" will
subroutinize a font. See the document 'MakeOTFUserGuide.pdf' for the
format and contents of the fontinfo and project files.

MakeOTF parts.

MakeOTF now comes in two parts. One is the C program 'makeotfexe',
which requires that all input files be specified as command-line
parameters.  This is the program that reads in all the data, and build
the final OpenType font. You can build OpenType fonts using only this
program.

The other part is the 'MakeOTF.py' Python script, which is invoked
indirectly by the command-shell script 'makeotf'. The script is a
wrapper for the 'makeotfexe', and does several useful things for you:

- Uses the 'tx' tool to convert the input font into the Unix Type 1
  format that is required by 'makeotfexe'.
- Saves the parameters used for makeotfexe in a project file. This can
  later be referenced by the single option '-fp', which saves a lot of
  typing. It also allows saving standard settings for release end
  development builds.
- verifies that the input files exist. This avoids crashes in
  makeotfexe.

Project files.

Every time you run makeotf, it saves the options used to build the
font in a project file named "current.fpr". You can build the font
again with exactly the same options by using the option -fp, or use
most of the options by following '-fp' with additional options to set
different parameters.

Note that if you specify a project file other than "current.fpr", the
final set of parameters used will not be saved to the project file
unless you also specify the "-sp" option.