The Element Model
Every contour you have drawn in FontLab belongs to an element. The element is the container through which that drawing belongs to the glyph. In ordinary drawing, FontLab supplies the container automatically, so you can work for a long time without managing it explicitly.
The components used in Parts 16–17 occupy this same element level, resolving content from a source glyph. Their glyph relationship is more specific than an ordinary shared-element reference, but the container explains how both kinds of reuse fit the drawing model. Understanding the container makes it possible to reuse a smaller part—a stem, bowl, or terminal—and to give each occurrence its own placement.
Elements as Containers
An element occurrence is one placement of element content in a glyph. Here, occurrence distinguishes this use from a variable-font instance, introduced later. Think of it as content plus properties that apply to that occurrence. The content can be a group of contours, an image, or another supported kind of drawing. The occurrence places that content in the glyph.
This separation serves three purposes. First, an element can retain a transformation without rewriting its contour points. You can move, scale, rotate, or slant the occurrence and later remove that transformation. Second, the same underlying shape can receive a different visual treatment, such as fill, stroke, or opacity. This supports color-font work in Coloring Contour Elements and skeleton/stroke design in Designing with Skeletons and Working with Strokes. Adjustable generated geometry is introduced in Live Filters. Third, several element occurrences can reference shared content instead of maintaining separate copies.
For example, a dot can be drawn once, placed twice in a dieresis, and reused in other signs. Each placement can have its own offset. An edit to the shared dot drawing can update all its references, while moving one instance leaves the other placements alone.
An element is therefore a practical editing boundary, not another glyph identity. It has no independent Unicode assignment merely because it has a name. In the complete data hierarchy, elements belong to glyph layers; here, “the glyph's drawing” means the layer you are currently working on. The layer tier is taught in Layers and Masters.
The practical question is which level a change belongs to. If two occurrences should continue to share their shape, edit the common content. If only one should be larger or use a different appearance, change that occurrence’s properties. If their designs must diverge independently, the shared relationship itself needs attention. Keeping these decisions separate makes reuse predictable: content describes what is drawn, while the occurrence describes how that content participates in this glyph.
Element Types and the Elements Panel
Open Window > Panels > Elements to inspect the current glyph's containers. The main content types are:
| Type | Content |
|---|---|
| Contour element | One or more open or closed contours |
| Image element | A bitmap image |
| SVG element | A placed SVG graphic |
| Text-shape element | A text string rendered from the selected font context as live generated shapes |

The Elements panel lists the glyph’s elements above the selected element’s properties.
An ordinary element does not mix its main content types. A contour element is not also a bitmap element. A group can contain members of different types while keeping those members distinct. Image and SVG editing are covered later in the color-font material; detailed text-shape controls are covered in Volume Two.
Color-code element type in the Glyph Window and Font Window preferences distinguishes contours, references, components, and live effects in the previews. It is a display aid, separate from the fill, stroke, and opacity stored on an element. Explicit element colors remain meaningful.
Create and remove containers
Choose Element > New > Element, or use the Elements panel's + menu and its contour-element choice, to make a new empty contour container. Subsequent drawing goes into the current suitable element until you change the editing context.
An empty element is an initialized container without drawing content. It is not a missing glyph. Before removing an element, check whether it contains drawing you need. Select the unwanted element in the panel and click − to remove its occurrence from the glyph.
For a wider cleanup, Remove empty elements is available in the Actions catalogue. Check the glyph and layer scope there before applying it. It is a cleanup operation, not a requirement to create a new element for every new contour.
Read the list
A contour element can expand to show its contours. The contour indices begin at zero. A point-count readout distinguishes all points from on-curve nodes: 12/4, for example, means 12 points in total, of which four are nodes and the rest off-curve controls. Unexpected counts can explain why two drawings do not have corresponding structures.
Empty containers are identified as empty. Image entries can report pixel dimensions; SVG and other types have their own icons. A component entry identifies its source glyph. Use the type and hierarchy together rather than interpreting every row as a separate glyph.
Use the on-canvas Elements widget
Enable View > Widgets > Elements for the compact strip at the top of the canvas. A contour button can show contours/points/nodes, or the collective name if the element is named. Image buttons show pixel dimensions. Text-shape buttons use the fixed String label; the full panel provides the actual text. Components show their source glyph names.
Ordinary content buttons are most useful when there is more than one element; a component can have a button even when it is the only component. Groups and live filters have their own buttons. Do not infer that a single unlisted plain element is absent from the drawing merely because the compact widget does not need to show it.
Element Contents and Element Properties
The contents are shared by references. The occurrence properties determine how each occurrence is placed and treated.
In addition to its principal drawing, an element can carry an element guide, pins, a collective name, and a note. These belong to the shared content. Moving a pin or renaming shared content can therefore affect more than the occurrence in front of you.
An element guide is local to the element and follows its transformation. With the Guides tool, Option/Alt-drag provides an element-guide creation gesture. This differs from a glyph guide or font guide, whose scope is outside that content container.
A pin is the element-level named attachment point. It plays a role analogous to a glyph anchor when assembling shared parts. A collective element name makes the content available in the Gallery panel as a reusable building block. Use the Elements panel's name field to assign it. An element note records information about that shared piece rather than about the entire glyph.
The occurrence's transform is a geometric property. Opacity, stroke, and fill are visual properties. This division lets two occurrences share a drawing while appearing at different sizes or with different visual treatment.
Recognize the state controls
The Elements panel also provides state controls with distinct consequences:
- Lock protects the content from in-place contour editing. A locked occurrence can still be moved or transformed as a unit. This safeguards against propagating an accidental contour edit to other references; it is the element-level counterpart of the layer lock taught in Layers and Masters.
- Nonspacing excludes the element from ordinary metric-bound calculations while leaving it visible and exported. Active metrics relationships can recalculate when the flag changes.
- Service element keeps reference or scaffold content out of previews, export, interpolation, and metric calculations. It is broader than Nonspacing and parallels a service layer at the layer tier; see Layers and Masters.
- Anchored makes an eligible component follow glyph attachment points rather than a freely dragged offset.
Do not treat the four controls as interchangeable forms of hiding or locking. A locked element still contributes to output; a Nonspacing element still draws; a service element has no ordinary output contribution. Check the selected occurrence and its source relationship before changing a state in shared work.
Organizing Contours and Elements
Combine or separate contour membership
Combining consolidates the drawing and can expand filters and unify appearance. Save a native copy first if you need to preserve the elements’ independent treatments. Then select the intended elements and choose Element > Contours > Combine to Element to put their contours into one container.
A single contour container gives destructive Boolean operations a common scope. Some Remove Overlap paths can also consolidate across elements when Edit Across Elements is enabled; do not assume a narrow selection is the only content that can be involved.
Element > Contours > Separate to Elements distributes contours into individual containers so they can receive independent treatment. Selected contours move into their own containers while unselected contours remain in the source; with no contour selection, the operation can process the broader drawing. Check the selection before applying it and inspect the resulting element list. Separation changes organization, and processing filtered or component content can first resolve that content. It is not a guaranteed inverse of a previous combine operation.
Group elements
Select elements with the Element tool and choose Element > Group. A group moves and transforms as a unit while its members retain their own content and properties. To add more members, select the group together with the additional elements and use Group again. Ungroup releases the members.
Grouping is different from combining contours. Use a group for collective handling; combine when the contours need to become one processing set. A group also carries its own transformation, applied above the members' individual transformations.
Keep the two orders distinct
The Elements panel shows two different kinds of order:
| Order | Panel convention | Why it matters |
|---|---|---|
| Element stacking order | Bottom entry is lowest; top entry is highest | Layered appearance, components, and order-dependent filters |
| Contour index within an element | Contour 0 at the top; indices increase downward | Point correspondence and destructive Boolean operand order; Overlaps and Boolean Operations |
Use Element > Arrange or drag element rows to change stacking order. Move contour subrows to change their index order. A contour index is not a paint-layer order: all contours in an ordinary monochrome element participate in its fill together.
Plain same-color drawing can make element order look irrelevant, but different color appearances and filters such as Fusion depend on it: Fusion operates on elements below its fusor. Likewise, reordering contours may leave a static silhouette unchanged while disrupting correspondence between masters. Inspect the correct level of the hierarchy before reordering.