Microsoft HomeProductsSearchSupportShopWrite Us Microsoft Home

Microsoft Typography | Developer... | OpenType specification | OpenType tables | The fvar table


fvar - Font Variations Table

This table contains axis and instance data for presentation to the users of multiple master fonts. The fvar table consists of a header, followed by the list of axis records, followed by the list of instance records.


fvar Header

The format of the fvar header is shown in the following table.

Type Name Description
Fixed version Version of fvar table, initially 0x00010000
UINT16 offsetToData Offset to Axis table, from beginning of fvar table.
UINT16 countSizePairs Axis + instance = 2
UINT16 axisCount Number of axes
UINT16 axisSize Axis record size in bytes, set to 20
UINT16 instanceCount Number of instances
UINT16 instanceSize Instance record size (bytes), set to 4 + axisCount * 4
STRUCT AxisRecord [axisCount] Array of AxisRecords
STRUCT InstanceRecord [instanceCount] Array of InstanceRecords


Axis Record

An axis record specifies an axis tag (axisTag) that identifies the axis to software, the minimum (minValue), default (defaultValue), and maximum (maxValue) user design coordinates, attribute flags (flags), and a name table identifier (nameID) of the axis name.

Type Name Description
TAG axisTag Axis tag
Fixed minValue Minimum user design coordinate
Fixed defaultValue Default user design coordinate
Fixed maxValue Maximum user design coordinate
UINT16 flags Axis attributes flags, unused, set to 0
UINT16 nameID Axis name identifier, must be greater than 255

The following axis tags have been defined.

Tag Description
wght Weight variation axis
wdth Width variation axis
opsz Optical size variation axis
serf Serif variation axis


Instance Record

An instance record specifies a name table identifier (nameID) of the instance name, attribute flags (flags), and the user design coordinate of the instance (coord).

Type Name Description
UINT16 nameID Instance name identifier, must be greater than 255
UINT16 flags Instance attribute flags, unused, set to 0
Fixed coord [axisCount] User design coordinate of this instance


Example

The following table shows the data recorded in the fvar table for a 3-axis, 7-instance font (MinionMM). The name table text strings corresponding to the nameIDs in the axis and instance records are shown for the English language.

### [fvar] (00000ce0)
version       =1.0 (00010000)
offsetToData  =0010
countSizePairs=2
axisCount     =3
axisSize      =20
instanceCount =7
instanceSize  =16
--- axis[0]
axisTag     =wght
minValue    =345.000 (01590000)
defaultValue=367.000 (016f0000)
maxValue    =620.000 (026c0000)
flags       =0000
nameId      =256 (Weight)
--- axis[1]
axisTag     =wdth
minValue    =450.000 (01c20000)
defaultValue=585.000 (02490000)
maxValue    =600.000 (02580000)
flags       =0000
nameId      =257 (Width)
--- axis[2]
axisTag     =opsz
minValue    =6.000 (00060000)
defaultValue=11.000 (000b0000)
maxValue    =72.000 (00480000)
flags       =0000
nameId      =258 (Optical Size)
--- instance[0]
nameId=259 (Regular Normal Optical Size 11)
flags= 0000
coord[0]=367.000 (016f0000)
coord[1]=585.000 (02490000)
coord[2]=11.000 (000b0000)
--- instance[1]
nameId=260 (Regular Condensed Optical Size 11)
flags= 0000
coord[0]=367.000 (016f0000)
coord[1]=465.000 (01d10000)
coord[2]=11.000 (000b0000)
--- instance[2]
nameId=261 (Regular Normal Optical Size 72)
flags= 0000
coord[0]=367.000 (016f0000)
coord[1]=585.000 (02490000)
coord[2]=72.000 (00480000)
--- instance[3]
nameId=262 (Semibold Condensed Optical Size 11)
flags= 0000
coord[0]=485.000 (01e50000)
coord[1]=465.000 (01d10000)
coord[2]=11.000 (000b0000)
--- instance[4]
nameId=263 (Semibold Normal Optical Size 11)
flags= 0000
coord[0]=485.000 (01e50000)
coord[1]=585.000 (02490000)
coord[2]=11.000 (000b0000)
--- instance[5]
nameId=264 (Bold Condensed Optical Size 11)
flags= 0000
coord[0]=578.000 (02420000)
coord[1]=465.000 (01d10000)
coord[2]=11.000 (000b0000)
--- instance[6]
nameId=265 (Bold Normal Optical Size 11)
flags= 0000
coord[0]=578.000 (02420000)
coord[1]=585.000 (02490000)
coord[2]=11.000 (000b0000)



this page was last updated 3 November 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of use.
comments to the MST group: ttwsite@microsoft.com

 

Microsoft Typography | Developer... | OpenType specification | OpenType tables | The fvar table