Home
Index

# Font Info – Instances Custom Parameters

With instance-level parameters, you can produce different versions of the same font carrying different copyright notices, UPM values etc. Instance parameters override all master and font settings and parameters.

The following values are being considered during export:

Custom Parameter

Description

Filterstring

Triggers Glyphs filters. Currently, only the Offset Curve, Remove Overlap and Round Corners filters are supported. The values are as follows:

- OffsetCurve;<x>;<y>;<make stroke>;<position>

- RoundCorner;<radius>;<visual correction>

- RoundedFont;<Stem>

- Transformations;LSB:<value>;RSB:<value>;ScaleX:<value>;ScaleY:<value>;Slant:<value>;SlantCorrection:<value>;OffsetX:<value>;OffsetY:<value>;Origin:<value>;

  ScaleX/Y: in %, default: 100 (e.g: ScaleX:120;)

- RemoveOverlap;

- AddExtremes;

- Roughenizer;<SegmentLength>;<OffsetX>;<OffsetY>

The boolean values for <make stroke> and <visual correction> are 1 for yes and 0 for no.

Most filters accept a “include:” or “exclude:” parameter at the end of the line followd by a list of glyph names seperated by comma. e.g. “Transformations;LSB:-20;RSB:+20;include:A,B”

Learn more about filters

compatibleFullNamestring

Compatible full name (Mac only). Corresponds to the OpenType name table name ID 18. If not set, the value for name table ID 18 is calculated from Family Name plus space plus Style Name of the respective instance. ‘On the Macintosh, the menu name is constructed using the FOND resource. This usually matches the Full Name. If you want the name of the font to appear differently than the Full Name, you can insert the Compatible Full Name in ID 18.’

familyNamestring

Family name. Overrides the entry in the Family Name field in the Font section of the Font Info. Corresponds to the OpenType name table name IDs 1 and 4. Used to calculate IDs 3, 4 and 6.

hheaAscenderinteger

Ascender value. Corresponds to the OpenType hhea table Ascender field. ‘Typographic ascent (distance from baseline of highest ascender).’

hheaDescenderinteger

Descender value. Corresponds to the OpenType hhea table Descender field. ‘Typographic descent (distance from baseline of lowest descender).’

hheaLineGapinteger

Line gap value. Corresponds to the OpenType hhea table LineGap field. ‘Typographic line gap. Negative LineGap values are treated as zero in Windows 3.1, System 6, and System 7.’

InterpolationWeightYinteger

Vertical interpolation value. In an instance, you can differentiate between vertical and horizontal interpolation by introducing this custom parameter. For it to take effect, it must differ from the interpolation weight of the instance.

licensestring

License description. Corresponds to the OpenType name table name ID 13, the ‘description of how the font may be legally used, or different example scenarios for licensed use. This field should be written in plain language, not legalese.’

licenseURLstring

URL for the license. Corresponds to the OpenType name table name ID 14. ‘URL where additional licensing information can be found.’

panoselist

The list must contain 10 non-negative integers that represent the setting for each category in the Panose specification. The integers correspond with the option numbers in each of the Panose categories. This corresponds to the OpenType OS/2 table Panose field. ‘This 10 byte series of numbers is used to describe the visual characteristics of a given typeface. These characteristics are then used to associate the font with other fonts of similar appearance having different names. The variables for each digit are listed below.

The Panose values are fully described in the Panose “greybook” reference, currently owned by Monotype Imaging. The PANOSE definition contains ten digits each of which currently describes up to sixteen variations. Windows uses bFamilyType, bSerifStyle and bProportion in the font mapper to determine family type. It also uses bProportion to determine if the font is monospaced. If the font is a symbol font, the first byte of the PANOSE number (bFamilyType) must be set to “pictorial.”’

postscriptFontNamestring

Name to be used for the FontName field in Type 1/CFF table. Should be ASCII-only, no whitespace allowed, e.g. ‘MyFont-Regular’.

postscriptFullNamestring

Name to be used for the FullName field in Type 1/CFF table.

preferredFamilyNamestring

Preferred family name. Corresponds to the OpenType name table name ID 16. ‘For historical reasons, font families have contained a maximum of four styles, but font designers may group more than four fonts to a single family. The Preferred Family allows font designers to include the preferred family grouping which contains more than four fonts. This ID is only present if it is different from ID 1.’

preferredSubfamilyNamestring

Preferred subfamily name. Corresponds to the OpenType name table name ID 17. ‘Preferred Subfamily; Allows font designers to include the preferred subfamily grouping that is more descriptive than ID 2. This ID is only present if it is different from ID 2 and must be unique for the the Preferred Family.’

Remove Glyphsstring

Will remove the glyphs mentioned in the value. Takes a comma-separated list of strings as value.

Useful for preparing the swapping of glyph shapes with the ‘Rename glyphs’ parameter (see below).

Rename Glyphsstring

Will rename the glyphs mentioned in the value. Needs a comma-separated list of rename strings of the form ‘oldname=newname’, e.g. ‘e.bold=e, eacute.bold=eacute’.

sampleTextstring

Sample text. Corresponds to the OpenType name table name ID 19. ‘This can be the font name, or any other text that the designer thinks is the best sample to display the font in.’

Scale to UPMinteger

Scales the whole font to the supplied integer value. Useful for preparing a TTF conversion by scaling to 2048, for instance.

styleMapFamilyNamestring

Family name used for bold, italic and bold italic style mapping. You can use this to create subfamilies within larger font families. ‘Up to four fonts can share the Font Family name, forming a font style linking group (regular, italic, bold, bold italic – as defined by OS/2.fsSelection bit settings). Glyphs uses the entries in Style Name field and in the Style Linking section of the instance for linking the four individual weights.

trademarkstring

Trademark statement. Corresponds to the OpenType name table name ID 7. According to Microsoft, ‘this is used to save any trademark notice/information for this font. Such information should be based on legal advice. This is distinctly separate from the copyright.’

typoAscenderinteger

Ascender value. Corresponds to the OpenType OS/2 table sTypoAscender field. ‘The typographic ascender for this font. Remember that this is not the same as the Ascender value in the hhea table, which Apple defines in a far different manner. One good source for sTypoAscender in Latin based fonts is the Ascender value from an AFM file. For CJK fonts see below.

The suggested usage for sTypoAscender is that it be used in conjunction with unitsPerEm to compute a typographically correct default line spacing. The goal is to free applications from Macintosh or Windows-specific metrics which are constrained by backward compatibility requirements. These new metrics, when combined with the character design widths, will allow applications to lay out documents in a typographically correct and portable fashion. These metrics will be exposed through Windows APIs. Macintosh applications will need to access the sfnt resource and parse it to extract this data from the “OS/2” table.

For CJK (Chinese, Japanese, and Korean) fonts that are intended to be used for vertical writing (in addition to horizontal writing), the required value for sTypoAscender is that which describes the top of the of the ideographic em-box. For example, if the ideographic em-box of the font extends from coordinates 0,-120 to 1000,880 (that is, a 1000 × 1000 box set 120 design units below the Latin baseline), then the value of sTypoAscender must be set to 880. Failing to adhere to these requirements will result in incorrect vertical layout.’

typoDescenderinteger

Descender value. Corresponds to the OpenType OS/2 table sTypoDescender field. ‘The typographic descender for this font. Remember that this is not the same as the Descender value in the hhea table, which Apple defines in a far different manner. One good source for sTypoDescender in Latin based fonts is the Descender value from an AFM file. For CJK fonts see below.

The suggested usage for sTypoDescender is that it be used in conjunction with unitsPerEm to compute a typographically correct default line spacing. The goal is to free applications from Macintosh or Windows-specific metrics which are constrained by backward compatability requirements. These new metrics, when combined with the character design widths, will allow applications to lay out documents in a typographically correct and portable fashion. These metrics will be exposed through Windows APIs. Macintosh applications will need to access the sfnt resource and parse it to extract this data from the “OS/2” table (unless Apple exposes the “OS/2” table through a new API).

For CJK (Chinese, Japanese, and Korean) fonts that are intended to be used for vertical writing (in addition to horizontal writing), the required value for sTypoDescender is that which describes the bottom of the of the ideographic em-box. For example, if the ideographic em-box of the font extends from coordinates 0,-120 to 1000,880 (that is, a 1000 × 1000 box set 120 design units below the Latin baseline), then the value of sTypoDescender must be set to -120. Failing to adhere to these requirements will result in incorrect vertical layout.’

typoLineGapinteger

Line gap value. Corresponds to the OpenType OS/2 table sTypoLineGap field. ‘The typographic line gap for this font. Remember that this is not the same as the LineGap value in the hhea table, which Apple defines in a far different manner.

The suggested usage for usTypoLineGap is that it be used in conjunction with unitsPerEm to compute a typographically correct default line spacing. Typical values average 7–10% of units per em. The goal is to free applications from Macintosh or Windows-specific metrics which are constrained by backward compatability requirements. These new metrics, when combined with the character design widths, will allow applications to lay out documents in a typographically correct and portable fashion.’

underlineThicknessinteger or float

Underline thickness value. Corresponds to the Type 1/CFF/post table UnderlineThickness field. Default is 50.

underlinePositioninteger or float

Underline position value. Corresponds to the Type 1/CFF/post table UnderlinePosition field. Default is –100.

unitsPerEmnon-negative integer

Units per em. Default is 1000 for PostScript-flavored OpenType fonts and a power of 2 (usually 2048) for TrueType-flavored OpenType fonts.

vheaVertAscenderinteger

Ascender value. Corresponds to the OpenType vhea table vertTypoAscender field.

vheaVertDescenderinteger

Descender value. Corresponds to the OpenType vhea table vertTypoDescender field.

vheaVertLineGapinteger

Line gap value. Corresponds to the OpenType vhea table vertTypoLineGap field.

weightClassinteger

Weight class value. Must be a non-negative integer. Corresponds to the OpenType OS/2 table usWeightClass field. ‘Indicates the visual weight (degree of blackness or thickness of strokes) of the characters in the font.’

Some applications use this value to sort the subfamilies in the font menu. Overrides the value set by the Weight pop-up menu of the instance.

100 Thin
200 Extra-light (Ultra-light)
300 Light
400 Normal (Regular)
500 Medium
600 Semi-bold (Demi-bold)
700 Bold
800 Extra-bold (Ultra-bold)
900 Black (Heavy)

winAscentnon-negative integer

Ascender value. Corresponds to the OpenType OS/2 table usWinAscent field.

winDescentnon-negative integer

Descender value. Corresponds to the OpenType OS/2 table usWinDescent field.

WWSFamilyNamestring

WWS family name. WWS stands for ‘Weight Width Slope’. Corresponds to the OpenType name table name ID 21. ‘Used to provide a WWS-conformant family name in case the entries for IDs 16 and 17 do not conform to the WWS model. (That is, in case the entry for ID 17 includes qualifiers for some attribute other than weight, width or slope.) If bit 8 of the fsSelection field is set, a WWS Family Name entry should not be needed and should not be included. Conversely, if an entry for this ID is include, bit 8 should not be set. (See OS/2 fsSelection field for details.) Examples of name ID 21: “Minion Pro Caption” and “Minion Pro Display”. (Name ID 16 would be “Minion Pro” for these examples.)’

WWSSubfamilyNamestring

WWS Subfamily name. Corresponds to the OpenType name table name ID 22. ‘Used in conjunction with ID 21, this ID provides a WWS-conformant subfamily name (reflecting only weight, width and slope attributes) in case the entries for IDs 16 and 17 do not conform to the WWS model. As in the case of ID 21, use of this ID should correlate inversely with bit 8 of the fsSelection field being set. Examples of name ID 22: “Semibold Italic”, “Bold Condensed”. (Name ID 17 could be “Semibold Italic Caption”, or “Bold Condensed Display”, for example.)’

### Related Topics

Font Info