のねのBlog

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

AFDKO Spotコマンド その3

>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.
>spot -T angsana.ttc

### [ttcf] (00000000)
TTCTag        =ttcf (74746366)
Version       =2.0 (00020000)
TTC DSIG Tag  =DSIG (44534947)
DSIG Length   =6876
DSIG Offset   =395632
DirectoryCount=8
--- TableDirectory[index]=offset
[0]=00000038 [1]=00000194 [2]=000002f0 [3]=0000044c [4]=000005a8 [5]=00000704 [6]=00000860 [7]=000009bc
### [sfnt] (00000038)
--- offset subtable
version      =1.0  [TrueType]
numTables    =21
searchRange  =256
entrySelector=4
rangeShift   =80
--- table directory[index]={tag,checksum,offset,length}
[ 0]={'GDEF',12ae13db,00000b18,000000b2}
[ 1]={'GPOS',337b5667,00000bcc,0000146a}
[ 2]={'GSUB',f088f1a3,00002038,0000015a}
[ 3]={'LTSH',5b1ec535,00002194,0000016e}
[ 4]={'OS/2',58644044,00002304,00000060}
[ 5]={'VDMX',35af4ac2,00002364,00001194}
[ 6]={'cmap',6b9d222e,000034f8,00000156}
[ 7]={'cvt ',7694a4c5,00003650,000002c4}
[ 8]={'fpgm',4ae12b4e,00003914,00000547}
[ 9]={'gasp',00210009,00003e5c,00000010}
[10]={'glyf',a9fce909,00003e6c,0001207c}
[11]={'hdmx',c664c8bf,00015ee8,000019a0}
[12]={'head',e1c55594,00017888,00000036}
[13]={'hhea',13980925,000178c0,00000024}
[14]={'hmtx',f34bacca,000178e4,0000059a}
[15]={'loca',1f3bd6ec,00017e80,000002d6}
[16]={'maxp',04240675,00018158,00000020}
[17]={'meta',1af601a0,00018178,00000035}
[18]={'name',d942cbdd,000181b0,00000896}
[19]={'post',ff360066,00018a48,00000020}
[20]={'prep',345850f0,00018a68,000003ca}
### [sfnt] (00000194)