Using Components»
Start using Components»
To use components, first go to Preferences > Open Fonts > Composite glyphs and choose Use components. This will tell FontLab to prefer to use Components rather than Element References. If you choose Convert components to element references instead, FontLab will prefer to use Element References.
Opening fonts»
Opening FontLab files (VFC, VFJ)»
When you open a font in the .vfc
or .vfj
format, FontLab will keep your keep your Components as Components and Element References as Element References. To convert Element References to Components, follow the instructions detailed here.
The exception to this rule is Auto Layers. Since FontLab builds Auto Layers dynamically,
- if Use components is on, FontLab will use Components
- if Convert components to element references is on, FontLab will use Element References to dynamically build your Auto Layers.
Opening font formats that support components»
When you open a font in a format that supports components (.ttf
, .vfb
, .ufo
, .fog
, .glyphs
, and their derivatives such as .woff
):
- if Use components is on, FontLab will import the Components exactly as they are in the font
- if Convert components to element references is on, FontLab will convert the components to Element References
Opening font formats that don’t support components»
If you turn on Preferences > Open Fonts > Detect composites and open a font in a format that does not support components (e.g. .otf
or Type 1), FontLab will build Element References between repeating contours across the font. If Use components is on, FontLab will then convert Element References to Components (see below).
Converting Element References to Components»
To convert existing Element References to Components, select all (or some) glyphs that have Element References in the Font Window, and choose Element > Element Reference > References to Components. Repeat this for every master.
- If the font has a glyph where a referenced Element is used by itself, FontLab will use it as the source glyph for the Components, and will convert all other Element References into Components.
- If the font has is more than one glyph where a referenced Element is used by itself, FontLab will use the glyph as source where the referenced Element is unlocked and is “least transformed”, i.e. it is placed closest to the origin point (0, 0) and has no other transformations applied.
- If the font does not have a glyph that can be used as the source glyph for the Components, FontLab will keep Element References as they were.
If you’ve created “helper glyphs” that hold design parts like serifs or stems, then Element References to those glyphs will be converted to Components pointing to them.
If you use Element > Element Reference > References to Components in the Glyph window, FontLab will attempt to convert all Element References in the current layer into Components using the mechanism above.
Adding Components»
Automatically adding Components»
If Use components is on, FontLab will use Components:
- when you use Font > Generate Glyphs
- when you turn on Glyph > Auto Layer for a glyph layer or turn on the Auto layer button in the Layers & Masters panel
- when you have Preferences > Operations > New glyphs > fill created glyphs with content when available turned on and you double-click an empty glyph cell in the Font window
- when you perform Font > Detect Composites (will use them if it can)
If Convert components to element references is on, FontLab will use Element References instead (and the menu item will be Font > Detect Element References).
To replace your manually-constructed composite glyph master with an automatically generated glyph master that will use the “correct” components (if it’s in FontLab’s alias.dat
database), turn on Glyph > Auto Layer.
To correct the placement of components manually, turn Glyph > Auto Layer off.
Manually adding components»
Glyph > Add Component…»
To add a component to the current master or all masters of your current glyph, choose Glyph > Add Component… in the Glyph window (or right-click and choose it from the context menu). Or use the same command in the Font window to add the same component to multiple glyphs at once. This command will open up the Add Component dialog.
In the dialog, start typing the glyph name of the component you want to add, and you’ll see a list of results. When the Find glyph name synonyms toggle is on, FontLab will also find Decyr
if you type in uni0414
or vice-versa. By default, FontLab will insert the first glyph on the list but you can pick a different one.
At the bottom of the dialog, you can decide where to place the inserted component:
- If you leave the X and Y fields empty, FontLab will:
- use matching anchors if available (e.g.
top
in the current glyph and_top
in the component glyph) - otherwise it will center the inserted component horizontally, and will shift the component upwards by the difference of caps height and x-height if you’re adding a mark component to an uppercase letter, but will do no vertical shift if the mark’s name ends with
.case
or.cap
or if you’re adding a component that isn’t a mark - You can enter a numeric value into either X or Y or both, then FontLab will use the value for the specified coordinate, but if a field is blank, FontLab will use the above procedure for that coordinate (so you can enter
0
in Y and leave X blank, and you’ll get a horizontally centered component with no vertical shift) - You can enter an anchor name into either field — if the current glyph and the component have several matching anchors, the specified anchor will be used
- You can also mix anchor-based and absolute positioning, e.g. enter
0
into X andtop
into Y will place the component at the origin point horizontally but use the specified anchor for vertical positioning
Use the Flip horizontally and Flip vertically buttons to mirror the inserted component.
Choose whether the current glyph should keep its metrics, or whether the advance width should be replaced by the width of the inserted component.
Use the Apply to all masters toggle to insert the component into the current master or to all masters.
Copy-Paste»
In Font window, select one glyph cell and choose Edit > Copy. Then select one or more glyph cells and choose Edit > Paste Components, and FontLab will insert the copied glyph as a component into all selected glyphs in all masters.
In Font window, select more than one glyph cells and choose Edit > Copy. Then select one ore more glyph cells and choose Edit > Paste Components, and then FontLab will insert the first copied glyph as a component into the first selected glyph, the second copied glyph as a component into the second selected glyph, and so on — again, in all masters.
Working with Components»
Components in FontLab 6.1 are special Filter Elements. So you can use the Element tool to move components (but you can also use the Contour tool). You can use most of the Element menu and the Elements panel to work with the Components. For example:
- To switch between Components in the current glyph, use the
<
and>
keys. - To open the Component’s source glyph for editing next to your current glyph, double-click a Component, or when a Component is active, press CtrlE, or right-click and choose Edit Element, or choose Element > Element Reference > Edit Element.
- To make a Component “first”, choose Element > Arrange > Send to Back or drag the Component to the bottom of the components list in the Elements panel.
- To align components and other elements within the glyph layer, use the Element > Align menu items.
- To always move several components in a glyph together, use==Element > Group==. And Ungroup them if you don’t.
Replacing a Component»
When you use the Contour or the Element tool and a Component is active, the Glyph window property bar will show an underlined C: icon, and a text field that shows the name of the component’s source glyph.
Type a different glyph name (or a synonym) into the text field, or click the C: icon and type it in the Replace Component dialog, and press Enter — and the current component will be replaced in the current master with a component that points to a different glyph.
You can also replace a component in the current master by typing a new glyph name in the Glyph name field of the Elements panel (use the Show element properties to show the field).
To replace a component in all layers, you need to perform the replacement in each layer.
Decomposing»
When a Component is active in the Glyph window, you can click the Decompose button in the Glyph window property bar on in the Elements panel, and the component will be decomposed in the current layer, i.e. its contours and guidelines will be inserted into the current glyph.
To Decompose all components in the current layer, choose Glyph > Decompose or right-click in the Glyph window and choose Decompose from the context menu. However, if you’re in the Element tool and you Shift-click one or more Components, Glyph > Decompose and Decompose context menu item will decompose only the selected component(s).
When decomposing Components, FontLab will combine the contours of the decomposed Components and contours that pre-existed in the glyph into one single element — unless the source glyphs used different strokes or color fills.
Note:
- Element > Expand Filters will decompose a Component and remove any other Filters that exist in the source glyphs (for example Power Brush)
- Glyph > Flatten Glyph will decompose, remove filters and combine the decomposed elements into a single Element if possible
- Element > Separate Contours to Elements and Element > Optically Separate will also decompose, and then perform the separation
Converting Component to Element Reference»
Use Element > Element Reference > Component to Reference to convert a Component to an Element Reference. This is useful, for example, if you wish to apply some filters or change the fill color.
When you delete a glyph that is used as a source of Components in other glyphs, FontLab will convert the affected Components into Element References.