Spacing and leading
Tracking and kerning (KerningMethod as $ID/Metrics, $ID/Optical or $ID/None, KerningValue), Leading and auto leading, baseline shift, scaling and skew.
Spacing inside a line comes from tracking and kerning; spacing between lines comes from leading.
In short Tracking adds the same space after every character of a run, in thousandths of
an em. Kerning adjusts the space between particular pairs of characters: KerningMethod chooses
how it is computed (InDesign writes $ID/Metrics, $ID/Optical or $ID/None), and
KerningValue adds manual kerning. Leading is the distance from one baseline to the next, in
points or Auto, which is the point size times the paragraph's AutoLeading percentage.
BaselineShift moves glyphs up or down, and HorizontalScale, VerticalScale and Skew
distort them.
Tracking
Tracking is in thousandths of an em, so its effect scales with the type size: at 12 pt, a
Tracking of 100 adds 1.2 pt after each character, and a negative value tightens the run. It is
a character attribute, set on a range or a style.
Kerning
Kerning is the space between two specific characters, such as the tighter fit of "To" or "AV".
KerningMethod chooses where automatic kerning comes from, and InDesign writes its values in the
reserved $ID/ namespace:
| Value | Meaning |
|---|---|
$ID/Metrics | Use the kerning pairs built into the font. InDesign's default. |
$ID/Optical | Compute the spacing from the shapes of adjacent glyphs, ignoring the font's pairs. Useful for fonts with few or no kerning pairs, and between characters of different fonts. |
$ID/None | No automatic kerning. |
The census of real documents shows the prefixed spelling throughout: $ID/Metrics on paragraph
styles in 271 documents and $ID/Optical in 8, and $ID/Optical on runs. No bare Metrics
or Optical appears among the recorded values.
KerningValue is manual kerning: an amount in thousandths of an em added to the automatic
kerning at that position, set on the range it applies to.
In Paged: kerning is applied by the shaper from the font's pairs. The
$ID/-prefixed values are not recognised yet: every one of them,$ID/Noneincluded, falls back to metric kerning. The bare valueNonedoes turn kerning off, and optical kerning is not implemented (it is set like metric kerning).KerningValueis not read yet. These are known engine issues. Parsed, partly rendered
Leading
Leading is the distance from one line's baseline to the next. InDesign treats it as a character
attribute: each line takes the largest leading among the runs on it. On a range or a style it is a
typed <Properties> child:
<Leading type="unit">14</Leading>— 14 pt;<Leading type="enumeration">Auto</Leading>— auto leading.
Auto leading is the point size times the paragraph's AutoLeading percentage, 120 by default. A
line with mixed sizes gets the auto leading of its largest size. AutoLeading is a paragraph
attribute, so different paragraphs can use different percentages.
In Paged: leading in points is applied, from either the typed child or an attribute. Auto leading uses 120 % of the size; a paragraph's own
Supported · verifiedAutoLeadingpercentage is not read yet.
Baseline shift, scaling and skew
| Attribute · CharacterStyleRange | Values | Paged | paged.set |
|---|---|---|---|
| Tracking | number | read · written | characterTracking |
| BaselineShift | length (pt) | read · written | characterBaselineShift |
| HorizontalScale | number (percent) | read · written | characterHorizontalScale |
| VerticalScale | number (percent) | read · written | characterVerticalScale |
| Skew | number (degrees) | read · written | characterSkew |
| KerningMethod | Metrics | Optical | None | read · written | characterKerningMethod |
| KerningValue | integer | not read |
BaselineShift moves the glyphs off the baseline by that many points, up for positive values,
without changing the leading. HorizontalScale and VerticalScale stretch the glyphs as a
percentage (100 is unchanged). Skew slants them by that many degrees, a false italic.
In Paged: baseline shift, both scales and skew are applied.
Supported · verified Supported · verified Supported · verified
Frequently asked questions
How does InDesign write KerningMethod values?
With the $ID/ prefix: $ID/Metrics, $ID/Optical and $ID/None. A reader should accept that
spelling; a writer should produce it.
What is the difference between metric and optical kerning? Metric kerning uses the kerning pairs the font designer built into the font. Optical kerning ignores them and computes the spacing from the shapes of neighbouring glyphs. None turns automatic kerning off.
What unit is Tracking in?
Thousandths of an em, so it scales with the type size: 100 at 12 pt is 1.2 pt per character.
How is auto leading computed?
The point size times the paragraph's AutoLeading percentage, 120 by default. On a line with
mixed sizes, the largest size decides.
Fonts and faces
How AppliedFont names a font family and FontStyle a face, how InDesign spells them, and why Fonts.xml lists a document's fonts without containing any.
Composer and OpenType features
The Composer attribute (Adobe Paragraph or Single-line Composer), Ligatures, Capitalization and the OTF… attributes that switch OpenType features on a run.