のねのBlog

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

spot

spot -tGSUB=7 KozGoKanaNK-Heavy.otf
$ spot -h
Usage: spot [-u|-h|-ht|-r] [-n|-nc|-G|-T|-F] [-f] [-V] [-m] [-d][-i<ids>] [-o<offs>] [-t<tags>|-P<featuretags>] [-p<policy>] [-@ <ptsize>]  <fontfile>+

OR: spot  -X <scriptfile>

Options:
    -u  print usage information
    -h  print usage and help information
    -ht print table-specific usage information
    -r  dump Macintosh resource map
    -n  dump glyph id/name mapping (also see '-m' below)
    -nc dump glyph id/name mapping, one per line (also see '-m' below)
    -ngid Suppress terminal gid on glyph names from TTF fonts.
    -T  list table-directory in sfnt table
    -F  list features in GPOS,GSUB tables
    -G  proof glyph synopsis
    -f  proof GPOS features in font order instead of GID order
    -V  proof glyphs in Vertical writing mode (same as -p6 below)
    -m  map glyph names into Adobe 'friendly' names, not AGL/Unicode names
    -d  suppress header info from proof
    -br proof glyph synopsis one per page
    -i  sfnt resource id list (see help)
    -o  TTC directory offsets list (see help)
    -t  table dump list (see help)
    -P  <list of feature tags from GSUB or GPOS>, e.g 'P cswh,frac,kern'  (use '-Proof' for all)
    -p  set proofing policies: 
        1=No glyph name labels
        2=No glyph numeric labels
        4=Show KanjiStandardEMbox on glyph
        5=Show GlyphBBox on glyph
        6=Show Kanji in Vertical writing mode
        7=Don't show Kanji 'kern','vkrn' with 'palt','vpal' values applied
    -@  set proofing glyph point-size (does not apply to certain synopses)
    -X  execute a series of complete command-lines from <scriptfile> [default: OTFproof.scr ]
Note: Proof options write a PostScript file to standard output, and must be redirected to a file. 
Example: 'spot -P kern test.otf > kern.ps'   This file can then be converted to PDF with Distiller, or
downloaded to a printer.

Version:
    3.5.64350
Supported tables:
    BASE, BBOX, BLND, CFF , CID , DSIG, EBLC, ENCO, FNAM, GDEF, 
    GLOB, GPOS, GSUB, HFMX, KERN, LTSH, META, MMFX, MMVR, OS/2, 
    SING, TYP1, VORG, WDTH, bloc, cmap, fdsc, feat, fvar, gasp, 
    glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, name, post, 
    sfnt, trak, vhea, vmtx
Notes:
    This program dumps sfnt data from plain files or Macintosh resource files. In the latter case, when there are 2 or more sfnt
resources, or in the absence of the -i option, the resource map is dumped as a list of resource types and ids. The program may
then be rerun with an argument to the -i option specifying a comma-separated sfnt id list of the sfnt resources to be dumped
or the argument 'all' which dumps all sfnt resources.
    All the multiple sfnts within a TrueType Collection (TTC) will be dumped by default but may be selectively dumped via TTC
directory offsets specified with the -o option, e.g.
-o0x14,0x170. Use the -tttcf option to view all the TTC directory offsets available.
    The argument to the -t option specifies a list of tables to be dumped. Tables are selected by a comma-separated list of
table tags, e.g. cmap,MMVR,fdsc. An optional dump level may be specified by appending '=' followed by the level to a tag,
e.g. cmap=2. Higher levels print successively more information up to a maximum of 4 (the default) although all 4 levels are not
supported by all tables. Level 1 always prints the table tag and file offset. When a level is specified its value becomes the
default for the remaining tables in the list unless a new level is specified, e.g. cmap=2,MMVR,HFMX,fdsc=1 dumps the cmap, MMVR, and HFMX tables at level 2 and the fdsc table at level 1. If a level is given as 'x', e.g. cmap=x the table is dumped in
hexadecimal format. If an unsupported table tag is specified the table is dumped in hexadecimal format regardless of whether a
level of 'x' is specified.
    The -n option dumps glyph id to glyph name mapping for all glyphs in the font. Naming information is extracted from post
format 1.0, 2.0, or 2.5 tables, or if they are not available, the MS UGL cmap. In the event that none of these is available
the glyph name is simply printed as @ followed by the decimal glyph id in decimal.
    The special tag 'sfnt' dumps the sfnt directory which lists all the table present in the sfnt. The special tag 'uset' sets
the dump level on all unset tables in the font allowing tables to be dumped without explicitly naming them, e.g. -tuset will
dump all tables at the default level 4. If this produces too much information you can disable dumping of selected tables by
setting their dump level to 0, e.g. -tuset,glyf=0,hdmx.
    The -ht option provides additional table-specific help.
$ spot -ht
Table-specific usage:
--- BASE
=4  List BASE content
=5  Friendly list of BASE content
--- CFF_
=6  Proof glyph plot
    Options: [-a] [-c] [-R] [-g<list>] [-bleft,bottom,right,top]
             [-shoriz,vert]
    -a  don't show outline annotation
    -c  convert labeled points to Adobe units
    -R  apply intermediate rounding
    -g  comma separated list of glyphs. Each element is of the
        following form:
            N    glyph N
            N-M  glyphs N through M
        e.g. -g22,24,36-39
    -s  glyph scaling factor
    -b  scale glyph to this bounding box
=7  Proof glyph synopsis
    Options: [-g<list>]
    -g  as above
=8  Proof alternate glyph synopsis
    Options: [-g<list>]
    -g  as above
--- GDEF
=7  output the more readoble feature file format
--- GPOS
=5  List GPOS features
=6  Dump kerning data in AFM-file style
=7  De-compile GPOS feature(s) in features-file style
=8  Proof GPOS features
--- GSUB
=4  output GlyphName/CID in dumps
=5  List GSUB Features
=7  De-compile GSUB feature(s) in features-file style
=8  Proof GSUB features
--- VORG
=4  Print glyph name and id
=8  Proof glyph in Kanji em-box, with widht and Y origin annotations.
--- cmap
=5  Print hex character code to glyph id mapping
=6  Print dec character code to glyph id mapping
=7  Print hex character code to glyphName/CID mapping
=8  Print dec character code to glyphName/CID mapping
=9  Proof hex character code to glyph shape mapping
=10 Proof dec character code to glyph shape mapping
=11 List platform/script/language support
    Options: [-Cindex]
    -C  select the cmap encoding index to use (use '-tcmap=11' for indices)
--- glyf
=5  Print coordinate points
=6  Proof glyph plot
    Options: [-a] [-c] [-R] [-g<list>] [-bleft,bottom,right,top]
             [-shoriz,vert]
    -a  don't show outline annotation
    -c  convert labeled points to Adobe units
    -R  apply intermediate rounding
    -g  comma separated list of glyphs. Each element is of the
        following form:
            N    glyph N
            N-M  glyphs N through M
        e.g. -g22,24,36-39
    -s  glyph scaling factor
    -b  scale glyph to this bounding box
=7  Proof glyph synopsis
    Options: [-g<list>]
    -g  as above
=8  Proof alternate type of glyph synopsis
    Options: [-g<list>]
    -g  as above
--- hmtx
=5  Print advance widths by glyph name (font's units/em)
=6  Print advance widths by glyph name (1000 units/em)
=7  Print advance widths and left side bearings by glyph name (font's units/em)
=8  Print advance widths and left side bearings by glyph name (1000 units/em)
Note that the default dump has two sections: a first section which lists advance width and left side bearing, and a second section which lists only the left side bearing. The index for the second section is not the glyph ID, as it starts at 0. To convert an index in the second section to a glyph ID, you need to add to the index the number of entries in the first section.
--- kern
=2  low level dump of subtable headers
=3  low level dump without glyph names
=4  low level dump with glyph names
=5  Print kern pair list
--- name
=2  raw field and table dump.
=3  print single line for all name record values:
          record[index]={platformId,scriptId,languageId,nameId,length,offset} = <name value>
=4  raw field and table dump, but with decriptive names for some field values.