Settings - Metrics

Previous  Next

This page consists of a set of spacing fields and font design flags. On the Format menu, click Settings, and then click the Metrics tab.

Average Character Width

This field currently has two different descriptions that depend on the Version field.

 

For version 0, 1 and 2:

The Average Character Width parameter specifies the arithmetic average of the escapement (width) of all of the 26 lowercase letters a through z of the Latin alphabet and the space character. If any of the 26 lowercase letters are not present, this parameter should equal the weighted average of all glyphs in the font. For Symbol fonts use the unweighted average.

 

Comments: This parameter is a descriptive attribute of the font that specifies the spacing of characters for comparing one font to another for selection or substitution. For proportionally spaced fonts, this value is useful in estimating the length for lines of text. The weighting factors provided with this example are only valid for Latin lowercase letters.  If other character sets, or capital letters are used, different frequency of use values should be used. One needs to be careful when comparing fonts that use different frequency of use values for font mapping. The average character width is calculated according to this formula: For the lowercase letters only, sum the individual character widths multiplied by the following weighting factors and then divide by 1000. For example:

 

Letter        Weight Factor

a        64

b        14

c        27

d        35

e        100

f        20

g        14

h        42

i        63

j        3

k        6

l        35

m        20

n        56

o        56

p        17

q        4

r        49        

s        56

t        71

u        31

v        10

w        18

x        3

y        18

z        2

space        166

 

For version 3 and 4:

The Average Character Width parameter specifies the arithmetic average of the escapement (width) of all non-zero width glyphs in the font.

 

Use the Calculate button to calculate the Average weighted escapement based on the current metrics.

Note: it is not necessary to modify this field when Recalc average char width is selected on the Font tab in the Options window (available through the Tools menu).

 

Typo Ascender

The typographic ascender for this font. Remember that this is not the same as the Ascender value in the Metrics tab, which Apple defines in a far different manner.

 

The suggested usage for TypoAscender 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.

 

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 TypoAscender is that which describes the top of the design space (aka, em-square). For example, if the design space of the font extends from coordinates 0,-120 to 1000,880 (that is, a 1000x1000 box set 120 design units below the Latin baseline), then the value of TypoAscender must be set to 880. Failing to adhere to these requirements will result in incorrect vertical layout.

 

Typo Descender

The typographic descender for this font. Remember that this is not the same as the Descender value in the Metrics tab, which Apple defines in a far different manner.

 

The suggested usage for Typo Descender 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.

 

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 Typo Descender is that which describes the bottom of the design space (aka, em-square). For example, if the design space of the font extends from coordinates 0,-120 to 1000,880 (that is, a 1000x1000 box set 120 design units below the Latin baseline), then the value of Typo Descender must be set to -120. Failing to adhere to these requirements will result in incorrect vertical layout.        

 

Typo Line Gap

The typographic line gap for this font. Remember that this is not the same as the Line Gap value, which Apple defines in a far different manner.

 

The suggested usage for Typo Line Gap is that it be used in conjunction with Units per em to compute a typographically correct default line spacing. Typical values average 7-10% of units per em.

 

Win Ascent

The ascender metric for Windows. This, too, is distinct from Apple's Ascender value and from the Typo Ascender value. Win Ascent is computed as the yMax for all characters in the Windows ANSI character set. Win Ascent is used to compute the Windows font height and default line spacing. For Symbol fonts, it is the same as yMax.

 

Win Descent

The descender metric for Windows. This, too, is distinct from Apple's Descender value and from the Typo Descender value. Win Descent is computed as the -yMin for all characters in the Windows ANSI character set. Win Descent is used to compute the Windows font height and default line spacing. For Symbol fonts, it is the same as -yMin.

 

Use typo metrics for line spacing

If set, it is strongly recommended to use Typo Ascender - Typo Descender + Typo Line Gap as a value for default line spacing for this font.

 

Ascender (Macintosh-specific)

Typographic ascent

 

Descender (Macintosh-specific)

Typographic descent

 

Line Gap (Macintosh-specific)

Typographic line gap. Negative Line Gap values are treated as zero.

 

Tip: To automatically calculate ascender and descender values press the Calculate button.

 

Additional Metrics

x-Height

This metric specifies the distance between the baseline and the approximate height of non-ascending lowercase letters measured in Funits. This value would normally be specified by a type designer but in situations where that is not possible, for example when a legacy font is being converted, the value may be set equal to the top of the unscaled and unhinted glyph bounding box of the glyph encoded at U+0078 (LATIN SMALL LETTER X). If no glyph is encoded in this position the field should be set to 0.

 

This metric, if specified, can be used in font substitution: the xHeight value of one font can be scaled to approximate the apparent size of another.

 

CapHeight

This metric specifies the distance between the baseline and the approximate height of uppercase letters measured in Funits. This value would normally be specified by a type designer but in situations where that is not possible, for example when a legacy font is being converted, the value may be set equal to the top of the unscaled and unhinted glyph bounding box of the glyph encoded at U+0048 (LATIN CAPITAL LETTER H). If no glyph is encoded in this position the field should be set to 0.

 

This metric, if specified, can be used in systems that specify type size by capital height measured in millimeters. It can also be used as an alignment metric; the top of a drop capital, for instance, can be aligned to the CapHeight metric of the first line of text.

 

MaxContext

The maximum length of a target glyph context for any feature in this font. For example, a font which has only a pair kerning feature should set this field to 2. If the font also has a ligature feature in which the glyph sequence 'f f i' is substituted by the ligature 'ffi', then this field should be set to 3. This field could be useful to sophisticated line-breaking engines in determining how far they should look ahead to test whether something could change that effects the line breaking. For chaining contextual lookups, the length of the string (covered glyph) + (input sequence) + (lookahead sequence) should be considered.

 

DefaultChar

Whenever a request is made for a character that is not in the font, Windows provides this default character. If the value of this field is zero, glyph ID 0 is to be used for the default character otherwise this is the Unicode encoding of the glyph that Windows uses as the default character.

 

BreakChar

This is the Unicode encoding of the glyph that Windows uses as the break character. The break character is used to separate words and justify text. Most fonts specify that 'space' is the break character.