Controlling Composite Metrics
A composite needs its own useful spacing, even when its drawing comes from other glyphs. Often the intended fit is the base letter's fit, with an accent extending beyond it. Metrics links preserve that relationship; the Nonspacing property controls whether the accent contributes to the bounds used to calculate it.
Linking Composite Metrics
For a straightforward aacute, enter a in both sidebearing fields. The composite then follows the corresponding bearings of a. For icircumflex or imacron, a suitable base is usually dotlessi, avoiding a dot beneath the accent. Enter dotlessi in the two bearing fields when those are the intended source metrics.
These are ordinary metrics expressions. A plain glyph name links to the same field of the source. A Unicode character can identify an encoded source, and an extended expression such as =rsb("dotlessi") makes the referenced side explicit. Keep the advance-width field free of a competing independent expression when the two bearings already determine the fit.
Check the source relationship too. If dotlessi should track i, establish that relationship in dotlessi; referring to dotlessi does not automatically mean the same thing as referring to i.
To test the setup, make a small spacing change to the source. If the dependent glyphs do not refresh with Font > Live Update > Live Metrics, select them in the Font window and choose Font > Update Glyphs. Inspect the accented glyph in the same neutral text context as the base. Revert the test change if it was only diagnostic.
Why an overhanging mark changes the calculation
Suppose the dotless-i drawing is 80 units wide, while the circumflex above it extends to a width of 180 units. If both parts contribute to the metric bounds, assigning the base's bearings around that 180-unit width can make the accented glyph much wider than the base.
The link is using the requested bearing values, but applying them to the wrong effective drawing extent for the intended spacing. Merely repeating the formula cannot solve that difference. You need to identify the accent as content that should remain visible without determining the composite's metric bounds.
Cross-master metrics references, such as :Regular, can extend these relationships, but require a separate review of source layers and update scope. First make the relationship correct in the current master.
The Nonspacing Property
Nonspacing excludes a component or element from the bounding-box calculations used for ordinary sidebearings and linked metrics. The content remains visible and is still included in production output. It is not a command to hide the mark, remove it, or give the whole glyph zero advance.
A component's Nonspacing property is also distinct from its source glyph being a Unicode combining mark or belonging to an OpenType Mark class. Those classifications can help FontLab detect likely candidates, but the property applies to the placed content in the composite.
Exclude the accent from metric bounds
- Open
imacronoricircumflexand select the accent component as a whole. - Enable Nonspacing in its property-bar control, or use the Nonspacing column in the Elements panel.
- Select the base component and leave its Nonspacing property off.
- Enter
dotlessiin the composite's LSB and RSB fields, or update existing links. - Compare the accented glyph's advance and base placement with
dotlessi.
The accent can now overhang while the base determines the measured body. Its outline still needs enough clearance from neighboring letters and lines; exclusion from metrics is not permission to ignore visible collisions.
The flag itself is not an advance-width value. With independent numeric metrics, changing which content contributes to the bounds can change the displayed bearings without moving the drawing. If metrics expressions are active, however, changing Nonspacing can trigger their recalculation and change placement or advance width. Inspect the resulting values rather than assuming the complete operation is always data-neutral.
What uses the property
Ordinary bounding-box sidebearing displays and metrics expressions ignore Nonspacing content when forming the relevant bounds. Metrics copying through Paste Special also uses that distinction when transferring bearings. A copied metric can therefore describe the base body rather than the full visible accent extent.
Use bounding-box mode while establishing this relationship. The Metrics Line is a different intersection-based measurement and can include ink at its chosen height; do not assume every line-based readout uses the same exclusions as the ordinary bounds. Return to the intended measurement mode before comparing values.
Assign it automatically
Under Preferences > Open Fonts > Composites and components, enable Nonspacing components to classify likely marks when opening a font other than a VFC or VFJ source. FontLab considers the source name and its unsuffixed form, recognized Unicode identity, category, and OpenType class.
The detection includes familiar accent-name families such as circumflex, caron, and breve; modifier-letter values U+02B9–U+02BD, U+02C6–U+02CF, and U+02EC; Unicode Nonspacing Mark or Modifier Symbol categories; and sources classified as OpenType Mark. A source tagged nonspacing is another recognized indication.
These criteria are aids, not an optical analysis of whether a particular component should affect this host's spacing. Check unusual names, decorative parts, and marks used as standalone spacing content. Automatic assignment can also be used while building auto-layer content when the relevant preference is enabled.
Detect or clear the property in existing content
Select the intended components in the Glyph window and choose Element > Nonspacing > Detect Nonspacing to classify eligible sources. Clear Nonspacing removes the property from selected content. With no suitable component selection, do not assume the Glyph-window command will process every object.
In the Font window, select the target glyphs before using these commands. Check the active layer and matching-operation settings when working with several masters. Detection identifies eligible components; it is not a blanket command to mark every drawn contour Nonspacing.
After detection or clearing, update and inspect linked metrics. The change can alter which bounds an expression uses. For wider batch control, Nonspacing is also available among the Metrics actions; that route has its own glyph and layer scope.
Keep the distinction between drawing and spacing explicit: the mark remains part of the visible glyph, while the base can supply the body used for default fit.