name |
[req] |
Contains strings that provide general information about the font. Strings are multilingual and multi-platform and are identified by number. Some numbers have a standard meaning such as font name and copyright. Arbitrary numbered strings can also be present. |
glyf |
[req] |
Contains glyph outlines and hints. A glyph can consist of points or be composed from other glyphs in the font. |
cmap |
[req] |
Contains multiple mapping tables from Unicode and various 8-bit encodings to glyph ids. Multi-platform. |
post |
[req] |
Contains glyph names usually based on standard PostScript names or Unicode ids. Can be empty. |
OS/2 |
[req on Windows] |
Contains line spacing, font weight, font style, codepoint ranges (codepage and Unicode) covered by glyphs, overall appearance, sub- and super-script support, strike out information. |
|
|
|
head |
[req] |
Contains overall font metrics and checksum for font. Also contains font appearance (Mac). |
hmtx |
[req] |
Contains advance width and left side bearing for each glyph. |
hhea |
[req] |
Contains overall horizontal metrics and caret slope. Also contains line spacing (Mac). |
kern |
|
Contains kerning pair data. |
|
|
|
hdmx |
[req] |
Contains precalculated advance widths for hinted glyphs. |
LTHS |
|
Contains size where each glyph starts scaling linearly (where size is unaffected by hints). |
|
|
|
vmtx, vhea, VDMX |
|
Vertical metrics analagous to hmtx, hhea, hdmx. Used for vertical writing systems. |
|
|
|
loca |
[req] |
Mapping from glyph id to offset in glyf table. |
maxp |
[req] |
Indicates complexity of glyphs and hints. |
DSIG |
|
Container for digital signatures. |
|
|
|
PCLT |
|
Indicates overall font appearance based on HP Printer Control Language (PCL) specification. Not used by any known OS or applications, but its inclusion is recommended by TTF specification. |
gasp |
|
Indicates at what sizes glyphs should be rendered using hints and/or anti-aliasing techniques. |
prep, fpgm, cvt |
|
Hints in the glyf table rely on these tables to provide subroutines and common values. |
|
|
|
CFF |
|
Contains embedded PostScript glyphs. Used instead of glyf table. |
VORG |
|
Contains precalculated vertical origins for PostScript glyphs. Used in vertical scripts. |
|
|
|
EBDT, EBLC, EBSC |
|
They contain information for embedded bitmap glyphs. Rarely used. |
GSUB |
[OpenType] |
Contains glyph substitution data. The following types of substitutions are supported: one to one, one to many, one to several alternates, many to one, and contextual use of the preceding. |
GPOS |
[OpenType] |
Contains glyph positioning data. The following types of positioning are supported: single glyph adjustment, pair adjustment, cursive attachment, mark (diacritic) to base, mark to ligature, mark to mark, and contextual use of the preceding. |
GDEF |
[OpenType] |
Contains glyph definition data. Indicates glyph classes, caret locations for ligatures, and provides an attachment point cache. (Attachment points must be specified in GPOS too.) |
BASE |
[OpenType] |
Contains baseline data. Can provide information on roman, centered, and hanging baselines. Supports horizontal and vertical baselines. Also can override line spacing data in other tables. |
JSTF |
[OpenType] |
Contains paragraph justification data. Same basic capabilities as GSUB and GPOS. Can override GSUB and GPOS actions. |
Silf |
[Graphite] |
Graphite table used to store rules specified in Graphite Description Language (GDL). This includes glyph classes, search patterns, and actions to transform a glyph stream. |
|
|
|
Glat |
[Graphite] |
Graphite glyph attribute table used to store glyph specific information specified in GDL. This includes attachment points, ligature components, directionality, and breaking data. |
Gloc |
[Graphite] |
Graphite table used to map from glyph id to offset in Glat table. |
|
|
|
Feat |
[Graphite] |
Graphite feature table used to store features and possible settings specified in GDL. Features determine what rules are applied to transform a glyph stream. |
|
|
|
mort |
[Apple] |
Contains tables specifying AAT “glyph metamorphosis” effects: ligatures, contextual or non-contextual substitutions, insertions, and rearrangements. |
morx |
[Apple] |
Extended version of the mort table. Allows larger/more complex tables, and possibly more compact encoding. |
feat |
[Apple] |
Describes AAT features, implemented by subtables in the mort table, and points to name table strings that describe them. |
|
|
|
acnt |
[Apple] |
Specifies combinations of component glyphs to form accented compound glyphs (more compactly than in the glyf table). |
bsln |
[Apple] |
Specifies baselines (Roman, hanging, centered, etc.) for aligning various types of script. |
just |
[Apple] |
Indicates how to justify text (how extra space is distributed, and effects such as stretching glyphs, inserting kashidas, or choosing alternate forms). |
lcar |
[Apple] |
Contains ligature caret data. Defines caret positions within ligatures, allowing more accurate editing than simply dividing up the glyph width. |
fdsc |
[Apple] |
Contains font descriptor data. Contains values for attributes such as boldness, width, italic angle, etc. that can be used in font matching. |
fmtx |
[Apple] |
Identifies a glyph which provides font metrics which are used instead of values in the hhea and vhea tables. |
|
|
|
prop |
[Apple] |
Contains glyph properties (e.g., floating, mirrored, hanging). |
Zapf |
[Apple] |
Contains reference information about each glyph (e.g., associated Unicode values, various glyph names) |
|
|
|
opbd |
[Apple] |
Optical boundary information. Used to adjust glyph alignment at line edges. |
trak |
[Apple] |
Specifies adjustments to glyph spacing (tighter or looser tracking). |
|
|
|
fvar |
[Apple] |
Describes variation “axes” (such as weight, width, optical size) that the designer has created, allowing many different styles to be created from a single master design. |
gvar |
[Apple] |
Contains the actual adjustments to be made to each glyph for each possible font variation. |
avar |
[Apple] |
Allows the variation to have non-linear behavior as the user settings vary. |
cvar |
[Apple] |
Specifies how the cvt table values (used in hinting) vary with different font variation settings. |
|
|
|
bdat, bhed, bloc |
[Apple] |
Contain data for embedded bitmap glyphs. |
hsty |
[Apple] |
Contains horizontal style data. Used on the Newton OS only to indicate how font styles (bold, italic, etc.) should be synthesized algorithmically. |
PfEd |
[FontForge] |
FontForge extensions table contains private data utilized by FontForge; described here |
TeX |
[FontForge] |
TeX metrics table maintained by FontForge; described here |
BDF |
[FontForge] |
Contains the header information from old bdf fonts; described here |
FFTM |
[FontForge] |
Contains three timestamps: First FontForge's version date, then when the font was generated, and when the font was created; described here |